diff --git a/actions/all.php b/actions/all.php index 949c722750..92ae385ca7 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 fff6e3bd9a..f1f4844d19 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 8e0b2bc6b1..158e34f9d0 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 e8a7ac6aed..03096260bc 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