) where
import Dbconnect
+import Data.Char
class WB a where
--Keyword -> (Full text,date)
get :: a -> String -> String -> IO String
--Keyword -> id -> ()
- setCurrent :: a -> String -> String -> IO ()
+ setCurrent :: a -> String -> String -> IO Int
--Keyword -> Full text -> id
addNew :: a -> String -> String -> IO String
instance WB PGB where
getCurrent (PGB db) key = do
- [[text,date]] <- selectReturnTuples db $ "SELECT fulltext,timestamp FROM curtexts where keyword='"++key++"'"
+ [[text,date]] <- selectReturnTuples db $ "SELECT fulltext,timestamp FROM curtexts where keyword='"++(escapeQuery key)++"'"
return (text,date)
getList (PGB db) key = do
- list <- selectReturnTuples db $ "SELECT id, timestamp, author, comment from fulltexts where keyword = '"++key++"'"
+ list <- selectReturnTuples db $ "SELECT id, timestamp, author, comment from fulltexts where keyword = '"++(escapeQuery key)++"'"
return $ map (\[id,date,author,comment] -> (id,date,author,comment)) list
get (PGB db) key id = return ""
- setCurrent (PGB db) key id = return ()
+ setCurrent (PGB db) key id =
+ execute db $ "UPDATE current SET id = '"++(escapeQuery id)++"' where keyword = '"++(escapeQuery key)++"'"
addNew (PGB db) key text = return ""