From 9a3964670ff9c677f1bff0b7a96a8f852df6ebbb Mon Sep 17 00:00:00 2001
From: Peter Rotich <peter@osticket.com>
Date: Fri, 7 Dec 2012 16:44:19 -0500
Subject: [PATCH] Allow duplicate help topic names - if not on the same nested
 level

---
 include/class.topic.php | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/include/class.topic.php b/include/class.topic.php
index 900ff7616..ee579e45b 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -165,10 +165,13 @@ class Topic {
         return self::getHelpTopics(true);
     }
 
-    function getIdByName($topic) {
-        $sql='SELECT topic_id FROM '.TOPIC_TABLE.' WHERE topic='.db_input($topic);
+    function getIdByName($name, $pid=0) {
+
+        $sql='SELECT topic_id FROM '.TOPIC_TABLE
+            .' WHERE topic='.db_input($name)
+            .' AND topic_pid='.db_input($pid);
         if(($res=db_query($sql)) && db_num_rows($res))
-            list($id)=db_fetch_row($res);
+            list($id) = db_fetch_row($res);
 
         return $id;
     }
@@ -188,7 +191,7 @@ class Topic {
             $errors['topic']='Help topic required';
         elseif(strlen($vars['topic'])<5)
             $errors['topic']='Topic is too short. 5 chars minimum';
-        elseif(($tid=self::getIdByName($vars['topic'])) && $tid!=$id)
+        elseif(($tid=self::getIdByName($vars['topic'], $vars['pid'])) && $tid!=$id)
             $errors['topic']='Topic already exists';
 
         if(!$vars['dept_id'])
-- 
GitLab