-const char w32log_rcs[] = "$Id: w32log.c,v 1.4 2001/05/22 18:56:28 oes Exp $";
+const char w32log_rcs[] = "$Id: w32log.c,v 1.10 2001/05/31 21:37:11 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/w32log.c,v $
*
* Revisions :
* $Log: w32log.c,v $
+ * Revision 1.10 2001/05/31 21:37:11 jongfoster
+ * GUI changes to rename "permissions file" to "actions file".
+ *
+ * Revision 1.9 2001/05/31 17:33:13 oes
+ *
+ * CRLF -> LF
+ *
+ * Revision 1.8 2001/05/29 09:50:24 jongfoster
+ * Unified blocklist/imagelist/permissionslist.
+ * File format is still under discussion, but the internal changes
+ * are (mostly) done.
+ *
+ * Also modified interceptor behaviour:
+ * - We now intercept all URLs beginning with one of the following
+ * prefixes (and *only* these prefixes):
+ * * http://i.j.b/
+ * * http://ijbswa.sf.net/config/
+ * * http://ijbswa.sourceforge.net/config/
+ * - New interceptors "home page" - go to http://i.j.b/ to see it.
+ * - Internal changes so that intercepted and fast redirect pages
+ * are not replaced with an image.
+ * - Interceptors now have the option to send a binary page direct
+ * to the client. (i.e. ijb-send-banner uses this)
+ * - Implemented show-url-info interceptor. (Which is why I needed
+ * the above interceptors changes - a typical URL is
+ * "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
+ * The previous mechanism would not have intercepted that, and
+ * if it had been intercepted then it then it would have replaced
+ * it with an image.)
+ *
+ * Revision 1.7 2001/05/26 01:26:34 jongfoster
+ * New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
+ * This #define cannot be set from ./configure - there's no point, it
+ * doesn't work yet. See feature request # 425722
+ *
+ * Revision 1.6 2001/05/26 00:31:30 jongfoster
+ * Fixing compiler warning about comparing signed/unsigned.
+ *
+ * Revision 1.5 2001/05/26 00:28:36 jongfoster
+ * Automatic reloading of config file.
+ * Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32).
+ * Most of the global variables have been moved to a new
+ * struct configuration_spec, accessed through csp->config->globalname
+ * Most of the globals remaining are used by the Win32 GUI.
+ *
* Revision 1.4 2001/05/22 18:56:28 oes
* CRLF -> LF
*
/* FIXME: this is a kludge */
-const char * g_blockfile = NULL;
-const char * g_permissions_file = NULL;
-const char * g_forwardfile = NULL;
-#ifdef ACL_FILES
-const char * g_aclfile = NULL;
-#endif /* def ACL_FILES */
-#ifdef USE_IMAGE_LIST
-const char * g_imagefile = NULL;
-#endif /* def USE_IMAGE_LIST */
+const char * g_actions_file = NULL;
#ifdef PCRS
const char * g_re_filterfile = NULL;
#endif
memset(pszBefore, 0, (match.rm_so + 1) * sizeof(char));
strncpy(pszBefore, pszText, match.rm_so);
}
- if (match.rm_eo < strlen(pszText))
+ if (match.rm_eo < (regoff_t)strlen(pszText))
{
pszAfter = strdup(&pszText[match.rm_eo]);
}
if (hMenu != NULL)
{
HMENU hMenuPopup = GetSubMenu(hMenu, 0);
+#ifdef WIN_GUI_EDIT
char *szURL;
+#endif /* def WIN_GUI_EDIT */
/* Check if there is a selection */
CHARRANGE range;
EnableMenuItem(hMenuPopup, ID_EDIT_COPY, MF_BYCOMMAND | MF_ENABLED);
}
+#ifdef WIN_GUI_EDIT
/* Check if cursor is over a link */
szURL = LogGetURLUnderCursor();
if (szURL)
free(szURL);
}
+#endif /* def WIN_GUI_EDIT */
/* Display the popup */
TrackPopupMenu(hMenuPopup, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON, x, y, 0, g_hwndLogFrame, NULL);
EditFile(configfile);
break;
- case ID_TOOLS_EDITBLOCKERS:
- EditFile(g_blockfile);
- break;
-
- case ID_TOOLS_EDITPERMISSIONS:
- EditFile(g_permissions_file);
- break;
-
- case ID_TOOLS_EDITFORWARD:
- EditFile(g_forwardfile);
- break;
-
-#ifdef ACL_FILES
- case ID_TOOLS_EDITACLS:
- EditFile(g_aclfile);
- break;
-#endif /* def ACL_FILES */
-
-#ifdef USE_IMAGE_LIST
- case ID_TOOLS_EDITIMAGE:
- EditFile(g_imagefile);
+ case ID_TOOLS_EDITACTIONS:
+ EditFile(g_actions_file);
break;
-#endif /* def USE_IMAGE_LIST */
#ifdef PCRS
case ID_TOOLS_EDITPERLRE:
break;
#endif /* def TRUST_FILES */
+#ifdef WIN_GUI_EDIT
case ID_NEW_BLOCKER:
ShowRulesDialog(g_hwndLogFrame);
break;
+#endif /* def WIN_GUI_EDIT */
case ID_HELP_GPL:
ShellExecute(g_hwndLogFrame, "open", "gpl.html", NULL, NULL, SW_SHOWNORMAL);
void OnLogInitMenu(HMENU hmenu)
{
/* Only enable editors if there is a file to edit */
- EnableMenuItem(hmenu, ID_TOOLS_EDITPERMISSIONS, MF_BYCOMMAND | (g_permissions_file ? MF_ENABLED : MF_GRAYED));
- EnableMenuItem(hmenu, ID_TOOLS_EDITBLOCKERS, MF_BYCOMMAND | (g_blockfile ? MF_ENABLED : MF_GRAYED));
- EnableMenuItem(hmenu, ID_TOOLS_EDITFORWARD, MF_BYCOMMAND | (g_forwardfile ? MF_ENABLED : MF_GRAYED));
-#ifdef ACL_FILES
- EnableMenuItem(hmenu, ID_TOOLS_EDITACLS, MF_BYCOMMAND | (g_aclfile ? MF_ENABLED : MF_GRAYED));
-#endif /* def ACL_FILES */
-#ifdef USE_IMAGE_LIST
- EnableMenuItem(hmenu, ID_TOOLS_EDITIMAGE, MF_BYCOMMAND | (g_imagefile ? MF_ENABLED : MF_GRAYED));
-#endif /* def USE_IMAGE_LIST */
+ EnableMenuItem(hmenu, ID_TOOLS_EDITACTIONS, MF_BYCOMMAND | (g_actions_file ? MF_ENABLED : MF_GRAYED));
#ifdef PCRS
EnableMenuItem(hmenu, ID_TOOLS_EDITPERLRE, MF_BYCOMMAND | (g_re_filterfile ? MF_ENABLED : MF_GRAYED));
#endif