changed Makefile; build all commands as an own file
[NeonServV5.git] / cmd_neonserv_topic.c
index c530de40cd1a3227ade1f16220637bd40387b153..2673f15bdbe3b97c4f3936ada40f37c29adbd41a 100644 (file)
@@ -1,4 +1,6 @@
 
+#include "cmd_neonserv.h"
+
 /*
 * ADVANCEDTOPIC enabled
 * argv[0]    topic id
@@ -10,7 +12,7 @@
 
 #define ADVANCEDTOPIC_MAXID 9
 
-static CMD_BIND(neonserv_cmd_topic) {
+CMD_BIND(neonserv_cmd_topic) {
     MYSQL_RES *res;
     MYSQL_ROW row, default_row = NULL;
     int advanced_topic, i;
@@ -33,9 +35,10 @@ static CMD_BIND(neonserv_cmd_topic) {
         //default topic!
         putsock(client, "TOPIC %s :%s", chan->name, row[5]);
         reply(getTextBot(), user, "NS_TOPIC_DONE", row[5]);
+        logEvent(event);
         return;
     }
-    int uaccess = getChannelAccess(user, chan, 1);
+    int uaccess = getChannelAccess(user, chan, 0);
     if(uaccess >= atoi((row[3] ? row[3] : default_row[1]))) {
         //just set the topic
         newtopic = merge_argv(argv, 0, argc);
@@ -45,6 +48,7 @@ static CMD_BIND(neonserv_cmd_topic) {
         }
         putsock(client, "TOPIC %s :%s", chan->name, newtopic);
         reply(getTextBot(), user, "NS_TOPIC_DONE", newtopic);
+        logEvent(event);
         return;
     }
     if(advanced_topic) {
@@ -73,6 +77,8 @@ static CMD_BIND(neonserv_cmd_topic) {
             return;
         }
         newtopic = merge_argv(argv, 1, argc);
+        if(!strcmp(newtopic, "*")) 
+            newtopic = "";
         advtopics[topic_id-1] = newtopic;
         char topiclist[MAXLEN*2];
         topiclist[0] = '\0';
@@ -100,6 +106,7 @@ static CMD_BIND(neonserv_cmd_topic) {
             topiclist[MAXLEN] = '\0';
         putsock(client, "TOPIC %s :%s", chan->name, topiclist);
         reply(getTextBot(), user, "NS_TOPIC_DONE", topiclist);
+        logEvent(event);
     } else {
         newtopic = merge_argv(argv, 0, argc);
         char topiclist[MAXLEN*2];
@@ -116,6 +123,7 @@ static CMD_BIND(neonserv_cmd_topic) {
             topiclist[MAXLEN] = '\0';
         putsock(client, "TOPIC %s :%s", chan->name, topiclist);
         reply(getTextBot(), user, "NS_TOPIC_DONE", topiclist);
+        logEvent(event);
     }
 }