This Help Desk does not work properly...when a customer asks something to a seller and after that he goes to the HelpDesk tab he does not see his post, and the other problem is that all vendors who has threads are able to see threads of other users...
these problems are due to the store procedure CAT_ThreadGetAll...I changed the following code
DECLARE @sql nvarchar(2000)SELECT @sql = 'INSERT INTO #PageIndex (ThreadID) SELECT CAT_Threads.ThreadID' + ' FROM CAT_Threads, CAT_Posts (nolock)' + ' WHERE (CAT_Posts.PostID = CAT_Threads.LastPostedPostID)' + ' AND (CAT_Threads.PortalID = ' + CONVERT(varchar, @PortalID) + ')' + ' AND ((CAT_Threads.CategoryID = ' + CONVERT(varchar, @CategoryID) + ') OR (' + CONVERT(varchar, @CategoryID) + '= -1))' + ' AND ((CAT_Threads.NotifiedUserID = ' + CONVERT(varchar, @NotifiedUserID) + ') OR (' + CONVERT(varchar, @NotifiedUserID) + '= -1))' + ' AND ((CAT_Threads.NotifiedUserID = ' + CONVERT(varchar, @CurrentUserID) + ') OR (' + CONVERT(varchar, @CurrentUserID) + ' in (select CreatedByUser from CAT_Threads inner join CAT_Products on CAT_Threads.CategoryID = CAT_Products.ProductID)) OR (' + CONVERT(varchar, @CurrentUserID) + '= -1)) ' + @Filter +' ORDER BY ' + @Sort
by this
DECLARE @sql nvarchar(2000)SELECT @sql = 'INSERT INTO #PageIndex (ThreadID) SELECT CAT_Threads.ThreadID' + ' FROM CAT_Threads, CAT_Posts (nolock)' + ' WHERE (CAT_Posts.PostID = CAT_Threads.LastPostedPostID)' + ' AND (CAT_Threads.PortalID = ' + CONVERT(varchar, @PortalID) + ')' + ' AND ((CAT_Threads.CategoryID = ' + CONVERT(varchar, @CategoryID) + ') OR (' + CONVERT(varchar, @CategoryID) + '= -1))' + ' AND ((CAT_Threads.NotifiedUserID = ' + CONVERT(varchar, @NotifiedUserID) + ') OR (' + CONVERT(varchar, @NotifiedUserID) + '= -1))' + ' AND ((CAT_Threads.NotifiedUserID = ' + CONVERT(varchar, @CurrentUserID) + ') OR ' + '(EXISTS (SELECT * FROM CAT_Products WHERE ProductID = CAT_Threads.CategoryID AND CreatedByUser = ' + CONVERT(varchar, @CurrentUserID) + ')) OR ' + '(EXISTS (SELECT * FROM CAT_Posts WHERE ThreadID = CAT_Threads.ThreadID AND CreatedByUser = ' + CONVERT(varchar, @CurrentUserID) + ')) OR ' + '(' + CONVERT(varchar, @CurrentUserID) + '= -1)) ' + @Filter + ' ORDER BY ' + @Sort
Also, you must change the store procedure named CAT_ThreadGetCount..i changed the DECLARE section by this
DECLARE