--conf option for specifying a different LocalSettings.php. This allows multiple...
[lhc/web/wiklou.git] / maintenance / userFunctions.inc
index 8e43a6d..6f6a548 100644 (file)
@@ -33,6 +33,21 @@ function GetUsers() {
        return( $users );
 }
 
+# Resolve a username to a user ID
+function GetUserID( $username ) {
+       $dbr =& wfGetDB( DB_SLAVE );
+       $sql = 'SELECT user_id FROM ' . $dbr->tableName( 'user' ) . ' WHERE user_name = "' . $username . '"';
+       $res = $dbr->query( $sql );
+       if( $res !== false ) {
+               while( $row = $dbr->fetchObject( $res ) ) {
+                       $ret = $row->user_id;
+               }
+       } else {
+               $ret = false;
+       }
+       return( $ret );
+}
+
 # Delete one or more users
 function DeleteUsers( $users ) {
        # Need a master, obviously
@@ -46,4 +61,22 @@ function DeleteUsers( $users ) {
        $dbw->commit();
 }
 
+/**
+ * Add a user to the named group(s)
+ *
+ * @param integer $user User ID
+ * @param mixed $groups Single string or array of strings corresponding to group names
+ * @return bool
+ */
+function SetUserGroups( $user, $groups ) {
+       $dbw =& wfGetDB( DB_MASTER );
+       foreach( $groups as $group ) {
+               $row = array( 'ug_user' => $user, 'ug_group' => $group );
+               if( !$dbw->insert( 'user_groups', $row, 'SetUserGroups' ) ) {
+                       return( false );
+               }
+       }
+       return( true );
+}
+
 ?>
\ No newline at end of file