From 7dfb1fba5001299300736e6b5d95d9400575e3e7 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 18 Sep 2008 14:59:02 -0400
Subject: [PATCH] Set the right number of arguments for setcookie()

---
 program/steps/mail/mark.inc |   41 ++++++++++++++++++++++++++---------------
 1 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/program/steps/mail/mark.inc b/program/steps/mail/mark.inc
index 2dadb53..ce4249d 100644
--- a/program/steps/mail/mark.inc
+++ b/program/steps/mail/mark.inc
@@ -1,12 +1,11 @@
 <?php
-
 /*
  +-----------------------------------------------------------------------+
  | program/steps/mail/mark.inc                                           |
  |                                                                       |
  | This file is part of the RoundCube Webmail client                     |
- | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
- | All rights reserved.                                                  |
+ | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland                 |
+ | Licensed under the GNU GPL                                            |
  |                                                                       |
  | PURPOSE:                                                              |
  |   Mark the submitted messages with the specified flag                 |
@@ -19,23 +18,35 @@
 
 */
 
-$REMOTE_REQUEST = TRUE;
+$a_flags_map = array(
+  'undelete' => 'UNDELETED',
+  'delete' => 'DELETED',
+  'read' => 'SEEN',
+  'unread' => 'UNSEEN',
+  'flagged' => 'FLAGGED',
+  'unflagged' => 'UNFLAGGED');
 
-$a_flags_map = array('read' => 'SEEN',
-                     'unread' => 'UNSEEN');
+if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_value('_flag', RCUBE_INPUT_POST)))
+{
+  $flag = $a_flags_map[$flag] ? $a_flags_map[$flag] : strtoupper($flag);
+  $marked = $IMAP->set_flag($uids, $flag);
 
-if ($_GET['_uid'] && $_GET['_flag'])
-  {
-  $flag = $a_flags_map[$_GET['_flag']] ? $a_flags_map[$_GET['_flag']] : strtoupper($_GET['_flag']);
-  $marked = $IMAP->set_flag($_GET['_uid'], $flag);
-  
-  if ($marked)
+  if($flag == 'DELETED' && $CONFIG['read_when_deleted'] && !empty($_POST['_ruid']))
     {
-    $mbox = $IMAP->get_mailbox_name();
-    $commands = sprintf("this.set_unread_count('%s', %d);\n", $mbox, $IMAP->messagecount($mbox, 'UNSEEN'));
-    rcube_remote_response($commands);
+    $uids = get_input_value('_ruid', RCUBE_INPUT_POST);
+    $read = $IMAP->set_flag($uids, 'SEEN');
+    
+    if ($read != -1)
+      $OUTPUT->command('flag_deleted_as_read', $uids);
     }
+
+  if ($marked != -1)
+  {
+    $mbox_name = $IMAP->get_mailbox_name();
+    $OUTPUT->command('set_unread_count', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN'), ($mbox_name == 'INBOX'));
+    $OUTPUT->send();
   }
+}
   
 exit;
 ?>
\ No newline at end of file

--
Gitblit v1.9.1