+ $design = $this->user->getDesign();
+
+ // XXX: This is kinda gross, but before we can add a background
+ // img we have to make sure there's a Design because design ID
+ // is part of the img filename.
+
+ if (empty($design)) {
+
+ $this->user->query('BEGIN');
+
+ // save new design
+ $design = new Design();
+ $id = $design->insert();
+
+ if (empty($id)) {
+ common_log_db_error($id, 'INSERT', __FILE__);
+ $this->clientError(_('Unable to save your design settings.'));
+ return;
+ }
+
+ $original = clone($this->user);
+ $this->user->design_id = $id;
+ $result = $this->user->update($original);
+
+ if (empty($result)) {
+ common_log_db_error($original, 'UPDATE', __FILE__);
+ $this->clientError(_('Unable to save your design settings.'));
+ $this->user->query('ROLLBACK');
+ return;
+ }
+
+ $this->user->query('COMMIT');
+ }
+
+ // Okay, now get the image and add it to the design
+