summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-05-17 21:55:51 -0400
committerEvan Prodromou <evan@prodromou.name>2008-05-17 21:55:51 -0400
commit793d48dc9e1d73d871bf34d9f7c1da8916134d1b (patch)
treeeca9b97ed3da44402029f6509be9df539524ad73
parent81e037558f784d3784f61ef2dd9d17acc79255ec (diff)
smaller packet
darcs-hash:20080518015551-84dde-65964e140ed0b6c23aeee368fcffccdc14d71c61.gz
-rw-r--r--actions/all.php2
-rw-r--r--actions/profilesettings.php29
-rw-r--r--actions/subscribed.php6
-rw-r--r--lib/common.php12
4 files changed, 29 insertions, 20 deletions
diff --git a/actions/all.php b/actions/all.php
index 949c72275..92ae385ca 100644
--- a/actions/all.php
+++ b/actions/all.php
@@ -31,7 +31,7 @@ class AllAction extends ShowstreamAction {
# XXX: chokety and bad
- $notice->whereAdd('EXISTS (SELECT subscribed from subscription where subscriber = '.$profile->id.')', 'OR');
+ $notice->whereAdd('EXISTS (SELECT subscribed from subscription where subscriber = '.$profile->id.' and subscribed = notice.profile_id)', 'OR');
$notice->whereAdd('profile_id = ' . $profile->id, 'OR');
$notice->orderBy('created DESC');
diff --git a/actions/profilesettings.php b/actions/profilesettings.php
index fff6e3bd9..f1f4844d1 100644
--- a/actions/profilesettings.php
+++ b/actions/profilesettings.php
@@ -24,6 +24,8 @@ require_once(INSTALLDIR.'/lib/settingsaction.php');
class ProfilesettingsAction extends SettingsAction {
function show_form($msg=NULL, $success=false) {
+ $user = common_current_user();
+ $profile = $user->getProfile();
common_show_header(_t('Profile settings'));
$this->settings_menu();
$this->message($msg, $success);
@@ -31,20 +33,23 @@ class ProfilesettingsAction extends SettingsAction {
'id' => 'profilesettings',
'action' =>
common_local_url('profilesettings')));
- common_input('nickname', _t('Nickname'));
- common_input('fullname', _t('Full name'));
- common_input('email', _t('Email address'));
- common_input('homepage', _t('Homepage'));
- common_input('bio', _t('Bio'));
- common_input('location', _t('Location'));
+ # too much common patterns here... abstractable?
+ common_input('nickname', _t('Nickname'),
+ ($this->arg('nickname')) ? $this->arg('nickname') : $profile->nickname);
+ common_input('fullname', _t('Full name'),
+ ($this->arg('fullname')) ? $this->arg('fullname') : $profile->fullname);
+ common_input('email', _t('Email address'),
+ ($this->arg('email')) ? $this->arg('email') : $user->email);
+ common_input('homepage', _t('Homepage'),
+ ($this->arg('homepage')) ? $this->arg('homepage') : $profile->homepage);
+ common_input('bio', _t('Bio'),
+ ($this->arg('bio')) ? $this->arg('bio') : $profile->bio);
+ common_input('location', _t('Location'),
+ ($this->arg('location')) ? $this->arg('location') : $profile->location);
common_element('input', array('name' => 'submit',
'type' => 'submit',
- 'id' => 'submit'),
- _t('Login'));
- common_element('input', array('name' => 'cancel',
- 'type' => 'button',
- 'id' => 'cancel'),
- _t('Cancel'));
+ 'id' => 'submit',
+ 'value' => _t('Save')));
common_element_end('form');
common_show_footer();
}
diff --git a/actions/subscribed.php b/actions/subscribed.php
index 8e0b2bc6b..158e34f9d 100644
--- a/actions/subscribed.php
+++ b/actions/subscribed.php
@@ -41,12 +41,12 @@ class SubscribedAction extends Action {
function show_subscribed($profile, $page) {
- $sub = DB_DataObject::factory('subscriptions');
- $sub->subscribed = $profile->id;
+ $subs = DB_DataObject::factory('subscription');
+ $subs->subscribed = $profile->id;
# We ask for an extra one to know if we need to do another page
- $sub->limit((($page-1)*SUBSCRIPTIONS_PER_PAGE)+1, SUBSCRIPTIONS_PER_PAGE + 1);
+ $subs->limit((($page-1)*SUBSCRIPTIONS_PER_PAGE)+1, SUBSCRIPTIONS_PER_PAGE + 1);
$subs_count = $subs->find();
diff --git a/lib/common.php b/lib/common.php
index e8a7ac6ae..03096260b 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -168,11 +168,15 @@ function common_menu_item($url, $text, $title=NULL) {
common_element_end('li');
}
-function common_input($id, $label) {
+function common_input($id, $label, $value=NULL) {
common_element('label', array('for' => $id), $label);
- common_element('input', array('name' => $id,
- 'type' => 'text',
- 'id' => $id));
+ $attrs = array('name' => $id,
+ 'type' => 'text',
+ 'id' => $id);
+ if ($value) {
+ $attrs['value'] = htmlspecialchars($value);
+ }
+ common_element('input', $attrs);
}
# salted, hashed passwords are stored in the DB