Add new setting to disable posting of notification messages to file rooms.
[citadel.git] / citadel / modules / ctdlproto / serv_file.c
index 15e43b46d1c0659b4c70b919fd7d8888c49d3189..8a3bd5c823e84c89afd0d14ec6c204dab0e915ce 100644 (file)
@@ -1,5 +1,15 @@
 /* 
  * Server functions which handle file transfers and room directories.
+ *
+ * Copyright (c) 1987-2015 by the citadel.org team
+ *
+ * This program is open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
  */
 
 #include <stdio.h>
@@ -9,8 +19,10 @@
 #include "ctdl_module.h"
 #include "citserver.h"
 #include "support.h"
+#include "config.h"
 #include "user_ops.h"
 
+
 /*
  * Server command to delete a file from a room's directory
  */
@@ -545,14 +557,16 @@ void cmd_ucls(char *cmd)
                        fclose(fp);
                }
 
-               /* put together an upload notice */
-               snprintf(upload_notice, sizeof upload_notice,
-                       "NEW UPLOAD: '%s'\n %s\n%s\n",
-                        CC->upl_file, 
-                        CC->upl_comment, 
-                        CC->upl_mimetype);
-               quickie_message(CC->curr_user, NULL, NULL, CC->room.QRname,
-                               upload_notice, 0, NULL);
+               if ((CC->room.QRflags2 & QR2_NOUPLMSG) == 0) {
+                       /* put together an upload notice */
+                       snprintf(upload_notice, sizeof upload_notice,
+                                "NEW UPLOAD: '%s'\n %s\n%s\n",
+                                CC->upl_file, 
+                                CC->upl_comment, 
+                                CC->upl_mimetype);
+                       quickie_message(CC->curr_user, NULL, NULL, CC->room.QRname,
+                                       upload_notice, 0, NULL);
+               }
        } else {
                abort_upl(CC);
                cprintf("%d File '%s' aborted.\n", CIT_OK, CC->upl_path);
@@ -787,16 +801,15 @@ void do_help_subst(char *buffer)
 {
        char buf2[16];
 
-       help_subst(buffer, "^nodename", config.c_nodename);
-       help_subst(buffer, "^humannode", config.c_humannode);
-       help_subst(buffer, "^fqdn", config.c_fqdn);
+       help_subst(buffer, "^nodename", CtdlGetConfigStr("c_nodename"));
+       help_subst(buffer, "^humannode", CtdlGetConfigStr("c_humannode"));
+       help_subst(buffer, "^fqdn", CtdlGetConfigStr("c_fqdn"));
        help_subst(buffer, "^username", CC->user.fullname);
        snprintf(buf2, sizeof buf2, "%ld", CC->user.usernum);
        help_subst(buffer, "^usernum", buf2);
-       help_subst(buffer, "^sysadm", config.c_sysadm);
+       help_subst(buffer, "^sysadm", CtdlGetConfigStr("c_sysadm"));
        help_subst(buffer, "^variantname", CITADEL);
-       snprintf(buf2, sizeof buf2, "%d", config.c_maxsessions);
-       help_subst(buffer, "^maxsessions", buf2);
+       help_subst(buffer, "^maxsessions", CtdlGetConfigStr("c_maxsessions"));          // yes it's numeric but str is ok here
        help_subst(buffer, "^bbsdir", ctdl_message_dir);
 }