* @category Plugin
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
- * @author Craig Andrews <candrews@integralblue.com>
+ * @author Craig Andrews <candrews@integralblue.com>
* @copyright 2009-2010 StatusNet, Inc.
* @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
require_once dirname(__FILE__) . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;
case 'User_openid':
- require_once dirname(__FILE__) . '/User_openid.php';
- return false;
+ case 'User_openid_prefs':
case 'User_openid_trustroot':
- require_once dirname(__FILE__) . '/User_openid_trustroot.php';
+ require_once dirname(__FILE__) . '/' . $cls . '.php';
return false;
case 'Auth_OpenID_TeamsExtension':
case 'Auth_OpenID_TeamsRequest':
*
* @return boolean hook value
*/
- function onEndLoadDoc($title, &$output)
- {
- if ($title == 'help') {
- // TRANS: Item on help page. This message contains Markdown links in the form [description](link).
- $menuitem = _m('* [OpenID](%%doc.openid%%) - What OpenID is and how to use it with this service.');
-
- $output .= common_markup_to_html($menuitem);
- }
-
+ function onEndDocsMenu(&$items) {
+ $items[] = array('doc',
+ array('title' => 'openid'),
+ _m('MENU', 'OpenID'),
+ _('Logging in with OpenID'),
+ 'nav_doc_openid');
return true;
}
null, false),
new ColumnDef('modified', 'timestamp')));
+ $schema->ensureTable('user_openid_prefs', User_openid_prefs::schemaDef());
+
/* These are used by JanRain OpenID library */
$schema->ensureTable('oid_associations',
return true;
}
+
+ /**
+ * Add links in the user's profile block to their OpenID URLs.
+ *
+ * @param Profile $profile The profile being shown
+ * @param Array &$links Writeable array of arrays (href, text, image).
+ *
+ * @return boolean hook value (true)
+ */
+
+ function onOtherAccountProfiles($profile, &$links)
+ {
+ $prefs = User_openid_prefs::staticGet('user_id', $profile->id);
+
+ if (empty($prefs) || !$prefs->hide_profile_link) {
+
+ $oid = new User_openid();
+
+ $oid->user_id = $profile->id;
+
+ if ($oid->find()) {
+ while ($oid->fetch()) {
+ $links[] = array('href' => $oid->display,
+ 'text' => _('OpenID'),
+ 'image' => $this->path("icons/openid-16x16.gif"));
+ }
+ }
+ }
+
+ return true;
+ }
}