]> git.mjollnir.org Git - moodle.git/commitdiff
Added vetting of conversationid; fixed bug 2194 (Problems with
authorrkingdon <rkingdon>
Sun, 21 Nov 2004 04:01:10 +0000 (04:01 +0000)
committerrkingdon <rkingdon>
Sun, 21 Nov 2004 04:01:10 +0000 (04:01 +0000)
backup/restore); Tidied Postgres table.

mod/dialogue/backuplib.php
mod/dialogue/db/postgres7.sql
mod/dialogue/dialogues.php
mod/dialogue/restorelib.php

index 40bdbf813688e20cf51ac48557c3f39da763ddc4..1ad94113a3acc620376636b089c1f3a052a3ced1 100644 (file)
                 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
index f39673d57a575a32ca8a0f2a038584a3864dc955..6ea981eee210ff817306d59f5fa40f47530ef1d9 100644 (file)
@@ -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');
+
index 48f58562a0bf1a69c9fffa6ea7ec41fd7b992f37..9bba7443bfd1f8c42f072a40c71ddb48e235b12d 100644 (file)
 
 
     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'])) {
index c5249a5b95efd857aaf7492aaeafc4d16229af7b..b5e6f124601ada8c442fd69bff0124d9a351d61d 100644 (file)
                 $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']['#']);