array( 'provider_name' => array('type' => 'varchar', 'length' => 191, 'description' => 'provider name'), 'username' => array('type' => 'varchar', 'length' => 191, 'description' => 'username'), 'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'notice id this title relates to'), 'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'), 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'), ), 'primary key' => array('provider_name', 'username'), 'indexes' => array( 'user_id_idx' => array('user_id') ), 'foreign keys' => array( 'user_username_user_id_fkey' => array('user', array('user_id' => 'id')), ), ); } /** * Register a user with a username on a given provider * @param User User object * @param string username on the given provider * @param provider_name string name of the provider * @return mixed User_username instance if the registration succeeded, false if it did not */ static function register($user, $username, $provider_name) { $user_username = new User_username(); $user_username->user_id = $user->id; $user_username->provider_name = $provider_name; $user_username->username = $username; $user_username->created = common_sql_now(); if($user_username->insert()){ return $user_username; }else{ return false; } } }