* @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':
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;
+ }
}