From 73921da0f34dafd0ba5cc31b298307360f7d18c9 Mon Sep 17 00:00:00 2001
From: Evan Prodromou <evan@controlezvous.ca>
Date: Sun, 22 Jun 2008 10:56:44 -0400
Subject: [PATCH] add a method to update key fields in User

darcs-hash:20080622145644-34904-92549d9bb68251214c4dc370f6e2a56f516ceecb.gz
---
 classes/User.php | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/classes/User.php b/classes/User.php
index d750c78472..e8281a7231 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -61,4 +61,23 @@ class User extends DB_DataObject
 		$sub->subscribed = $other->id;
 		return $sub->find();
 	}
+
+	# 'update' won't write key columns, so we have to do it ourselves.
+	
+	function updateKeys(&$orig) {
+		$parts = array();
+		foreach (array('nickname', 'email') as $k) {
+			if ($this->$k != $orig->$k) {
+				$parts[] = $k . '="' . $this->$k . '"';
+			}
+		}
+		if (count($parts) == 0) {
+			# No changes
+			return;
+		}
+		$toupdate = implode(', ', $parts);
+		$qry = 'UPDATE ' . $this->tableName() . ' SET ' . $toupdate . 
+		  ' WHERE id = ' . $this->id;
+		return $this->query($qry);
+	}
 }
-- 
2.39.5