* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
-class Registration_ip extends Memcached_DataObject
+class Registration_ip extends Managed_DataObject
{
public $__table = 'registration_ip'; // table name
public $user_id; // int(4) primary_key not_null
public $ipaddress; // varchar(15)
public $created; // timestamp
- /**
- * Get an instance by key
- *
- * @param string $k Key to use to lookup (usually 'user_id' for this class)
- * @param mixed $v Value to lookup
- *
- * @return User_greeting_count object found, or null for no hits
- *
- */
-
- function staticGet($k, $v=null)
- {
- return Memcached_DataObject::staticGet('Registration_ip', $k, $v);
- }
-
/**
* return table definition for DB_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
*
* @return array key definitions
*/
-
function keys()
{
return array('user_id' => 'K');
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
}
+
+ /**
+ * Get the users who've registered with this ip address.
+ *
+ * @param Array $ipaddress IP address to check for
+ *
+ * @return Array IDs of users who registered with this address.
+ */
+ static function usersByIP($ipaddress)
+ {
+ $ids = array();
+
+ $ri = new Registration_ip();
+ $ri->ipaddress = $ipaddress;
+
+ if ($ri->find()) {
+ while ($ri->fetch()) {
+ $ids[] = $ri->user_id;
+ }
+ }
+
+ return $ids;
+ }
}