diff options
Diffstat (limited to 'folders.c')
-rw-r--r-- | folders.c | 200 |
1 files changed, 100 insertions, 100 deletions
@@ -1,101 +1,101 @@ -/*
-
-"Spam Filter"-Plugin for Miranda IM
-
-Copyright 2003-2006 Heiko Herkenrath
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program ("SpamFilter-License.txt"); if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-// -- Includes
-#include "common.h"
-
-// -- Variables
-HANDLE hDefinitionsFolder = NULL;
-HANDLE hCustomFolder = NULL;
-
-// -----------------------------------------
-
-
-BOOL GetDefinitionsPath(WCHAR* pszReturn, BOOL bCustomFile, WCHAR* pszAppend)
-{
- // pszReturn muss MAX_PATH groß sein
- BOOL bReturn = FALSE;
-
- if ((bCustomFile && hCustomFolder) || (!bCustomFile && hDefinitionsFolder))
- {
- FOLDERSGETDATA fgd;
-
- if (!pszReturn) return FALSE;
- ZeroMemory(&fgd, sizeof(fgd));
- fgd.cbSize = sizeof(fgd);
- fgd.nMaxPathSize = MAX_PATH;
- fgd.szPathT = pszReturn;
-
- if (CallService(MS_FOLDERS_GET_PATH, (WPARAM)(bCustomFile?hCustomFolder:hDefinitionsFolder), (LPARAM)&fgd) == 0)
- {
- if (pszAppend) PathAppend(pszReturn, pszAppend);
- bReturn = TRUE;
- }
- }
-
- // Custom Folder Plugin not installed (using standard folder)
- if (!bReturn)
- bReturn = PConstructLocalPath(pszReturn, bCustomFile?CSIDL_EXT_MIRANDAPROFILE:CSIDL_EXT_EXECUTABLE, DATA_SUBDIRECTORY, pszAppend, NULL);
-
- return bReturn;
-}
-
-
-BOOL IsCustomFoldersAvailable(void)
-{
- return (hCustomFolder || hDefinitionsFolder);
-}
-
-
-// ------------------------------------
-
-
-void InitFolders(void)
-{
- // Enable Custom Folder Plugin support (needs new version!)
- if (ServiceExists(MS_FOLDERS_REGISTER_PATH) && ServiceExists(MS_FOLDERS_GET_PATH))
- {
- FOLDERSDATA fd;
-
- ZeroMemory(&fd, sizeof(fd));
- fd.cbSize = sizeof(fd);
- #if defined(UNICODE)
- fd.flags = FF_UNICODE;
- #endif
- mir_snprintf(fd.szSection, ARRAYSIZE(fd.szSection), "%s", Translate("Spam Filter"));
-
- // Definitions Folder
- mir_snprintf(fd.szName, ARRAYSIZE(fd.szName), "%s", Translate("Spam Definitions"));
- fd.szFormatT = _T("%miranda_path%\\")DATA_SUBDIRECTORY; // readonly allocated
- hDefinitionsFolder = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd);
-
- // Custom Definitions Folder
- mir_snprintf(fd.szName, ARRAYSIZE(fd.szName), "%s", Translate("Customized Words"));
- fd.szFormatT = _T("%profile_path%\\")DATA_SUBDIRECTORY; // readonly allocated
- hCustomFolder = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd);
- }
-}
-
-
-void UninitFolders(void)
-{
+/* + +"Spam Filter"-Plugin for Miranda IM + +Copyright 2003-2006 Heiko Herkenrath + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program ("SpamFilter-License.txt"); if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + + +// -- Includes +#include "common.h" + +// -- Variables +HANDLE hDefinitionsFolder = NULL; +HANDLE hCustomFolder = NULL; + +// ----------------------------------------- + + +BOOL GetDefinitionsPath(WCHAR* pszReturn, BOOL bCustomFile, WCHAR* pszAppend) +{ + // pszReturn muss MAX_PATH groß sein + BOOL bReturn = FALSE; + + if ((bCustomFile && hCustomFolder) || (!bCustomFile && hDefinitionsFolder)) + { + FOLDERSGETDATA fgd; + + if (!pszReturn) return FALSE; + ZeroMemory(&fgd, sizeof(fgd)); + fgd.cbSize = sizeof(fgd); + fgd.nMaxPathSize = MAX_PATH; + fgd.szPathT = pszReturn; + + if (CallService(MS_FOLDERS_GET_PATH, (WPARAM)(bCustomFile?hCustomFolder:hDefinitionsFolder), (LPARAM)&fgd) == 0) + { + if (pszAppend) PathAppend(pszReturn, pszAppend); + bReturn = TRUE; + } + } + + // Custom Folder Plugin not installed (using standard folder) + if (!bReturn) + bReturn = PConstructLocalPath(pszReturn, bCustomFile?CSIDL_EXT_MIRANDAPROFILE:CSIDL_EXT_EXECUTABLE, DATA_SUBDIRECTORY, pszAppend, NULL); + + return bReturn; +} + + +BOOL IsCustomFoldersAvailable(void) +{ + return (hCustomFolder || hDefinitionsFolder); +} + + +// ------------------------------------ + + +void InitFolders(void) +{ + // Enable Custom Folder Plugin support (needs new version!) + if (ServiceExists(MS_FOLDERS_REGISTER_PATH) && ServiceExists(MS_FOLDERS_GET_PATH)) + { + FOLDERSDATA fd; + + ZeroMemory(&fd, sizeof(fd)); + fd.cbSize = sizeof(fd); + #if defined(UNICODE) + fd.flags = FF_UNICODE; + #endif + mir_snprintf(fd.szSection, ARRAYSIZE(fd.szSection), "%s", Translate("Spam Filter")); + + // Definitions Folder + mir_snprintf(fd.szName, ARRAYSIZE(fd.szName), "%s", Translate("Spam Definitions")); + fd.szFormatT = _T("%miranda_path%\\")DATA_SUBDIRECTORY; // readonly allocated + hDefinitionsFolder = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd); + + // Custom Definitions Folder + mir_snprintf(fd.szName, ARRAYSIZE(fd.szName), "%s", Translate("Customized Words")); + fd.szFormatT = _T("%profile_path%\\")DATA_SUBDIRECTORY; // readonly allocated + hCustomFolder = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd); + } +} + + +void UninitFolders(void) +{ }
\ No newline at end of file |