Permalink
Browse files

Added vetting of conversationid; fixed bug 2194 (Problems with

backup/restore); Tidied Postgres table.
  • Loading branch information...
1 parent 3c7e1b6 commit 7decbe4b120be99de6002e9160c316c09afc7ec7 rkingdon committed Nov 21, 2004
Showing with 20 additions and 7 deletions.
  1. +5 −4 mod/dialogue/backuplib.php
  2. +2 −1 mod/dialogue/db/postgres7.sql
  3. +12 −1 mod/dialogue/dialogues.php
  4. +1 −1 mod/dialogue/restorelib.php
@@ -87,12 +87,13 @@ function backup_dialogue_conversations ($bf,$preferences,$dialogue) {
fwrite ($bf,full_tag("CTYPE",6,false,$conversation->ctype));
fwrite ($bf,full_tag("FORMAT",6,false,$conversation->format));
fwrite ($bf,full_tag("SUBJECT",6,false,$conversation->subject));
+
+ //if we've selected to backup users info, then execute backup_dialogue_entries
+ if ($preferences->mods["dialogue"]->userinfo) {
+ $status = backup_dialogue_entries($bf,$preferences,$conversation->id);
+ }
//End entry
$status =fwrite ($bf,end_tag("CONVERSATION",5,true));
- }
- //if we've selected to backup users info, then execute backup_dialogue_entries
- if ($preferences->mods["dialogue"]->userinfo) {
- $status = backup_dialogue_entries($bf,$preferences,$conversation->id);
}
//Write end tag
@@ -28,7 +28,7 @@ CREATE TABLE prefix_dialogue (
multipleconversations INT NOT NULL default '0',
maildefault INT NOT NULL default '0',
timemodified INT8 NOT NULL default '0',
- name varchar(255) default NULL,
+ name varchar(255) NOT NULL default '',
intro text
) ;
@@ -81,3 +81,4 @@ CREATE INDEX prefix_dialogue_entries_userid_idx ON prefix_dialogue_entries (user
#
INSERT INTO prefix_log_display VALUES ('dialogue', 'view', 'dialogue', 'name');
+
View
@@ -48,7 +48,18 @@
require_variable($action); // need something to do!
-
+
+ // vet conversation id, if present
+ if (!empty($_REQUEST['cid'])) {
+ if ($conversation = get_record("dialogue_conversations", "id", $_REQUEST['cid'])) {
+ if (($conversation->userid <> $USER->id) and ($conversation->recipientid <> $USER->id)) {
+ error("Dialogue id incorrect");
+ }
+ } else {
+ error("Dialogue: Conversation record not found");
+ }
+ }
+
/************** close conversation ************************************/
if ($action == 'closeconversation') {
if (empty($_GET['cid'])) {
@@ -182,7 +182,7 @@ function dialogue_entries_restore($new_dialogue_id, $new_conversation_id,$info,$
$olduserid = backup_todb($entry_info['#']['USERID']['0']['#']);
//Now, build the dialogue_ENTRIES record structure
- $entry->dialogue = $new_dialogue_id;
+ $entry->dialogueid = $new_dialogue_id;
$entry->conversationid = $new_conversation_id;
$entry->userid = backup_todb($entry_info['#']['USERID']['0']['#']);
$entry->timecreated = backup_todb($entry_info['#']['TIMECREATED']['0']['#']);

0 comments on commit 7decbe4

Please sign in to comment.