/* $VER: 1.2, ©1999 Dietmar Eilert */ options results /* enable return codes */ arg mode if (left(address(), 6) ~= "GOLDED") then /* not started by GoldEd ? */ address 'GOLDED.1' 'LOCK CURRENT RELEASE=4' /* lock GUI, gain access */ if (RC ~= 0) then exit options failat 6 /* ignore warnings */ signal on syntax /* ensure clean exit */ /* ------------------------ INSERT YOUR CODE HERE: ------------------- */ 'QUERY CAT' if (RESULT = "deutsch") then do STRING.sADDNAME = "In Adressbuch aufnehmen: Eintrag" STRING.sADDURL = "In Adressbuch aufnehmen: URL" STRING.sUNNAMED = "Ohne Name" STRING.sEMPTY = "Addressbuch ist leer" STRING.sMISSING = "Addressdatei nicht gefunden" end else do STRING.sADDNAME = "Add to bookmark list: entry name" STRING.sADDURL = "Add to bookmark list: URL" STRING.sUNNAMED = "Unnamed" STRING.sEMPTY = "Bookmark is empty" STRING.sMISSING = "Bookmark file not found" end if (mode = "ADD") then do 'QUERY BLOCK' if (RESULT = 0) then do NEWURL="http://" end else do 'FIND BLOCK' 'QUERY FIND VAR=NEWURL' end 'FIX VAR=NEWURL' 'REQUEST STRING TITLE="' || STRING.sADDNAME || '" VAR=NEWNAME OLD="' || STRING.sUNNAMED || '"' call loadbookmarks /* add bookmark to bookmarks, save bookmark file */ if ((RC = 0) & (NEWNAME ~= "")) then do 'REQUEST STRING TITLE="' || STRING.sADDURL || '" OLD="' || NEWURL || '" VAR=NEWURL' if (RC = 0) then do ENTRIES = ENTRIES + 1 BOOKMARK.ENTRIES.ENTRY_NAME = NEWNAME BOOKMARK.ENTRIES.ENTRY_URL = NEWURL call savebookmarks end end end else if (mode = "DEL") then do call loadbookmarks if (ENTRIES = 0) then 'REQUEST PROBLEM="' || STRING.sEMPTY || '"' else do /* show list of available bookmarks */ COMMAND /* remove bookmark from bookmarks, save bookmark file */ if (RC = 0) then do SELECTION = RESULT do ENTRY = 1 to ENTRIES if (BOOKMARK.ENTRY.ENTRY_NAME = SELECTION) then do BOOKMARK.ENTRY.ENTRY_NAME = BOOKMARK.ENTRIES.ENTRY_NAME BOOKMARK.ENTRY.ENTRY_URL = BOOKMARK.ENTRIES.ENTRY_URL ENTRIES = ENTRIES - 1 end end call savebookmarks end end end else do call loadbookmarks if (ENTRIES = 0) then 'REQUEST PROBLEM="' || STRING.sEMPTY || '"' else do /* show list of available bookmarks */ COMMAND /* insert URL of selected bookmark into text */ if (RC = 0) then do SELECTION = RESULT do ENTRY = 1 to ENTRIES if (BOOKMARK.ENTRY.ENTRY_NAME = SELECTION) then do ADDRESS = BOOKMARK.ENTRY.ENTRY_URL 'FIX VAR=ADDRESS' 'TEXT T="' || ADDRESS || '"' end end end end end /* ---------------------------- END OF YOUR CODE --------------------- */ 'UNLOCK' /* VERY important: unlock GUI */ exit SYNTAX: SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-(" 'UNLOCK' exit /* ------------------------------ PROCEDURES ------------------------- */ loadbookmarks: ENTRIES = 0 if (open('bookmarks', 'golded:add-ons/webworld/bookmarks', 'R')) then do COMMAND = 'REQLIST SORT ' /* read bookmark file */ do forever NAME = readln('bookmarks') if (eof('bookmarks')) then break COMMAND = COMMAND || '"' || NAME || '" ' ENTRIES = ENTRIES + 1 BOOKMARK.ENTRIES.ENTRY_NAME = NAME BOOKMARK.ENTRIES.ENTRY_URL = readln('bookmarks') end OK = close('bookmarks') end else 'REQUEST PROBLEM="' STRING.sMISSING || '"' return savebookmarks: if (open('bookmarks', 'golded:add-ons/webworld/bookmarks', 'W')) then do do ENTRY = 1 to ENTRIES OK = writeln('bookmarks', BOOKMARK.ENTRY.ENTRY_NAME) OK = writeln('bookmarks', BOOKMARK.ENTRY.ENTRY_URL) end OK = close('bookmarks') end