You can subscribe to this list here.
2003 |
Jan
|
Feb
(160) |
Mar
(119) |
Apr
(111) |
May
(118) |
Jun
(101) |
Jul
(304) |
Aug
(113) |
Sep
(140) |
Oct
(137) |
Nov
(87) |
Dec
(122) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(78) |
Feb
(125) |
Mar
(131) |
Apr
(59) |
May
(121) |
Jun
(166) |
Jul
(150) |
Aug
(137) |
Sep
(73) |
Oct
(58) |
Nov
(27) |
Dec
(60) |
2005 |
Jan
(131) |
Feb
(84) |
Mar
(36) |
Apr
(8) |
May
(28) |
Jun
(20) |
Jul
(10) |
Aug
(72) |
Sep
(76) |
Oct
(34) |
Nov
(3) |
Dec
(29) |
2006 |
Jan
(13) |
Feb
(92) |
Mar
(7) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(17) |
Sep
(5) |
Oct
(2) |
Nov
(8) |
Dec
(12) |
2007 |
Jan
(28) |
Feb
(15) |
Mar
|
Apr
|
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(8) |
Sep
(20) |
Oct
(38) |
Nov
(65) |
Dec
(92) |
2008 |
Jan
(21) |
Feb
(56) |
Mar
(27) |
Apr
(174) |
May
(25) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <xue...@us...> - 2003-05-27 20:11:31
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv13937 Modified Files: CBP.nsh Log Message: Now using a 'leave' function to perform input validation. This makes the user interface more user-friendly. Index: CBP.nsh =================================================================== RCS file: /cvsroot/popfile/windows/CBP.nsh,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CBP.nsh 8 May 2003 18:44:30 -0000 1.5 --- CBP.nsh 27 May 2003 20:11:27 -0000 1.6 *************** *** 52,56 **** ; (2) Add the "Create POPFile Buckets" page to the list of installer pages: ; ! ; !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS ": Create POPFile Buckets" ; ; These two changes will use the default settings in the CBP package. There are three default --- 52,56 ---- ; (2) Add the "Create POPFile Buckets" page to the list of installer pages: ; ! ; !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS ; ; These two changes will use the default settings in the CBP package. There are three default *************** *** 277,281 **** !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "CBP Data" "CorpusPath" ${CBP_L_CORPUS} FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_RESULT} ${CBP_L_CORPUS}\*.* --- 277,281 ---- !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "CBP Data" "CorpusPath" "${CBP_L_CORPUS}" FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_RESULT} ${CBP_L_CORPUS}\*.* *************** *** 415,419 **** next_bucket: ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_CREATE_NAME} "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "Text" StrCmp ${CBP_L_CREATE_NAME} "" incrm_ptr --- 415,419 ---- next_bucket: ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_CREATE_NAME}" "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "Text" StrCmp ${CBP_L_CREATE_NAME} "" incrm_ptr *************** *** 522,526 **** !macro CBP_PAGECOMMAND_SELECTBUCKETS CAPTION ! Page custom CBP_CreateBucketsPage "" "${CAPTION}" !macroend --- 522,526 ---- !macro CBP_PAGECOMMAND_SELECTBUCKETS CAPTION ! Page custom CBP_CreateBucketsPage "CBP_HandleUserInput" "${CAPTION}" !macroend *************** *** 550,553 **** --- 550,554 ---- !define CBP_C_FIRST_BN_CBOX_MINUS_ONE 14 ; used when processing the check boxes !define CBP_C_FIRST_BN_TEXT 7 ; field holding first bucket name + !define CBP_C_LAST_BN_CBOX_PLUS_ONE 23 ; used when processing the check boxes !define CBP_C_LAST_BN_TEXT_PLUS_ONE 15 ; used when clearing out the bucket list *************** *** 877,880 **** --- 878,884 ---- # assumed that the user is happy with the current list therefore if at least two buckets are # in the list the function creates those buckets and exits. + # + # This function enters a display loop, repeatedly displaying the custom page until the "leave" + # function (CBP_HandleUserInput) indicates that the user has selected enough buckets. #---------------------------------------------------------------------------------------------- # Inputs: *************** *** 893,932 **** # CBP_C_CREATE_BN - field number of the "Create Bucket" combobox # CBP_C_DEFAULT_BUCKETS - defines the default bucket selection - # CBP_C_FIRST_BN_CBOX - field holding the first "Remove" check box # CBP_C_FIRST_BN_CBOX_MINUS_ONE - used when determining how many "remove" boxes to show ! # CBP_C_FIRST_BN_TEXT - field number of first entry in list of names # CBP_C_INIFILE - name of the INI file used to create the custom page # CBP_C_MAX_BNCOUNT - maximum number of buckets installer can handle - # CBP_C_MAX_BN_TEXT_PLUS_ONE - used to terminate the loop # CBP_C_MESSAGE - field number for the progress report message #---------------------------------------------------------------------------------------------- # CBP Functions Called: - # CBP_CheckCorpusStatus - used to determine if this is a "clean" install # CBP_CreateINIfile - generates the INI file used to define the custom page ! # CBP_FindBucket - looks for a name in the bucket list ! # CBP_MakePOPFileBuckets - creates the buckets which POPFile will use # CBP_SetDefaultBuckets - initialises the bucket list when page first shown - # CBP_StrCheckName - used to validate name entered via "Create" combobox # CBP_UpdateAddBucketList - update list of suggested names seen in "Create" combobox #---------------------------------------------------------------------------------------------- # Called By: ! # 'installer.nsi' - directly or via the CBP_PAGECOMMAND_SELECTBUCKETS macro #---------------------------------------------------------------------------------------------- # Usage Example: ! # ! # Page custom CBP_CreateBucketsPage "" " - Create POPFile Buckets" ! # or ! # !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS " - Create POPFile Buckets" #============================================================================================== Function CBP_CreateBucketsPage ! !define CBP_L_COUNT $R9 ; counts number of buckets selected ! !define CBP_L_CREATE_NAME $R8 ; name (input via combobox) of bucket to be created ! !define CBP_L_LOOP_LIMIT $R7 ; used when checking the "remove" boxes ! !define CBP_L_NAME $R6 ; a bucket name ! !define CBP_L_PTR $R5 ; used to access the names in the bucket list ! !define CBP_L_RESULT $R4 ! !define CBP_L_TEMP $R3 Push ${CBP_L_COUNT} --- 897,947 ---- # CBP_C_CREATE_BN - field number of the "Create Bucket" combobox # CBP_C_DEFAULT_BUCKETS - defines the default bucket selection # CBP_C_FIRST_BN_CBOX_MINUS_ONE - used when determining how many "remove" boxes to show ! # CBP_C_LAST_BN_CBOX_PLUS_ONE - used when clearing all of the "Remove" ticks # CBP_C_INIFILE - name of the INI file used to create the custom page # CBP_C_MAX_BNCOUNT - maximum number of buckets installer can handle # CBP_C_MESSAGE - field number for the progress report message #---------------------------------------------------------------------------------------------- # CBP Functions Called: # CBP_CreateINIfile - generates the INI file used to define the custom page ! # CBP_CheckCorpusStatus - used to determine if this is a "clean" install # CBP_SetDefaultBuckets - initialises the bucket list when page first shown # CBP_UpdateAddBucketList - update list of suggested names seen in "Create" combobox #---------------------------------------------------------------------------------------------- # Called By: ! # 'installer.nsi' - via the CBP_PAGECOMMAND_SELECTBUCKETS macro #---------------------------------------------------------------------------------------------- # Usage Example: ! # !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS #============================================================================================== Function CBP_CreateBucketsPage ! ; The CBP_CreateBucketsPage function creates a custom page which uses the CBP_HandleUserInput ! ; function as a "leave" function. The CBP package treats CBP_HandleUserInput as an extension ! ; of CBP_CreateBucketsPage so they share the same registers. To simplify maintenance, a pair ! ; of macros are used to specify the shared registers. ! ! !macro CBP_HUI_SharedDefs ! !define CBP_L_COUNT $R9 ; counts number of buckets selected ! !define CBP_L_CREATE_NAME $R8 ; name (input via combobox) of bucket to be created ! !define CBP_L_LOOP_LIMIT $R7 ; used when checking the "remove" boxes ! !define CBP_L_NAME $R6 ; a bucket name ! !define CBP_L_PTR $R5 ; used to access the names in the bucket list ! !define CBP_L_RESULT $R4 ! !define CBP_L_TEMP $R3 ! !macroend ! ! !macro CBP_HUI_SharedUnDefs ! !undef CBP_L_COUNT ! !undef CBP_L_CREATE_NAME ! !undef CBP_L_LOOP_LIMIT ! !undef CBP_L_NAME ! !undef CBP_L_PTR ! !undef CBP_L_RESULT ! !undef CBP_L_TEMP ! !macroend ! ! !insertmacro CBP_HUI_SharedDefs Push ${CBP_L_COUNT} *************** *** 953,957 **** !insertmacro MUI_HEADER_TEXT "POPFile Classification Bucket Creation" \ ! "POPFile needs AT LEAST TWO buckets in order to be able to classify your email" ; Reset the bucket list to the default settings --- 968,972 ---- !insertmacro MUI_HEADER_TEXT "POPFile Classification Bucket Creation" \ ! "POPFile needs AT LEAST TWO buckets$\nin order to be able to classify your email" ; Reset the bucket list to the default settings *************** *** 963,970 **** Pop ${CBP_L_COUNT} ! ; Now allow the user to create their own list of buckets for POPFile ! ! get_next_bucket_cmd: ! ; Update the status message under the list of bucket names --- 978,982 ---- Pop ${CBP_L_COUNT} ! get_more_input: ; Update the status message under the list of bucket names *************** *** 996,999 **** --- 1008,1024 ---- !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_CREATE_BN}" "State" "" + + ; Ensure no buckets are marked for deletion + + StrCpy ${CBP_L_PTR} ${CBP_C_FIRST_BN_CBOX} + + clear_loop: + !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ + "Field ${CBP_L_PTR}" "State" "0" + IntOp ${CBP_L_PTR} ${CBP_L_PTR} + 1 + IntCmp ${CBP_L_PTR} ${CBP_C_LAST_BN_CBOX_PLUS_ONE} clear_finished + Goto clear_loop + + clear_finished: ; Ensure that only the appropriate "Remove" boxes are shown *************** *** 1008,1018 **** ; Display the "Bucket Selection Page" and wait for user to enter data and click "Continue" ! !insertmacro MUI_INSTALLOPTIONS_DISPLAY_RETURN "${CBP_C_INIFILE}" Pop ${CBP_L_RESULT} ! StrCmp ${CBP_L_RESULT} "cancel" finished_now ! StrCmp ${CBP_L_RESULT} "back" finished_now ! ; Now check the user input... starting with the "Remove" check boxes as deletion has higher ; priority (we allow user to "Delete an existing bucket" and "Create a new bucket" when the ; bucket list is full) --- 1033,1107 ---- ; Display the "Bucket Selection Page" and wait for user to enter data and click "Continue" ! !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${CBP_C_INIFILE}" ! StrCmp ${CBP_L_RESULT} "wait" get_more_input ! ! finished_now: ! ! Pop ${CBP_L_TEMP} Pop ${CBP_L_RESULT} + Pop ${CBP_L_PTR} + Pop ${CBP_L_NAME} + Pop ${CBP_L_LOOP_LIMIT} + Pop ${CBP_L_CREATE_NAME} + Pop ${CBP_L_COUNT} ! !insertmacro CBP_HUI_SharedUnDefs ! FunctionEnd ! ! #============================================================================================== ! # Function CBP_HandleUserInput ! #============================================================================================== ! # ! # This is the "leave" function for the custom page created by 'CBP_CreateBucketsPage'. ! # ! # Note that 'CBP_HandleUserInput' is treated as an extension of 'CBP_CreateBucketsPage' so it ! # does NOT use the stack to save/restore the registers which it uses - instead it shares the ! # same registers used by CBP_CreateBucketsPage. ! # ! # The 'CBP_CreateBucketsPage' function enters a loop which repeatedly displays the custom page ! # until this "leave" function indicates that the necessary buckets have been created. Once the ! # user has selected enough buckets, 'CBP_CreateBucketsPage' will exit from the loop and the ! # installation will proceed to the next page. ! #---------------------------------------------------------------------------------------------- ! # Inputs: ! # (none) ! #---------------------------------------------------------------------------------------------- ! # Outputs: ! # ${CBP_L_RESULT} - holds "completed" when user has selected enough buckets, ! # holds "wait" if user has not selected enough buckets ! #---------------------------------------------------------------------------------------------- ! # Global Registers Destroyed: ! # (none) ! # ! # Local Registers Destroyed: ! # ! # WARNING: ! # This function shares the local registers used by the 'CBP_CreateBucketsPage' function, ! # as listed in the 'CBP_HUI_SharedDefs' macro which is defined in 'CBP_CreateBucketsPage'. ! # ! #---------------------------------------------------------------------------------------------- ! # Global CBP Constants Used: ! # CBP_C_CREATE_BN - field number of the "Create Bucket" combobox ! # CBP_C_FIRST_BN_CBOX - field holding the first "Remove" check box ! # CBP_C_FIRST_BN_TEXT - field number of first entry in list of names ! # CBP_C_FIRST_BN_CBOX_MINUS_ONE - used when determining how many "remove" boxes to show ! # CBP_C_INIFILE - name of the INI file used to create the custom page ! # CBP_C_MAX_BNCOUNT - maximum number of buckets installer can handle ! #---------------------------------------------------------------------------------------------- ! # CBP Functions Called: ! # CBP_FindBucket - looks for a name in the bucket list ! # CBP_MakePOPFileBuckets - creates the buckets which POPFile will use ! # CBP_StrCheckName - used to validate name entered via "Create" combobox ! #---------------------------------------------------------------------------------------------- ! # Called By: ! # (this is the "leave" function for the custom page created by "CBP_CreateBucketsPage") ! #============================================================================================== ! ! Function CBP_HandleUserInput ! ! !insertmacro CBP_HUI_SharedDefs ; this macro is defined in CBP_CreateBucketsPage ! ! ; Check the user input... starting with the "Remove" check boxes as deletion has higher ; priority (we allow user to "Delete an existing bucket" and "Create a new bucket" when the ; bucket list is full) *************** *** 1023,1027 **** look_for_ticks: ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_TEMP} "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "State" IntCmp ${CBP_L_TEMP} 1 process_deletions --- 1112,1116 ---- look_for_ticks: ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_TEMP}" "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "State" IntCmp ${CBP_L_TEMP} 1 process_deletions *************** *** 1031,1035 **** no_deletes: ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_CREATE_NAME} "${CBP_C_INIFILE}" \ "Field ${CBP_C_CREATE_BN}" "State" StrCmp ${CBP_L_CREATE_NAME} "" no_user_input create_bucket --- 1120,1124 ---- no_deletes: ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_CREATE_NAME}" "${CBP_C_INIFILE}" \ "Field ${CBP_C_CREATE_BN}" "State" StrCmp ${CBP_L_CREATE_NAME} "" no_user_input create_bucket *************** *** 1044,1048 **** pd_loop: ! !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_PTR}" "State" 0 pd_loop2: --- 1133,1137 ---- pd_loop: ! !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_PTR}" "State" "0" pd_loop2: *************** *** 1050,1061 **** IntOp ${CBP_L_PTR} ${CBP_L_PTR} + 1 IntCmp ${CBP_L_PTR} ${CBP_L_LOOP_LIMIT} tidy_up ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_TEMP} "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "State" IntCmp ${CBP_L_TEMP} 1 pd_loop ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_TEMP} "${CBP_C_INIFILE}" \ "Field ${CBP_L_NAME}" "Text" Exch ${CBP_L_NAME} !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_NAME}" "Text" ${CBP_L_TEMP} IntOp ${CBP_L_NAME} ${CBP_L_NAME} + 1 Exch ${CBP_L_NAME} --- 1139,1150 ---- IntOp ${CBP_L_PTR} ${CBP_L_PTR} + 1 IntCmp ${CBP_L_PTR} ${CBP_L_LOOP_LIMIT} tidy_up ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_TEMP}" "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "State" IntCmp ${CBP_L_TEMP} 1 pd_loop ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_TEMP}" "${CBP_C_INIFILE}" \ "Field ${CBP_L_NAME}" "Text" Exch ${CBP_L_NAME} !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_NAME}" "Text" "${CBP_L_TEMP}" IntOp ${CBP_L_NAME} ${CBP_L_NAME} + 1 Exch ${CBP_L_NAME} *************** *** 1074,1081 **** all_tidy_now: ! ; Bucket list has no gaps in it now! ; User is allowed to delete bucket(s) and create a bucket in one operation ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_CREATE_NAME} "${CBP_C_INIFILE}" \ "Field ${CBP_C_CREATE_BN}" "State" StrCmp ${CBP_L_CREATE_NAME} "" get_next_bucket_cmd --- 1163,1170 ---- all_tidy_now: ! ; Bucket list has no gaps in it now. ; User is allowed to delete bucket(s) and create a bucket in one operation ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_CREATE_NAME}" "${CBP_C_INIFILE}" \ "Field ${CBP_C_CREATE_BN}" "State" StrCmp ${CBP_L_CREATE_NAME} "" get_next_bucket_cmd *************** *** 1095,1099 **** IntOp ${CBP_L_PTR} ${CBP_L_COUNT} + ${CBP_C_FIRST_BN_TEXT} !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_PTR}" "Text" ${CBP_L_NAME} IntOP ${CBP_L_COUNT} ${CBP_L_COUNT} + 1 goto get_next_bucket_cmd --- 1184,1188 ---- IntOp ${CBP_L_PTR} ${CBP_L_COUNT} + ${CBP_C_FIRST_BN_TEXT} !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_PTR}" "Text" "${CBP_L_NAME}" IntOP ${CBP_L_COUNT} ${CBP_L_COUNT} + 1 goto get_next_bucket_cmd *************** *** 1135,1138 **** --- 1224,1231 ---- goto get_next_bucket_cmd + get_next_bucket_cmd: + StrCpy ${CBP_L_RESULT} "wait" + Return + finished_buckets: Push ${CBP_C_FIRST_BN_TEXT} *************** *** 1146,1165 **** finished_now: ! Pop ${CBP_L_TEMP} ! Pop ${CBP_L_RESULT} ! Pop ${CBP_L_PTR} ! Pop ${CBP_L_NAME} ! Pop ${CBP_L_LOOP_LIMIT} ! Pop ${CBP_L_CREATE_NAME} ! Pop ${CBP_L_COUNT} ! ! !undef CBP_L_COUNT ! !undef CBP_L_CREATE_NAME ! !undef CBP_L_LOOP_LIMIT ! !undef CBP_L_NAME ! !undef CBP_L_PTR ! !undef CBP_L_RESULT ! !undef CBP_L_TEMP FunctionEnd --- 1239,1246 ---- finished_now: + StrCpy ${CBP_L_RESULT} "completed" + Return ! !insertmacro CBP_HUI_SharedUnDefs ; this macro is defined in CBP_CreateBucketsPage FunctionEnd *************** *** 1272,1276 **** save_suggestions: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "CBP Data" "Suggestions" ${CBP_L_PTR} ; Set up the default bucket list using the data supplied by the calling routine. --- 1353,1357 ---- save_suggestions: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "CBP Data" "Suggestions" "${CBP_L_PTR}" ; Set up the default bucket list using the data supplied by the calling routine. *************** *** 1298,1304 **** !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_PTR}" "Text" ${CBP_L_NAME} !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_BOX_PTR}" "State" 0 IntOp ${CBP_L_COUNT} ${CBP_L_COUNT} + 1 IntOp ${CBP_L_BOX_PTR} ${CBP_L_BOX_PTR} + 1 --- 1379,1385 ---- !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_PTR}" "Text" "${CBP_L_NAME}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_L_BOX_PTR}" "State" "0" IntOp ${CBP_L_COUNT} ${CBP_L_COUNT} + 1 IntOp ${CBP_L_BOX_PTR} ${CBP_L_BOX_PTR} + 1 *************** *** 1313,1317 **** clear_unused_entry: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_PTR}" "Text" "" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_BOX_PTR}" "State" 0 IntOp ${CBP_L_PTR} ${CBP_L_PTR} + 1 IntOp ${CBP_L_BOX_PTR} ${CBP_L_BOX_PTR} + 1 --- 1394,1398 ---- clear_unused_entry: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_PTR}" "Text" "" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_L_BOX_PTR}" "State" "0" IntOp ${CBP_L_PTR} ${CBP_L_PTR} + 1 IntOp ${CBP_L_BOX_PTR} ${CBP_L_BOX_PTR} + 1 *************** *** 1586,1590 **** check_next_bucket: IntCmp ${CBP_L_PTR} ${CBP_L_LOOP_LIMIT} not_found ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_LISTNAME} "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "Text" StrCmp ${CBP_L_NAME} ${CBP_L_LISTNAME} all_done --- 1667,1671 ---- check_next_bucket: IntCmp ${CBP_L_PTR} ${CBP_L_LOOP_LIMIT} not_found ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_LISTNAME}" "${CBP_C_INIFILE}" \ "Field ${CBP_L_PTR}" "Text" StrCmp ${CBP_L_NAME} ${CBP_L_LISTNAME} all_done *************** *** 1664,1668 **** ; An empty list is represented by "|" in the INI file ! !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_SUGGLIST} "${CBP_C_INIFILE}" \ "CBP Data" "Suggestions" StrCmp ${CBP_L_SUGGLIST} "|" suggestions_done --- 1745,1749 ---- ; An empty list is represented by "|" in the INI file ! !insertmacro MUI_INSTALLOPTIONS_READ "${CBP_L_SUGGLIST}" "${CBP_C_INIFILE}" \ "CBP Data" "Suggestions" StrCmp ${CBP_L_SUGGLIST} "|" suggestions_done *************** *** 1690,1694 **** !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "ListItems" ${CBP_L_UNUSEDSUGG} ; Adjust size of the ComboBox List to keep the display tidy --- 1771,1775 ---- !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "ListItems" "${CBP_L_UNUSEDSUGG}" ; Adjust size of the ComboBox List to keep the display tidy *************** *** 1696,1705 **** StrCmp ${CBP_L_UNUSEDSUGG} "" min_size !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "Bottom" ${CBP_C_FULL_COMBO_LIST} goto end_update min_size: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "Bottom" ${CBP_C_MIN_COMBO_LIST} end_update: --- 1777,1786 ---- StrCmp ${CBP_L_UNUSEDSUGG} "" min_size !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "Bottom" "${CBP_C_FULL_COMBO_LIST}" goto end_update min_size: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "Field ${CBP_C_CREATE_BN}" "Bottom" "${CBP_C_MIN_COMBO_LIST}" end_update: |
From: <xue...@us...> - 2003-05-27 12:34:44
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv31570 Modified Files: installer.nsi Log Message: The MUI no longer adds page descriptions to the page titles. Removed the page descriptions (captions) from the custom pages to match the standard MUI pages. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** installer.nsi 26 May 2003 22:17:54 -0000 1.54 --- installer.nsi 27 May 2003 12:34:40 -0000 1.55 *************** *** 57,64 **** !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY ! Page custom SetOptionsPage "CheckPortOptions" ": Options" !insertmacro MUI_PAGE_INSTFILES ! !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS ": Create POPFile Buckets" ! Page custom SetOutlookOrOutlookExpressPage "" ": Configure Outlook Express" !insertmacro MUI_PAGE_FINISH --- 57,64 ---- !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY ! Page custom SetOptionsPage "CheckPortOptions" !insertmacro MUI_PAGE_INSTFILES ! !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS "" ! Page custom SetOutlookOrOutlookExpressPage "" !insertmacro MUI_PAGE_FINISH |
From: <jgr...@us...> - 2003-05-26 22:20:01
|
Update of /cvsroot/popfile/engine/POPFile In directory sc8-pr-cvs1:/tmp/cvs-serv15166/POPFile Modified Files: Configuration.pm Log Message: Fixed up ui_port and timeout mapppings Index: Configuration.pm =================================================================== RCS file: /cvsroot/popfile/engine/POPFile/Configuration.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Configuration.pm 5 May 2003 17:50:11 -0000 1.17 --- Configuration.pm 26 May 2003 22:19:53 -0000 1.18 *************** *** 215,219 **** 'msgdir', 'GLOBAL_msgdir', 'subject', 'GLOBAL_subject', ! 'imeout', 'GLOBAL_timeout', 'xpl', 'GLOBAL_xpl', 'xtc', 'GLOBAL_xtc', --- 215,219 ---- 'msgdir', 'GLOBAL_msgdir', 'subject', 'GLOBAL_subject', ! 'timeout', 'GLOBAL_timeout', 'xpl', 'GLOBAL_xpl', 'xtc', 'GLOBAL_xtc', *************** *** 248,252 **** 'skin', 'html_skin', 'test_language', 'html_test_language', ! 'update_check', 'html_update_check' ); --- 248,253 ---- 'skin', 'html_skin', 'test_language', 'html_test_language', ! 'update_check', 'html_update_check', ! 'ui_port', 'html_port', ); |
From: <jgr...@us...> - 2003-05-26 22:18:08
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv14336 Modified Files: installer.nsi Log Message: Don't include every *.pl in engine directory Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** installer.nsi 26 May 2003 15:18:46 -0000 1.53 --- installer.nsi 26 May 2003 22:17:54 -0000 1.54 *************** *** 249,253 **** File "..\engine\license" File "${RELEASE_NOTES}" ! File "..\engine\*.pl" File "..\engine\pix.gif" File "..\engine\black.gif" --- 249,254 ---- File "..\engine\license" File "${RELEASE_NOTES}" ! File "..\engine\popfile.pl" ! File "..\engine\insert.pl" File "..\engine\pix.gif" File "..\engine\black.gif" |
From: <xue...@us...> - 2003-05-26 19:54:05
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv21031 Modified Files: hdr-left.bmp hdr-right.bmp Log Message: A more accurate bitmap. Index: hdr-left.bmp =================================================================== RCS file: /cvsroot/popfile/windows/hdr-left.bmp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvs64E1kb and /tmp/cvs06BJoc differ Index: hdr-right.bmp =================================================================== RCS file: /cvsroot/popfile/windows/hdr-right.bmp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsByOwSe and /tmp/cvsAQsJoj differ |
From: <xue...@us...> - 2003-05-26 19:31:54
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv13492 Modified Files: hdr-left.bmp hdr-right.bmp Log Message: Made the text clearer. Index: hdr-left.bmp =================================================================== RCS file: /cvsroot/popfile/windows/hdr-left.bmp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvs3oypvu and /tmp/cvsCNokJO differ Index: hdr-right.bmp =================================================================== RCS file: /cvsroot/popfile/windows/hdr-right.bmp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsMejYuv and /tmp/cvssBMUIQ differ |
From: <xue...@us...> - 2003-05-26 15:18:50
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv8960 Modified Files: installer.nsi Log Message: Updated to work with latest version of NSIS MUI (v1.65). Removed redundant line from Uninstall section. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** installer.nsi 25 May 2003 00:36:22 -0000 1.52 --- installer.nsi 26 May 2003 15:18:46 -0000 1.53 *************** *** 10,14 **** #-------------------------------------------------------------------------- ! ; Modified to work with NSIS 2.0b4 (CVS) or later #-------------------------------------------------------------------------- --- 10,18 ---- #-------------------------------------------------------------------------- ! ; Modified to work with NSIS 2.0b4 (CVS) [ dated 25 May 2003 ] or later ! ! ; WARNING: ! ; This script requires "NSIS Modern User Interface" version 1.65 (or later) ! ; because it uses the new (simplified) page configuration system #-------------------------------------------------------------------------- *************** *** 44,76 **** #-------------------------------------------------------------------------- ! # Installer Configuration #-------------------------------------------------------------------------- ! !define MUI_CUSTOMPAGECOMMANDS ! ! ; The "Special" bitmap appears on the "Welcome" and "Finish" pages, ! ; the "Header" bitmap appears on the other pages of the installer. ! !define MUI_SPECIALBITMAP "special.bmp" ! !define MUI_HEADERBITMAP "hdr-right.bmp" ! !define MUI_HEADERBITMAP_RIGHT ! !define MUI_WELCOMEPAGE ! !define MUI_LICENSEPAGE ; Select either "accept/do not accept" radio buttons or "accept" checkbox for the license page ! # !define MUI_LICENSEPAGE_RADIOBUTTONS ! !define MUI_LICENSEPAGE_CHECKBOX ! ! !define MUI_COMPONENTSPAGE ! !define MUI_DIRECTORYPAGE ! ; Use a "leave" function to look for 'popfile.cfg' in the directory selected for this install - !define MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE CheckExistingConfig - !define MUI_ABORTWARNING ! !define MUI_FINISHPAGE ; The icon files for the installer and uninstaller must have the same structure. For example, --- 48,101 ---- #-------------------------------------------------------------------------- ! # Define the Page order for the installer (and the uninstaller) #-------------------------------------------------------------------------- ! ; Installer Pages ! !insertmacro MUI_PAGE_WELCOME ! !insertmacro MUI_PAGE_LICENSE ! !insertmacro MUI_PAGE_COMPONENTS ! !insertmacro MUI_PAGE_DIRECTORY ! Page custom SetOptionsPage "CheckPortOptions" ": Options" ! !insertmacro MUI_PAGE_INSTFILES ! !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS ": Create POPFile Buckets" ! Page custom SetOutlookOrOutlookExpressPage "" ": Configure Outlook Express" ! !insertmacro MUI_PAGE_FINISH ! ! ; Uninstaller Pages ! ! !insertmacro MUI_UNPAGE_CONFIRM ! !insertmacro MUI_UNPAGE_INSTFILES ! #-------------------------------------------------------------------------- ! # Configure the MUI pages ! #-------------------------------------------------------------------------- ! ;----------------------------------------- ! ; General Settings - License Page Settings ! ;----------------------------------------- ; Select either "accept/do not accept" radio buttons or "accept" checkbox for the license page ! # !define MUI_LICENSEPAGE_RADIOBUTTONS ! !define MUI_LICENSEPAGE_CHECKBOX ! ! ;----------------------------------------- ! ; General Settings - Other Settings ! ;----------------------------------------- ! ; Show a message box with a warning when the user closes the installation !define MUI_ABORTWARNING ! ! ;----------------------------------------- ! ; Interface Settings ! ;----------------------------------------- ! ! ; The "Special" bitmap appears on the "Welcome" and "Finish" pages, ! ; the "Header" bitmap appears on the other pages of the installer. ! ! !define MUI_SPECIALBITMAP "special.bmp" ! !define MUI_HEADERBITMAP "hdr-right.bmp" ! !define MUI_HEADERBITMAP_RIGHT ; The icon files for the installer and uninstaller must have the same structure. For example, *************** *** 81,86 **** !define MUI_UNICON "remove.ico" ! !define MUI_UNINSTALLER ! !define MUI_UNCONFIRMPAGE #-------------------------------------------------------------------------- --- 106,116 ---- !define MUI_UNICON "remove.ico" ! ;----------------------------------------- ! ; Custom Functions added to MUI pages ! ;----------------------------------------- ! ! ; Use a "leave" function to look for 'popfile.cfg' in the directory selected for this install ! ! !define MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE CheckExistingConfig #-------------------------------------------------------------------------- *************** *** 107,110 **** --- 137,141 ---- "This wizard will guide you through the installation of ${MUI_PRODUCT}.\r\n\r\n\ It is recommended that you close all other applications before starting Setup.\r\n\r\n" + !insertmacro MUI_LANGUAGE "English" *************** *** 133,150 **** #-------------------------------------------------------------------------- - # Define the Page order for the installer - #-------------------------------------------------------------------------- - - !insertmacro MUI_PAGECOMMAND_WELCOME - !insertmacro MUI_PAGECOMMAND_LICENSE - !insertmacro MUI_PAGECOMMAND_COMPONENTS - !insertmacro MUI_PAGECOMMAND_DIRECTORY - Page custom SetOptionsPage "CheckPortOptions" ": Options" - !insertmacro MUI_PAGECOMMAND_INSTFILES - !insertmacro CBP_PAGECOMMAND_SELECTBUCKETS ": Create POPFile Buckets" - Page custom SetOutlookOrOutlookExpressPage "" ": Configure Outlook Express" - !insertmacro MUI_PAGECOMMAND_FINISH - - #-------------------------------------------------------------------------- # Component-selection page description text #-------------------------------------------------------------------------- --- 164,167 ---- *************** *** 263,266 **** --- 280,284 ---- Click 'Yes' to overwrite, click 'No' to skip making a backup copy" IDNO update_config SetFileAttributes popfile.cfg.bak NORMAL + make_cfg_backup: CopyFiles $INSTDIR\popfile.cfg $INSTDIR\popfile.cfg.bak *************** *** 1362,1367 **** "Note: $INSTDIR could not be removed." Removed: - - !insertmacro MUI_UNFINISHHEADER SectionEnd --- 1380,1383 ---- |
From: <ssc...@us...> - 2003-05-25 04:32:51
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv20430 Modified Files: Tag: v0/18/1 Bayes.pm Log Message: Perform insertion before questionable header content (lines without : or whitespace at start) [ 732181 ] Header inserted after <HTML> tag Index: Bayes.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v retrieving revision 1.107.2.5 retrieving revision 1.107.2.6 diff -C2 -d -r1.107.2.5 -r1.107.2.6 *** Bayes.pm 27 Apr 2003 21:05:00 -0000 1.107.2.5 --- Bayes.pm 25 May 2003 04:32:48 -0000 1.107.2.6 *************** *** 768,771 **** --- 768,772 ---- my $msg_head_before = ''; # Store the message headers that come before Subject here my $msg_head_after = ''; # Store the message headers that come after Subject here + my $msg_head_q = ''; # Store questionable message headers here my $msg_body = ''; # Store the message body here *************** *** 843,853 **** # Strip out the X-Text-Classification header that is in an incoming message ! if ( ( $line =~ /^X-Text-Classification:/i ) == 0 ) { if ( $msg_subject eq '' ) { ! $msg_head_before .= $line; } else { ! $msg_head_after .= $line; } ! } } } else { --- 844,861 ---- # Strip out the X-Text-Classification header that is in an incoming message ! next if ( $line =~ /^X-Text-Classification:/i ); ! ! if ( $line =~ /(^[ \t])|([:])/ ) { if ( $msg_subject eq '' ) { ! $msg_head_before .= $msg_head_q . $line; } else { ! $msg_head_after .= $msg_head_q . $line; } ! $msg_head_q = ''; ! } else { ! # Gather up any lines that are questionable ! ! $msg_head_q .= $line; ! } } } else { *************** *** 914,918 **** } ! $msg_head_after .= "$eol"; # Echo the text of the message to the client --- 922,926 ---- } ! $msg_head_after .= $msg_head_q . "$eol"; # Echo the text of the message to the client |
From: <ssc...@us...> - 2003-05-25 03:10:46
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv386 Modified Files: Tag: v0/18/1 HTML.pm Log Message: Backport of jgrahamc security patch: Fix nasty security problem with jump_to_message where it was possible with the right combination of things to get the session key when you shouldn't be able to, and bypass the password screen Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.98.2.6 retrieving revision 1.98.2.7 diff -C2 -d -r1.98.2.6 -r1.98.2.7 *** HTML.pm 26 Apr 2003 10:21:39 -0000 1.98.2.6 --- HTML.pm 25 May 2003 03:10:42 -0000 1.98.2.7 *************** *** 3207,3234 **** } - if ( $url eq '/jump_to_message' ) { - my $found = 0; - my $file = $self->{form}{view}; - foreach my $akey ( keys %{ $self->{history_} } ) { - if ($akey eq $file) { - $found = 1; - last; - } - } - - #Reset any filters - $self->{form}{filter} = ''; - $self->{form}{search} = ''; - $self->{form}{setsearch} = 1; - - # Force a history_reload if we did not find this file in the history cache - # but we do find it on disk using perl's -e file test operator (returns - # true if the file exists). - - $self->invalidate_history_cache() if ( !$found && ( -e ("$self->{configuration}->{configuration}{msgdir}$file") ) ); - $self->http_redirect( $client, "/history?session=$self->{session_key}&start_message=0&view=$self->{form}{view}#$self->{form}{view}" ); - return 1; - } - if ( $url =~ /\/(.+\.gif)/ ) { http_file( $self, $client, $1, 'image/gif' ); --- 3207,3210 ---- *************** *** 3267,3270 **** --- 3243,3270 ---- if ( ( (!defined($self->{form}{session})) || ($self->{form}{session} eq '' ) || ( $self->{form}{session} ne $self->{session_key} ) ) && ( $self->{configuration}->{configuration}{password} ne '' ) ) { password_page( $self, $client, 0, $url ); + return 1; + } + + if ( $url eq '/jump_to_message' ) { + my $found = 0; + my $file = $self->{form}{view}; + foreach my $akey ( keys %{ $self->{history_} } ) { + if ($akey eq $file) { + $found = 1; + last; + } + } + + #Reset any filters + $self->{form}{filter} = ''; + $self->{form}{search} = ''; + $self->{form}{setsearch} = 1; + + # Force a history_reload if we did not find this file in the history cache + # but we do find it on disk using perl's -e file test operator (returns + # true if the file exists). + + $self->invalidate_history_cache() if ( !$found && ( -e ("$self->{configuration}->{configuration}{msgdir}$file") ) ); + $self->http_redirect( $client, "/history?session=$self->{session_key}&start_message=0&view=$self->{form}{view}#$self->{form}{view}" ); return 1; } |
From: <xue...@us...> - 2003-05-25 00:36:25
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv2142 Modified Files: installer.nsi Log Message: OE Configuration now handles case where no Identity Ordinals are found. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** installer.nsi 24 May 2003 20:56:55 -0000 1.51 --- installer.nsi 25 May 2003 00:36:22 -0000 1.52 *************** *** 793,798 **** !define L_OEDATA $R4 ; some data (it varies) for current OE account !define L_OEPATH $R3 ; holds part of the path used to access OE account data ! !define L_SEPARATOR $R2 ; char used to separate the pop3 server from the username ! !define L_TEMP $R1 Push ${L_ACCOUNT} --- 793,799 ---- !define L_OEDATA $R4 ; some data (it varies) for current OE account !define L_OEPATH $R3 ; holds part of the path used to access OE account data ! !define L_ORDINALS $R2 ; "Identity Ordinals" flag (1 = found, 0 = not found) ! !define L_SEPARATOR $R1 ; char used to separate the pop3 server from the username ! !define L_TEMP $R0 Push ${L_ACCOUNT} *************** *** 803,806 **** --- 804,808 ---- Push ${L_OEDATA} Push ${L_OEPATH} + Push ${L_ORDINALS} Push ${L_SEPARATOR} Push ${L_TEMP} *************** *** 820,843 **** ; Check if this is the GUID for the first "Main Identity" created by OE as the account data ! ; for that identity is stored separately from the account data for the other OE identities. ReadRegDWORD ${L_TEMP} HKCU "Identities\${L_GUID}" "Identity Ordinal" ! IntCmp ${L_TEMP} 1 firstID otherID otherID ! firstID: StrCpy ${L_OEPATH} "" goto check_accounts ! otherID: StrCpy ${L_OEPATH} "Identities\${L_GUID}\" check_accounts: ! ; Now check all of the accounts for this particular identity StrCpy ${L_ACCT_INDEX} 0 - ; Get the next set of OE account data for the current OE Identity - next_acct: EnumRegKey ${L_ACCOUNT} \ --- 822,851 ---- ; Check if this is the GUID for the first "Main Identity" created by OE as the account data ! ; for that identity is stored separately from the account data for the other OE identities. ! ; If no "Identity Ordinal" value found, use the first "Main Identity" created by OE. + StrCpy ${L_ORDINALS} "1" + ReadRegDWORD ${L_TEMP} HKCU "Identities\${L_GUID}" "Identity Ordinal" ! IntCmp ${L_TEMP} 1 firstOrdinal noOrdinals otherOrdinal ! firstOrdinal: ! StrCpy ${L_OEPATH} "" ! goto check_accounts ! ! noOrdinals: ! StrCpy ${L_ORDINALS} "0" StrCpy ${L_OEPATH} "" goto check_accounts ! otherOrdinal: StrCpy ${L_OEPATH} "Identities\${L_GUID}\" check_accounts: ! ; Now check all of the accounts for the current OE Identity StrCpy ${L_ACCT_INDEX} 0 next_acct: EnumRegKey ${L_ACCOUNT} \ *************** *** 856,860 **** StrCmp ${L_OEDATA} "127.0.0.1" try_next_account ! ; If 'POP3 Server' contains the separator character, we cannot configure this account Push ${L_OEDATA} --- 864,868 ---- StrCmp ${L_OEDATA} "127.0.0.1" try_next_account ! ; If 'POP3 Server' data contains the separator character, we cannot configure this account Push ${L_OEDATA} *************** *** 880,884 **** ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "POP3 User Name" ! ; If 'POP3 User Name' contains the separator character, we cannot configure this account Push ${L_OEDATA} --- 888,892 ---- ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "POP3 User Name" ! ; If 'POP3 User Name' data contains the separator character, we cannot configure this account Push ${L_OEDATA} *************** *** 944,948 **** finished_this_guid: ! ; Now move on to the next identity IntOp ${L_GUID_INDEX} ${L_GUID_INDEX} + 1 --- 952,958 ---- finished_this_guid: ! ; If no "Identity Ordinal" values were found then exit otherwise move on to the next identity ! ! StrCmp ${L_ORDINALS} "0" finished_oe_config IntOp ${L_GUID_INDEX} ${L_GUID_INDEX} + 1 *************** *** 953,956 **** --- 963,967 ---- Pop ${L_TEMP} Pop ${L_SEPARATOR} + Pop ${L_ORDINALS} Pop ${L_OEPATH} Pop ${L_OEDATA} *************** *** 968,971 **** --- 979,983 ---- !undef L_OEDATA !undef L_OEPATH + !undef L_ORDINALS !undef L_SEPARATOR !undef L_TEMP |
From: <xue...@us...> - 2003-05-24 20:56:58
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv5059 Modified Files: installer.nsi Log Message: Reduced the number of global registers used, rewrote OE Config to make it easier to maintain, added SEPARATOR check to OE Config. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** installer.nsi 20 May 2003 19:58:56 -0000 1.50 --- installer.nsi 24 May 2003 20:56:55 -0000 1.51 *************** *** 16,23 **** !define MUI_PRODUCT "POPFile" !define MUI_VERSION "0.19.0RC3" !include "MUI.nsh" #---------------------------------------------------------------------------------------- ! # CBP Configuration Data (leave lines commented-out if defaults are satisfactory) #---------------------------------------------------------------------------------------- # ; Maximum number of buckets handled (in range 2 to 8) --- 16,25 ---- !define MUI_PRODUCT "POPFile" !define MUI_VERSION "0.19.0RC3" + !define RELEASE_NOTES "..\engine\v0.19.0.change" + !include "MUI.nsh" #---------------------------------------------------------------------------------------- ! # CBP Configuration Data (to override defaults, un-comment the lines below and modify them) #---------------------------------------------------------------------------------------- # ; Maximum number of buckets handled (in range 2 to 8) *************** *** 27,36 **** # ; Default bucket selection (use "" if no buckets are to be pre-selected) # ! # !define CBP_DEFAULT_LIST "in-box|junk|personal|work" # # ; List of suggestions for bucket names (use "" if no suggestions are required) # # !define CBP_SUGGESTION_LIST \ ! # "admin|business|computers|family|financial|general|hobby|in-box|junk|list-admin|\ # miscellaneous|not_spam|other|personal|recreation|school|security|shopping|spam|\ # travel|work" --- 29,38 ---- # ; Default bucket selection (use "" if no buckets are to be pre-selected) # ! # !define CBP_DEFAULT_LIST "inbox|spam|personal|work" # # ; List of suggestions for bucket names (use "" if no suggestions are required) # # !define CBP_SUGGESTION_LIST \ ! # "admin|business|computers|family|financial|general|hobby|inbox|junk|list-admin|\ # miscellaneous|not_spam|other|personal|recreation|school|security|shopping|spam|\ # travel|work" *************** *** 56,66 **** --- 58,74 ---- !define MUI_WELCOMEPAGE !define MUI_LICENSEPAGE + ; Select either "accept/do not accept" radio buttons or "accept" checkbox for the license page + # !define MUI_LICENSEPAGE_RADIOBUTTONS !define MUI_LICENSEPAGE_CHECKBOX + !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE + ; Use a "leave" function to look for 'popfile.cfg' in the directory selected for this install + !define MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE CheckExistingConfig + !define MUI_ABORTWARNING !define MUI_FINISHPAGE *************** *** 83,86 **** --- 91,97 ---- ; (a) $0 to $9 are used as global registers ; (b) $R0 to $R9 are used as local registers + + ; Local registers referred to by 'defines' use names starting with 'L_' (eg L_LNE, L_OLDUI) + ; and the scope of these 'defines' is limited to the "routine" where they are used. !define POP3 $0 ; POP3 port (1-65535) *************** *** 89,97 **** !define CFG $3 ; general purpose file handle - !define OEID $6 - !define ID $7 - !define OEIDENT $8 - !define ACCTID $9 - #-------------------------------------------------------------------------- # Language --- 100,103 ---- *************** *** 177,188 **** Function .onInit !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioA.ini" !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioB.ini" ! File /oname=$PLUGINSDIR\release.txt "..\engine\v0.19.0.change" MessageBox MB_YESNO "Display POPFile Release Notes ?$\r$\n$\r$\n\ 'Yes' recommended if you are upgrading." IDNO exit ! SearchPath $R0 notepad.exe ! StrCmp $R0 "" use_file_association ExecWait 'notepad.exe "$PLUGINSDIR\release.txt"' GoTo exit --- 183,198 ---- Function .onInit + !define L_RESULT $R0 + + Push ${L_RESULT} + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioA.ini" !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioB.ini" ! File /oname=$PLUGINSDIR\release.txt "${RELEASE_NOTES}" MessageBox MB_YESNO "Display POPFile Release Notes ?$\r$\n$\r$\n\ 'Yes' recommended if you are upgrading." IDNO exit ! SearchPath ${L_RESULT} notepad.exe ! StrCmp ${L_RESULT} "" use_file_association ExecWait 'notepad.exe "$PLUGINSDIR\release.txt"' GoTo exit *************** *** 192,195 **** --- 202,208 ---- exit: + Pop ${L_RESULT} + + !undef L_RESULT FunctionEnd *************** *** 218,222 **** File "..\engine\license" ! File "..\engine\v0.19.0.change" File "..\engine\*.pl" File "..\engine\pix.gif" --- 231,235 ---- File "..\engine\license" ! File "${RELEASE_NOTES}" File "..\engine\*.pl" File "..\engine\pix.gif" *************** *** 473,476 **** --- 486,494 ---- !define L_OLDUI $R6 ; used to hold old-style of GUI port + Push ${L_CLEANCFG} + Push ${L_CMPRE} + Push ${L_LNE} + Push ${L_OLDUI} + StrCpy ${POP3} "" StrCpy ${GUI} "" *************** *** 580,583 **** --- 598,606 ---- ports_ok: + Pop ${L_OLDUI} + Pop ${L_LNE} + Pop ${L_CMPRE} + Pop ${L_CLEANCFG} + !undef L_CLEANCFG !undef L_CMPRE *************** *** 601,604 **** --- 624,630 ---- !define L_PORTLIST $R9 ; combo box ports list !define L_RESULT $R8 + + Push ${L_PORTLIST} + Push ${L_RESULT} ; The function "CheckExistingConfig" loads ${POP3} and ${GUI} with the settings found in *************** *** 653,656 **** --- 679,685 ---- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioA.ini" + Pop ${L_RESULT} + Pop ${L_PORTLIST} + !undef L_PORTLIST !undef L_RESULT *************** *** 669,672 **** --- 698,703 ---- !define L_RESULT $R9 + + Push ${L_RESULT} !insertmacro MUI_INSTALLOPTIONS_READ ${POP3} "ioA.ini" "Field 2" "State" *************** *** 704,716 **** MessageBox MB_OK "The POP3 port must be different from the 'User Interface' port.$\n$\n\ Please change your port selections." - Goto bad_exit bad_exit: ; Stay with the custom page created by "SetOptionsPage" Abort good_exit: ; Allow next page in the installation sequence to be shown !undef L_RESULT --- 735,752 ---- MessageBox MB_OK "The POP3 port must be different from the 'User Interface' port.$\n$\n\ Please change your port selections." bad_exit: + ; Stay with the custom page created by "SetOptionsPage" + + Pop ${L_RESULT} Abort good_exit: + ; Allow next page in the installation sequence to be shown + Pop ${L_RESULT} + !undef L_RESULT *************** *** 725,866 **** Function SetOutlookOrOutlookExpressPage ! ; More than one "identity" can be created in OE. Each of these identities is ; given a GUID and these GUIDs are stored in HKEY_CURRENT_USER\Identities. ; Each identity can have several email accounts and the details for these ; accounts are grouped according to the GUID which "owns" the accounts. - ; When OE is first installed it creates a default identity which is given the - ; name "Main Identity". Although there is a GUID for this default identity, - ; OE stores the email account data for this account in a different location - ; from that of any extra identities which are created by the user. - ; We step through every identity defined in HKEY_CURRENT_USER\Identities and ! ; for each one found check its OE email account data. If an identity with ! ; an "Identity Ordinal" value of 1 is found, we need to look in the area ! ; dedicated to the initial "Main Identity", otherwise we look for email ! ; account data in that GUID's entry in HKEY_CURRENT_USER\Identities. ! ! ; The email account data for all identities, although stored in different ! ; locations, uses the same structure. The "path" for each identity starts ! ; with "HKEY_CURRENT_USER\" and ends with "\Internet Account Manager\Accounts". ; All of the OE account data for an identity appears "under" the path defined ! ; above, e.g. if an identity has more than three accounts they are found here: ; HKEY_CURRENT_USER\...\Internet Account Manager\Accounts\00000001 ; HKEY_CURRENT_USER\...\Internet Account Manager\Accounts\00000002 - ; HKEY_CURRENT_USER\...\Internet Account Manager\Accounts\00000003 ; etc ! !define L_LNE $R9 ! !define L_SEPARATOR $R8 ! !define L_TEMP $R3 ! ! StrCpy ${L_SEPARATOR} "" ! ! ClearErrors ! ! FileOpen ${CFG} $INSTDIR\popfile.cfg r ! ! loop: ! FileRead ${CFG} ${L_LNE} ! IfErrors separator_done ! ! StrCpy ${L_TEMP} ${L_LNE} 10 ! StrCmp ${L_TEMP} "separator " old_separator ! StrCpy ${L_TEMP} ${L_LNE} 15 ! StrCmp ${L_TEMP} "pop3_separator " new_separator ! Goto loop ! ! old_separator: ! StrCpy ${L_SEPARATOR} ${L_LNE} 1 10 ! Goto loop ! ! new_separator: ! StrCpy ${L_SEPARATOR} ${L_LNE} 1 15 ! Goto loop ! separator_done: Push ${L_SEPARATOR} ! Call TrimNewlines ! Pop ${L_SEPARATOR} ! ; Use separator character from popfile.cfg (if present) otherwise use a semicolon ! StrCmp ${L_SEPARATOR} "" 0 check_accounts ! StrCpy ${L_SEPARATOR} ":" ! check_accounts: ! StrCpy ${OEID} 0 ; Get the next identity from the registry ! next_id: ! EnumRegKey ${ID} HKCU "Identities" ${OEID} ! StrCmp ${ID} "" finished_oe ! ; Check if this is the GUID for the first "Main Identity" created by OE (i.e. the GUID has ! ; an "Identity Ordinal" value of 1) as the account data for this identity is stored ! ; separately from the other identities. ! ReadRegDWORD $R4 HKCU "Identities\${ID}" "Identity Ordinal" ! StrCmp $R4 "1" firstID otherID firstID: ! StrCpy ${OEIDENT} "" ! goto checkID otherID: ! StrCpy ${OEIDENT} "Identities\${ID}\" - checkID: ; Now check all of the accounts for this particular identity ! StrCpy $R1 0 ! ; Get the next set of OE account data for the specified OE Identity next_acct: ! EnumRegKey ${ACCTID} HKCU "${OEIDENT}Software\Microsoft\Internet Account Manager\Accounts" $R1 ! StrCmp ${ACCTID} "" finished_this_id ! ; Now extract the POP3 Server, if this does not exist then this account is ! ; not configured for mail so move on ! StrCpy $R5 "${OEIDENT}Software\Microsoft\Internet Account Manager\Accounts\${ACCTID}" ! ReadRegStr $R6 HKCU $R5 "POP3 Server" ! StrCmp $R6 "" next_acct_increment ! StrCmp $R6 "127.0.0.1" next_acct_increment !insertmacro MUI_HEADER_TEXT "Reconfigure Outlook Express" \ "POPFile can reconfigure Outlook Express for you" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 2" "State" "0" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 8" "Text" $R6 ; Find the Username used by OE for this identity and the OE Account Name ! ; (so we can unambiguously report which email account we are offering ! ; to reconfigure). ! ReadRegStr $R7 HKCU "Identities\${ID}\" "Username" ! StrCpy $R7 $\"$R7$\" ! ReadRegStr $R6 HKCU $R5 "SMTP Email Address" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 7" "Text" $R6 ! ReadRegStr $R6 HKCU $R5 "POP3 User Name" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 9" "Text" $R6 ! ReadRegStr $R6 HKCU $R5 "Account Name" ! StrCpy $R6 $\"$R6$\" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 10" "Text" \ ! "$R6 account for the $R7 identity" !insertmacro MUI_INSTALLOPTIONS_DISPLAY_RETURN "ioB.ini" ! Pop $R0 ! StrCmp $R0 "cancel" finished_this_id ! StrCmp $R0 "back" finished_this_id ! !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ioB.ini" "Field 2" "State" ! StrCmp $R5 "1" change_oe next_acct_increment change_oe: ! StrCpy $R5 "${OEIDENT}Software\Microsoft\Internet Account Manager\Accounts\${ACCTID}" ! ReadRegStr $R6 HKCU $R5 "POP3 User Name" ! ReadRegStr $R7 HKCU $R5 "POP3 Server" ; To be able to restore the registry to previous settings when we uninstall we --- 761,919 ---- Function SetOutlookOrOutlookExpressPage ! ; More than one "identity" can be created in OE. Each of these identities is ; given a GUID and these GUIDs are stored in HKEY_CURRENT_USER\Identities. + ; Each identity can have several email accounts and the details for these ; accounts are grouped according to the GUID which "owns" the accounts. ; We step through every identity defined in HKEY_CURRENT_USER\Identities and ! ; for each one found check its OE email account data. ! ! ; When OE is installed, it (usually) creates an initial identity which stores its ! ; email account data in a fixed registry location. If an identity with an "Identity Ordinal" ! ; value of 1 is found, we need to look for its OE email account data in ! ; ! ; HK_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts ! ; ! ; otherwise we look in the GUID's entry in HKEY_CURRENT_USER\Identities, using the path ! ; ! ; HK_CURRENT_USER\Identities\{GUID}\Software\Microsoft\Internet Account Manager\Accounts ; All of the OE account data for an identity appears "under" the path defined ! ; above, e.g. if an identity has several accounts, the account data is stored like this: ; HKEY_CURRENT_USER\...\Internet Account Manager\Accounts\00000001 ; HKEY_CURRENT_USER\...\Internet Account Manager\Accounts\00000002 ; etc ! !define L_ACCOUNT $R9 ; path to the data for the current OE account (less the HKCU part) ! !define L_ACCT_INDEX $R8 ; used to loop through OE accounts for the current OE Identity ! !define L_GUID $R7 ; GUID of the current entry in HKCU\Identities list ! !define L_GUID_INDEX $R6 ; used to loop through the list of OE Identities ! !define L_IDENTITY $R5 ; plain text form of OE Identity name ! !define L_OEDATA $R4 ; some data (it varies) for current OE account ! !define L_OEPATH $R3 ; holds part of the path used to access OE account data ! !define L_SEPARATOR $R2 ; char used to separate the pop3 server from the username ! !define L_TEMP $R1 ! Push ${L_ACCOUNT} ! Push ${L_ACCT_INDEX} ! Push ${L_GUID} ! Push ${L_GUID_INDEX} ! Push ${L_IDENTITY} ! Push ${L_OEDATA} ! Push ${L_OEPATH} Push ${L_SEPARATOR} ! Push ${L_TEMP} ! ; Determine the separator character to be used when configuring an email account for POPFile ! Call GetSeparator ! Pop ${L_SEPARATOR} ! StrCpy ${L_GUID_INDEX} 0 ; Get the next identity from the registry ! get_guid: ! EnumRegKey ${L_GUID} HKCU "Identities" ${L_GUID_INDEX} ! StrCmp ${L_GUID} "" finished_oe_config ! ; Check if this is the GUID for the first "Main Identity" created by OE as the account data ! ; for that identity is stored separately from the account data for the other OE identities. ! ReadRegDWORD ${L_TEMP} HKCU "Identities\${L_GUID}" "Identity Ordinal" ! IntCmp ${L_TEMP} 1 firstID otherID otherID ! firstID: ! StrCpy ${L_OEPATH} "" ! goto check_accounts ! otherID: ! StrCpy ${L_OEPATH} "Identities\${L_GUID}\" ! ! check_accounts: ; Now check all of the accounts for this particular identity ! StrCpy ${L_ACCT_INDEX} 0 ! ; Get the next set of OE account data for the current OE Identity next_acct: ! EnumRegKey ${L_ACCOUNT} \ ! HKCU "${L_OEPATH}Software\Microsoft\Internet Account Manager\Accounts" \ ! ${L_ACCT_INDEX} ! StrCmp ${L_ACCOUNT} "" finished_this_guid ! StrCpy ${L_ACCOUNT} \ ! "${L_OEPATH}Software\Microsoft\Internet Account Manager\Accounts\${L_ACCOUNT}" ! ; Now extract the POP3 Server data, if this does not exist then this account is ! ; not configured for mail so move on. If the data is "127.0.0.1" assume the account has ! ; already been configured for use with POPFile. ! ! ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "POP3 Server" ! StrCmp ${L_OEDATA} "" try_next_account ! StrCmp ${L_OEDATA} "127.0.0.1" try_next_account ! ; If 'POP3 Server' contains the separator character, we cannot configure this account ! ! Push ${L_OEDATA} ! Push ${L_SEPARATOR} ! Call StrStr ! Pop ${L_TEMP} ! StrCmp ${L_TEMP} "" 0 try_next_account !insertmacro MUI_HEADER_TEXT "Reconfigure Outlook Express" \ "POPFile can reconfigure Outlook Express for you" + + ; Ensure the 'configure this account' check box is NOT ticked + !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 2" "State" "0" ! ! ; Prepare to display the 'POP3 Server' data ! ! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 8" "Text" ${L_OEDATA} ! ! ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "SMTP Email Address" ! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 7" "Text" ${L_OEDATA} ! ! ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "POP3 User Name" ! ! ; If 'POP3 User Name' contains the separator character, we cannot configure this account ! ! Push ${L_OEDATA} ! Push ${L_SEPARATOR} ! Call StrStr ! Pop ${L_TEMP} ! StrCmp ${L_TEMP} "" 0 try_next_account + !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 9" "Text" ${L_OEDATA} + ; Find the Username used by OE for this identity and the OE Account Name ! ; (so we can unambiguously report which email account we are offering to reconfigure). ! ReadRegStr ${L_IDENTITY} HKCU "Identities\${L_GUID}\" "Username" ! StrCpy ${L_IDENTITY} $\"${L_IDENTITY}$\" ! ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "Account Name" ! StrCpy ${L_OEDATA} $\"${L_OEDATA}$\" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 10" "Text" \ ! "${L_OEDATA} account for the ${L_IDENTITY} identity" ! ! ; Display the OE account data and offer to configure this account to work with POPFile !insertmacro MUI_INSTALLOPTIONS_DISPLAY_RETURN "ioB.ini" ! Pop ${L_TEMP} ! StrCmp ${L_TEMP} "cancel" finished_this_guid ! StrCmp ${L_TEMP} "back" finished_this_guid ! ; Has the user ticked the 'configure this account' check box ? ! ! !insertmacro MUI_INSTALLOPTIONS_READ ${L_TEMP} "ioB.ini" "Field 2" "State" ! StrCmp ${L_TEMP} "1" change_oe try_next_account change_oe: ! ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "POP3 User Name" ! ReadRegStr ${L_TEMP} HKCU ${L_ACCOUNT} "POP3 Server" ; To be able to restore the registry to previous settings when we uninstall we *************** *** 874,902 **** FileOpen ${CFG} $INSTDIR\popfile.reg a FileSeek ${CFG} 0 END ! FileWrite ${CFG} "$R5$\n" FileWrite ${CFG} "POP3 User Name$\n" ! FileWrite ${CFG} "$R6$\n" ! FileWrite ${CFG} "$R5$\n" FileWrite ${CFG} "POP3 Server$\n" ! FileWrite ${CFG} "$R7$\n" FileClose ${CFG} ! WriteRegStr HKCU $R5 "POP3 User Name" "$R7${L_SEPARATOR}$R6" ! WriteRegStr HKCU $R5 "POP3 Server" "127.0.0.1" ! next_acct_increment: ! IntOp $R1 $R1 + 1 goto next_acct ! finished_this_id: ; Now move on to the next identity ! IntOp ${OEID} ${OEID} + 1 ! goto next_id ! finished_oe: ! !undef L_LNE !undef L_SEPARATOR !undef L_TEMP FunctionEnd --- 927,1047 ---- FileOpen ${CFG} $INSTDIR\popfile.reg a FileSeek ${CFG} 0 END ! FileWrite ${CFG} "${L_ACCOUNT}$\n" FileWrite ${CFG} "POP3 User Name$\n" ! FileWrite ${CFG} "${L_OEDATA}$\n" ! FileWrite ${CFG} "${L_ACCOUNT}$\n" FileWrite ${CFG} "POP3 Server$\n" ! FileWrite ${CFG} "${L_TEMP}$\n" FileClose ${CFG} ! WriteRegStr HKCU ${L_ACCOUNT} "POP3 User Name" "${L_TEMP}${L_SEPARATOR}${L_OEDATA}" ! WriteRegStr HKCU ${L_ACCOUNT} "POP3 Server" "127.0.0.1" ! try_next_account: ! IntOp ${L_ACCT_INDEX} ${L_ACCT_INDEX} + 1 goto next_acct ! finished_this_guid: ! ; Now move on to the next identity ! ! IntOp ${L_GUID_INDEX} ${L_GUID_INDEX} + 1 ! goto get_guid ! finished_oe_config: ! Pop ${L_TEMP} ! Pop ${L_SEPARATOR} ! Pop ${L_OEPATH} ! Pop ${L_OEDATA} ! Pop ${L_IDENTITY} ! Pop ${L_GUID_INDEX} ! Pop ${L_GUID} ! Pop ${L_ACCT_INDEX} ! Pop ${L_ACCOUNT} ! ! !undef L_ACCOUNT ! !undef L_ACCT_INDEX ! !undef L_GUID ! !undef L_GUID_INDEX ! !undef L_IDENTITY ! !undef L_OEDATA ! !undef L_OEPATH !undef L_SEPARATOR !undef L_TEMP + + FunctionEnd + + #-------------------------------------------------------------------------- + # Installer Function: GetSeparator + # + # Returns the character to be used as the separator when configuring an e-mail account. + # If the character is not defined in popfile.cfg, the default separator (':') is returned + # + # Inputs: + # none + # Outputs: + # (top of stack) - character to be used as the separator + # + # Usage: + # Call GetSeparator + # Pop $R0 + # + # ($R0 at this point is ":" unless popfile.cfg has altered the default setting) + # + #-------------------------------------------------------------------------- + + Function GetSeparator + + !define L_LNE $R9 ; a line from the popfile.cfg file + !define L_PARAM $R8 + !define L_SEPARATOR $R7 ; character used to separate the pop3 server from the username + + Push ${L_SEPARATOR} + Push ${L_LNE} + Push ${L_PARAM} + + StrCpy ${L_SEPARATOR} "" + + ClearErrors + + FileOpen ${CFG} $INSTDIR\popfile.cfg r + + loop: + FileRead ${CFG} ${L_LNE} + IfErrors separator_done + + StrCpy ${L_PARAM} ${L_LNE} 10 + StrCmp ${L_PARAM} "separator " old_separator + StrCpy ${L_PARAM} ${L_LNE} 15 + StrCmp ${L_PARAM} "pop3_separator " new_separator + Goto loop + + old_separator: + StrCpy ${L_SEPARATOR} ${L_LNE} 1 10 + Goto loop + + new_separator: + StrCpy ${L_SEPARATOR} ${L_LNE} 1 15 + Goto loop + + separator_done: + Push ${L_SEPARATOR} + Call TrimNewlines + Pop ${L_SEPARATOR} + + ; Use separator character from popfile.cfg (if present) otherwise use a semicolon + + StrCmp ${L_SEPARATOR} "" 0 exit + StrCpy ${L_SEPARATOR} ":" + + exit: + Pop ${L_PARAM} + Pop ${L_LNE} + Exch ${L_SEPARATOR} + + !undef L_LNE + !undef L_PARAM + !undef L_SEPARATOR FunctionEnd |
From: <jgr...@us...> - 2003-05-23 16:05:57
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv2537/UI Modified Files: HTML.pm Log Message: Protect the log through the session key Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.160 retrieving revision 1.161 diff -C2 -d -r1.160 -r1.161 *** HTML.pm 23 May 2003 15:59:26 -0000 1.160 --- HTML.pm 23 May 2003 16:05:53 -0000 1.161 *************** *** 280,283 **** --- 280,298 ---- } + if ( $url =~ /\/(.+\.gif)/ ) { + $self->http_file_( $client, $1, 'image/gif' ); + return 1; + } + + if ( $url =~ /(skins\/.+\.css)/ ) { + $self->http_file_( $client, $1, 'text/css' ); + return 1; + } + + if ( $url =~ /(manual\/.+\.html)/ ) { + $self->http_file_( $client, $1, 'text/html' ); + return 1; + } + # Check the password *************** *** 340,358 **** } - if ( $url =~ /\/(.+\.gif)/ ) { - $self->http_file_( $client, $1, 'image/gif' ); - return 1; - } - - if ( $url =~ /(skins\/.+\.css)/ ) { - $self->http_file_( $client, $1, 'text/css' ); - return 1; - } - - if ( $url =~ /(manual\/.+\.html)/ ) { - $self->http_file_( $client, $1, 'text/html' ); - return 1; - } - if ( ( defined($self->{form_}{session}) ) && ( $self->{form_}{session} ne $self->{session_key__} ) ) { session_page( $self, $client, 0, $url ); --- 355,358 ---- *************** *** 959,963 **** if ( $self->global_config_( 'debug' ) & 1 ) { ! $body .= "<p><a href=\"" . $self->logger()->debug_filename() . "\">$self->{language__}{Configuration_CurrentLogFile}</a>"; } --- 959,963 ---- if ( $self->global_config_( 'debug' ) & 1 ) { ! $body .= "<p><a href=\"" . $self->logger()->debug_filename() . "?session=$self->{session_key__}\">$self->{language__}{Configuration_CurrentLogFile}</a>"; } *************** *** 3100,3104 **** if ( $index == -1 ) { ! return $self->http_redirect( $client, '/history' ); } --- 3100,3104 ---- if ( $index == -1 ) { ! return $self->http_redirect_( $client, '/history' ); } |
From: <jgr...@us...> - 2003-05-23 15:59:35
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv31325/UI Modified Files: HTML.pm Log Message: Fix nasty security problem with jump_to_message where it was possible with the right combination of things to get the session key when you shouldn't be able to, and bypass the password screen Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.159 retrieving revision 1.160 diff -C2 -d -r1.159 -r1.160 *** HTML.pm 23 May 2003 14:49:19 -0000 1.159 --- HTML.pm 23 May 2003 15:59:26 -0000 1.160 *************** *** 280,283 **** --- 280,309 ---- } + # Check the password + + if ( $url eq '/password' ) { + if ( $self->{form_}{password} eq $self->config_( 'password' ) ) { + change_session_key( $self ); + delete $self->{form_}{password}; + $self->{form_}{session} = $self->{session_key__}; + if ( defined( $self->{form_}{redirect} ) ) { + $url = $self->{form_}{redirect}; + } else { + $url = '/'; + } + } else { + password_page( $self, $client, 1, '/' ); + return 1; + } + } + + # If there's a password defined then check to see if the user already knows the + # session key, if they don't then drop to the password screen + + if ( ( (!defined($self->{form_}{session})) || ($self->{form_}{session} eq '' ) || ( $self->{form_}{session} ne $self->{session_key__} ) ) && ( $self->config_( 'password' ) ne '' ) ) { + password_page( $self, $client, 0, $url ); + return 1; + } + if ( $url eq '/jump_to_message' ) { my $found = 0; *************** *** 326,353 **** if ( $url =~ /(manual\/.+\.html)/ ) { $self->http_file_( $client, $1, 'text/html' ); - return 1; - } - - # Check the password - if ( $url eq '/password' ) { - if ( $self->{form_}{password} eq $self->config_( 'password' ) ) { - change_session_key( $self ); - delete $self->{form_}{password}; - $self->{form_}{session} = $self->{session_key__}; - if ( defined( $self->{form_}{redirect} ) ) { - $url = $self->{form_}{redirect}; - } else { - $url = '/'; - } - } else { - password_page( $self, $client, 1, '/' ); - return 1; - } - } - - # If there's a password defined then check to see if the user already knows the - # session key, if they don't then drop to the password screen - if ( ( (!defined($self->{form_}{session})) || ($self->{form_}{session} eq '' ) || ( $self->{form_}{session} ne $self->{session_key__} ) ) && ( $self->config_( 'password' ) ne '' ) ) { - password_page( $self, $client, 0, $url ); return 1; } --- 352,355 ---- |
From: <jgr...@us...> - 2003-05-23 14:58:16
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv31948/Classifier Modified Files: Bayes.pm Log Message: Added bayes_hostname parameter to control the hostname used in the XPL and quarantine links. Defaults to the hostname of the machine returned by the Perl hostname command, note that the bayes_hostname is only used when stealth mode is off, otherwise 127.0.0.1 is used Index: Bayes.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v retrieving revision 1.146 retrieving revision 1.147 diff -C2 -d -r1.146 -r1.147 *** Bayes.pm 20 May 2003 20:20:32 -0000 1.146 --- Bayes.pm 23 May 2003 14:58:12 -0000 1.147 *************** *** 124,127 **** --- 124,130 ---- $self->{hostname__} = hostname; + # Allow the user to override the hostname + $self->config_( 'hostname', $self->{hostname__} ); + return 1; } *************** *** 964,968 **** $xpl .= "<http://"; ! $xpl .= $self->module_config_( 'html', 'local' )?"127.0.0.1":$self->{hostname__}; $xpl .= ":" . $self->module_config_( 'html', 'port' ) . "/jump_to_message?view=$temp_file>$eol"; --- 967,971 ---- $xpl .= "<http://"; ! $xpl .= $self->module_config_( 'html', 'local' )?"127.0.0.1":$self->config_( 'hostname' ); $xpl .= ":" . $self->module_config_( 'html', 'port' ) . "/jump_to_message?view=$temp_file>$eol"; |
From: <jgr...@us...> - 2003-05-23 14:49:24
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv28314/UI Modified Files: HTML.pm Log Message: Fix bug where XPL link was not working if message was not on first page of history Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.158 retrieving revision 1.159 diff -C2 -d -r1.158 -r1.159 *** HTML.pm 22 May 2003 17:00:19 -0000 1.158 --- HTML.pm 23 May 2003 14:49:19 -0000 1.159 *************** *** 291,294 **** --- 291,295 ---- # Reset any filters + $self->{form_}{filter} = ''; $self->{form_}{search} = ''; *************** *** 301,305 **** $self->invalidate_history_cache() if ( !$found ); if ( -e ( $self->global_config_( 'msgdir' ) . $file ) ) { ! $self->http_redirect_( $client, "/view?session=$self->{session_key__}&view=$self->{form_}{view}&start_message=$self->{form_}{start_message}" ); } else { $self->http_redirect_( $client, "/history" ); --- 302,306 ---- $self->invalidate_history_cache() if ( !$found ); if ( -e ( $self->global_config_( 'msgdir' ) . $file ) ) { ! $self->http_redirect_( $client, "/view?session=$self->{session_key__}&view=$self->{form_}{view}" ); } else { $self->http_redirect_( $client, "/history" ); *************** *** 3073,3077 **** $self->{form_}{filter} = '' if ( !defined( $self->{form_}{filter} ) ); ! my $index; foreach my $i ( $start_message .. $start_message + $self->config_( 'page_size' ) - 1) { if ( $self->{history_keys__}[$i] eq $mail_file ) { --- 3074,3078 ---- $self->{form_}{filter} = '' if ( !defined( $self->{form_}{filter} ) ); ! my $index = -1; foreach my $i ( $start_message .. $start_message + $self->config_( 'page_size' ) - 1) { if ( $self->{history_keys__}[$i] eq $mail_file ) { *************** *** 3079,3082 **** --- 3080,3102 ---- last; } + } + + # If we fail to find the index of the message we are looking for then + # do a full search of the history for it + + if ( $index == -1 ) { + foreach my $i ( 0 .. $self->history_size()-1 ) { + if ( $self->{history_keys__}[$i] eq $mail_file ) { + $index = $i; + $start_message = $i; + last; + } + } + } + + # If we still can't find the message then return to the history page + + if ( $index == -1 ) { + return $self->http_redirect( $client, '/history' ); } |
From: <sta...@us...> - 2003-05-23 00:55:57
|
Update of /cvsroot/popfile/engine/skins In directory sc8-pr-cvs1:/tmp/cvs-serv14146 Modified Files: Sleet.css Log Message: changes to fix footer for 0.19 per kraelen request Index: Sleet.css =================================================================== RCS file: /cvsroot/popfile/engine/skins/Sleet.css,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Sleet.css 28 Feb 2003 01:56:55 -0000 1.4 --- Sleet.css 23 May 2003 00:55:54 -0000 1.5 *************** *** 393,394 **** --- 393,405 ---- } + table.footer br { + display: none; + } + + .bottomLink { + margin: 1em; + } + + .bottomLink img { + display: none; + } |
From: <ssc...@us...> - 2003-05-22 23:33:59
|
Update of /cvsroot/popfile/engine/Proxy In directory sc8-pr-cvs1:/tmp/cvs-serv22529 Modified Files: Proxy.pm SMTP.pm Log Message: implement suppression of unsupported ESMTP extensions Index: Proxy.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Proxy.pm 9 May 2003 00:33:42 -0000 1.15 --- Proxy.pm 22 May 2003 23:33:55 -0000 1.16 *************** *** 332,335 **** --- 332,336 ---- # $regexp The pattern match to terminate echoing, compile using qr/pattern/ # $verbose (OPTIONAL) log output if 1, defaults to 0 if unset + # $suppress (OPTIONAL) suppress any lines that match, compile using qr/pattern/ # # echo all information from the $mail server until a single line matching $regexp is seen *************** *** 338,342 **** sub echo_to_regexp_ { ! my ( $self, $mail, $client, $regexp, $verbose ) = @_; $verbose = 0 if (!defined($verbose)); --- 339,343 ---- sub echo_to_regexp_ { ! my ( $self, $mail, $client, $regexp, $verbose, $suppress ) = @_; $verbose = 0 if (!defined($verbose)); *************** *** 346,357 **** last if ( $self->{alive_} == 0 ); ! ! if (!$verbose) { ! print $client $_; ! } else { ! # This creates log output ! ! $self->tee_($client, $_); ! } last if ( $_ =~ $regexp ); --- 347,362 ---- last if ( $self->{alive_} == 0 ); ! ! if (!defined($suppress) || !( $_ =~ $suppress )) { ! if (!$verbose) { ! print $client $_; ! } else { ! # This creates log output ! ! $self->tee_($client, $_); ! } ! } else { ! $self->log_("Suppressed: $_"); ! } last if ( $_ =~ $regexp ); Index: SMTP.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/SMTP.pm,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SMTP.pm 22 May 2003 09:25:03 -0000 1.11 --- SMTP.pm 22 May 2003 23:33:55 -0000 1.12 *************** *** 128,132 **** $self->log_( "Command: --$command--" ); ! if ( $command =~ /HELO|EHLO/i ) { if ( $self->config_( 'chain_server' ) ) { if ( $mail = $self->verify_connected_( $mail, $client, $self->config_( 'chain_server' ), $self->config_( 'chain_port' ) ) ) { --- 128,132 ---- $self->log_( "Command: --$command--" ); ! if ( $command =~ /HELO/i ) { if ( $self->config_( 'chain_server' ) ) { if ( $mail = $self->verify_connected_( $mail, $client, $self->config_( 'chain_server' ), $self->config_( 'chain_port' ) ) ) { *************** *** 146,149 **** --- 146,191 ---- next; } + + # Handle EHLO specially so we can control what ESMTP extensions are negotiated + + if ( $command =~ /EHLO/i ) { + if ( $self->config_( 'chain_server' ) ) { + if ( $mail = $self->verify_connected_( $mail, $client, $self->config_( 'chain_server' ), $self->config_( 'chain_port' ) ) ) { + + # TODO: Make this user-configurable (-smtp_add_unsupported, -smtp_remove_unsupported) + + # Stores a list of unsupported ESMTP extensions + + my $unsupported; + + + + # RFC 1830, http://www.faqs.org/rfcs/rfc1830.html + # CHUNKING and BINARYMIME both require the support of the "BDAT" command + # support of BDAT requires extensive changes to POPFile's internals and + # will not be implemented at this time + + $unsupported .= "CHUNKING|BINARYMIME"; + + # append unsupported ESMTP extensions to $unsupported here, important to maintain + # format of OPTION|OPTION2|OPTION3 + + $unsupported = qr/250\-$unsupported/; + + $self->smtp_echo_response_( $mail, $client, $command, $unsupported ); + + + } else { + last; + } + + $self->flush_extra_( $mail, $client, 0 ); + } else { + $self->tee_( $client, "421 service not available$eol" ); + } + + next; + } + if ( ( $command =~ /MAIL FROM:/i ) || *************** *** 212,215 **** --- 254,258 ---- # $client The local mail client (created with IO::) that needs the response # $command The text of the command to send (we add an EOL) + # $suppress (OPTIONAL) suppress any lines that match, compile using qr/pattern/ # # Send $command to $mail, receives the response and echoes it to the $client and the debug *************** *** 224,232 **** sub smtp_echo_response_ { ! my ($self, $mail, $client, $command) = @_; my $response = $self->get_response_( $mail, $client, $command ); if ( $response =~ /^\d\d\d-/ ) { ! $self->echo_to_regexp_($mail, $client, qr/^\d\d\d /, 1); } return ( $response =~ /$self->{good_response_}/ ); --- 267,275 ---- sub smtp_echo_response_ { ! my ($self, $mail, $client, $command, $suppress) = @_; my $response = $self->get_response_( $mail, $client, $command ); if ( $response =~ /^\d\d\d-/ ) { ! $self->echo_to_regexp_($mail, $client, qr/^\d\d\d /, 1, $suppress); } return ( $response =~ /$self->{good_response_}/ ); |
From: <jgr...@us...> - 2003-05-22 18:51:47
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1:/tmp/cvs-serv19700 Added Files: Slovak.msg Log Message: Added Slovak translation --- NEW FILE: Slovak.msg --- # Copyright (c) 2001-2003 John Graham-Cumming # Translation Martin Minka (su...@k2...) # Identify the language and character set used for the interface LanguageCode sk LanguageCharset windows-1250 # This is used to get the appropriate subdirectory for the manual ManualLanguage en # Common words that are used on their own all over the interface Apply Poui On Zapnuté Off Vypnuté TurnOn Zapnú TurnOff Vypnú Add Prida Remove Odstráni Previous Predchádzajúci Next Nasledujúci From Odosielate¾ Subject Subjekt Classification Klasifikácia Reclassify Preklasifikovanie Undo Vráti Close Zatvori Find Nájs Filter Filter Yes Áno No Nie ChangeToYes Zmeni na Áno ChangeToNo Zmeni na Nie Bucket Kô Magnet Magnet Delete Zmaza Create Vytvori To Príjemca Total Celkom Rename Premenova Frequency Frekvencia Probability Pravdepodobnos Score Hodnotenie Lookup H¾adanie # The header and footer that appear on every UI page Header_Title POPFile riadiaci panel Header_Shutdown Zastavi POPFile Header_History História Header_Buckets Koe Header_Configuration Konfigurácia Header_Advanced Rozírené Header_Security Bezpeènos Header_Magnets Magnety Footer_HomePage POPFile domovská stránka Footer_Manual Manuál Footer_Forums Diskusie Footer_FeedMe Podpori Footer_RequestFeature Poiadavka na funkcionalitu Footer_MailingList Potová skupina Configuration_Error1 Znak oddelovaèa musí by len jeden znak Configuration_Error2 Port uívate¾ského rozhrania musí by v rozpätí èísel 1 a 65535 Configuration_Error3 Port pre POP3 musí by v rozpätí èísel 1 a 65535 Configuration_Error4 Ve¾kos stránky musí by v rozpätí èísel 1 a 1000 Configuration_Error5 Poèet dní v histórii musí by v rozpätí èísel 1 a 366 Configuration_Error6 Hodnota èakania na TCP musí by v rozpätí èísel 10 a 300 Configuration_POP3Port Port pre POP3 Configuration_POP3Update Port zmenený na %s; this change will not take affect until you restart POPFile Configuration_Separator Znak oddelovaèa Configuration_SepUpdate Oddelovaè zmenený na %s Configuration_UI Port uívate¾ského rozhrania Configuration_UIUpdate Port uívate¾ského rozhrania zmenený na %s; this change will not take affect until you restart POPFile Configuration_History Poèet správ na stránku Configuration_HistoryUpdate Zmenený poèet správ na stránku na %s Configuration_Days Poèet dní uchovania histórie Configuration_DaysUpdate Zmenený poèet dní uchovania histórie na %s Configuration_UserInterface Uívate¾ské rozhranie Configuration_Skins Vzh¾ad Configuration_SkinsChoose Zvol vzh¾ad Configuration_Language Jazyk Configuration_LanguageChoose Zvol jazyk Configuration_ListenPorts Porty Configuration_HistoryView Zobrazenie histórie Configuration_TCPTimeout Èakanie na pripojenie TCP Configuration_TCPTimeoutSecs Èakanie na pripojenie TCP v sekundách Configuration_TCPTimeoutUpdate Èakanie na pripojenie TCP zmenené na %s Configuration_ClassificationInsertion Vkladanie textov do správy Configuration_SubjectLine Zmena textu subjektu Configuration_XTCInsertion Pridanie hlavièky X-Text-Classification Configuration_XPLInsertion Pridanie hlavièky X-POPFile-Link Configuration_Logging Protokol spracovania Configuration_None iadny Configuration_ToScreen Na obrazovku Configuration_ToFile Do súboru Configuration_ToScreenFile Na obrazovku a do súboru Configuration_LoggerOutput Výstup protokolu Configuration_GeneralSkins Vzh¾ad Configuration_SmallSkins Malý vzh¾ad Configuration_TinySkins Drobný vzh¾ad Advanced_Error1 '%s' sa u nachádza v zozname Ignorované slová Advanced_Error2 Ignorované slová môu obsahova len: alfanumerické znaky, ., _, -, @ Advanced_Error3 '%s' pridané do zoznamu Ignorované slová Advanced_Error4 '%s' sa nenachádza v zozname Ignorované slová Advanced_Error5 '%s' odstránené zo zoznamu Ignorované slová Advanced_StopWords Ignorované slová Advanced_Message1 POPFile ignoruje nasledovné, èasto pouívané slová: Advanced_AddWord Prida slovo Advanced_RemoveWord Odstráni slovo History_Filter (zobrazuje sa len kô <font color="%s">%s</font>) History_FilterBy Filtrova pod¾a History_Search (vyh¾adané pod¾a odosielate¾a/subjektu %s) History_Title Posledné správy History_Jump Prejdi na správu History_ShowAll Zobraz vetky History_ShouldBe Má by History_NoFrom prazdny riadok odosielate¾a History_NoSubject prazdny riadok subjektu History_ClassifyAs Klasifikuj ako History_MagnetUsed Pouitý magnet History_ChangedTo Zmeò na <font color="%s">%s History_Already U reklasifikované na <font color="%s">%s</font> History_RemoveAll Odstráò vetko History_RemovePage Odstáò stranu History_Remove Ak chce zmaza záznamy z histórie, klikni History_SearchMessage H¾adaj odosielate¾a/subjekt History_NoMessages iadne správy History_ShowMagnet zmagnetizované History_Magnet (zobrazujú sa len záznamy klasifikované magnetom) History_ResetSearch Vyprázdni Password_Title Heslo Password_Enter Zadaj heslo Password_Go Vstúp! Password_Error1 Nesprávne heslo Security_Error1 Bezpeènostný port musí by v rozpätí èísel 1 a 65535 Security_Stealth Utajený mód/Èinnos servera Security_NoStealthMode Nie (Utajený mód) Security_ExplainStats (Ak je toto zapnuté, POPFile pole raz za deò nasledovné tri hodnoty na stránku www.usethesource.com: bc (celkový poèet koov, ktoré má), mc (celkový poèet správ, ktoré POPFile klasifikoval) a ec (celkový poèet chybných klasifikácii). Tieto hodnoty sa ukladajú do súboru a budú pouité na vyhodnotenie niektorých tatistík o tom ako ¾udia pouívajú POPFile a ako dobre funguje. Môj web server uchováva tieto informácie pribline 5 dní a potom ich zmae; Neuchovávam informácie prepojujúce tatistické údaje s konkrétnymi IP adresami.) Security_ExplainUpdate (Ak je toto zapnuté, POPFile pole raz za deò nasledovné tri hodnoty na stránku www.usethesource.com: ma (hlavné èíslo verzie pouívaného POPFile), mi (ved¾ajie èíslo verzie pouívaného POPFile) a bn (èíslo kompilácie pouívaného POPFile). POPFile dostane odpoveï vo forme obrázku, ktorý sa zobrazí na vrchu stránku, ak je k dispozícii nová verzia. Môj web server uchováva tieto informácie pribline 5 dní a potom ich zmae; Neuchovávam informácie prepojujúce tatistické údaje s konkrétnymi IP adresami.) Security_PasswordTitle Heslo uívate¾ského rozhrania Security_Password Heslo Security_PasswordUpdate Heslo zmenené na %s Security_AUTHTitle Bezpeèné overovanie hesla/AUTH Security_SecureServer Bezpeènostný server Security_SecureServerUpdate Bezpeènostný server zmenený na %s; táto zmena vstúpi do platnosti a po retarte POPFile Security_SecurePort Bezpeènostný port Security_SecurePortUpdate Port zmenený na %s; táto zmena vstúpi do platnosti a po retarte POPFile Security_POP3 Povo¾ POP3 pripojenia zo vzdialených poèítaèov (vyaduje retart POPFile) Security_UI Povo¾ HTTP (uívate¾ské rozhranie) pripojenia zo vzdialených poèítaèov (vyaduje retart POPFile) Security_UpdateTitle Automatická kontrola nových verzií Security_Update Kontroluj denne nové verzie programu POPFile Security_StatsTitle Oznamova tatistiky Security_Stats Posiela tatistiky denne Magnet_Error1 Magnet '%s' u existuje v koi '%s' Magnet_Error2 Nový magnet '%s' by sa bil s existujúcim magnetom '%s' v koi '%s' a mohol by spôsobova dvojzmyselné výsledky. Nový magnet nebol pridaný. Magnet_Error3 Vytvorený nový magnet '%s' v koi '%s' Magnet_CurrentMagnets Aktuálne magnety Magnet_Message1 Nasledovné magnety klasifikujú potu vdy do urèeného koa. Magnet_CreateNew Vytvori nový magnet Magnet_Explanation Existujú tri typy magnetov:</b> <ul><li><b>Adresa alebo meno odosielae¾a:</b> (políèko From: v pote) Napr.: jo...@co... pre konkrétnu adresu, <br />company.com pre kadého odosielate¾a z adresy company.com, <br />John Doe pre konkrétnu osobu, John pre kadného Johna</li><li><b>Adresa alebo meno príjemcu:</b> To isté ako predchádzajúce, ale pre políèko To: poty</li> <li><b>Slová v subjekte:</b> Napr.: hello zaradí kadú potu, ktorá má hello v subjekte</li></ul> Magnet_MagnetType Typ magnetu Magnet_Value Hodnota Magnet_Always Zaradí sa vdy do koa Bucket_Error1 Názvy koov môu obsahova len znaky od a do z (malé písmo) plus - a _ Bucket_Error2 Kô s názvom %s u existuje Bucket_Error3 Vytvorený kô s názvom %s Bucket_Error4 Prosím, nezadávaj prázdne názvy Bucket_Error5 Kô je premenovaný z %s na %s Bucket_Error6 Zmazaný kô %s Bucket_Title Preh¾ad Bucket_BucketName Názov koa Bucket_WordCount Poèet slov Bucket_WordCounts Poèty slov Bucket_UniqueWords Jedineèné slová Bucket_SubjectModification Modifikácia subjektu Bucket_ChangeColor Zmena farby Bucket_NotEnoughData Nedostatok údajov Bucket_ClassificationAccuracy Presnos klasifikácie Bucket_EmailsClassified Klasifikovaná pota Bucket_EmailsClassifiedUpper Klasifikovaná pota Bucket_ClassificationErrors Chyby klasifikácie Bucket_Accuracy Presnos Bucket_ClassificationCount Poèty klasifikácie Bucket_ResetStatistics Vynulovanie tatistiky Bucket_LastReset Posledné vynulovanie Bucket_CurrentColor aktuálna farba %s je %s Bucket_SetColorTo Nastav farbu %s na %s Bucket_Maintenance Údrba Bucket_CreateBucket Vytvor kô s názvom Bucket_DeleteBucket Zma kô s názvom Bucket_RenameBucket Premenuj kô s názvom Bucket_Lookup Vyh¾adanie Bucket_LookupMessage Vyh¾adaj slovo v kooch Bucket_LookupMessage2 Výsledok h¾adania pre Bucket_LookupMostLikely <b>%s</b> sa najèastejie nachádza v koi <font color="%s">%s</font> Bucket_DoesNotAppear <p><b>%s</b> sa nenachádza v ani jednom koi Bucket_DisabledGlobally Globálne vypnuté Bucket_To na Bucket_Quarantine Karanténa SingleBucket_Title Detail pre %s SingleBucket_WordCount Poèet slov v koi SingleBucket_TotalWordCount Celkový poèet slov SingleBucket_Percentage Percento z celku SingleBucket_WordTable Tabu¾ka slov pre %s SingleBucket_Message1 Slová oznaèené s (*) boli pouité na klasifikáciu poèas aktuálneho spustenia POPFile. Klikni na ktoréko¾vek slovo, ak chce vidie jeho výskyt vo vetkých kooch. SingleBucket_Unique %s jedineèných Session_Title POPFile session has expired Session_Error Your POPFile session has expired. Mohlo to nasta vypnutím a zapnutím POPFile, prièom ste nechali otvorený web browser. Prosím, ak chcete pokraèova v práci s POPFile, kliknite na niektorú z vrchných liniek. Header_MenuSummary Táto tabu¾ka je navigaèné menu, ktoré sprístupòuje vetky ostatné stránky riadiaceho panelu. History_MainTableSummary Táto tabu¾ka zobrazuje odosielate¾ov a subjekty aktuálne prijatých správ a umonuje ich prezera a klasifikova. Kliknutím na text subjektu sa zobrazí znenie správy, spolu s informáciou preèo bola klasifikovaná tak, ako bola. Ståpec 'Má by' umoòuje urèi, do ktorého koa správa patrí, alebo zrui takúto zmenu. Ståpec 'Odstráni' ti umoòuje zmaza danú správu z histórie, ak ju viac nepotrebuje. History_OpenMessageSummary Táto tabu¾ka obsahuje celý text správy, spolu so zvýraznenými slovami, ktoré boli pouité pri klasifikácii do daného koa. Bucket_MainTableSummary Táto tabu¾ka obsahuje preh¾ad klasifikaèných koov. Kadý riadok zobrazuje názov koa, celkový poèet slov v tomto koi, aktuálny poèet individuálnych slov v kadom koi, èi bude text subjektu správy zmenený ak bude správa klasifikovaná, èi zaradi správy v tomto koi do karantény a tabu¾ku, kde sa dá vybra farba ktoru sa bude zobrazova vetko na riadiacom panely, týkajúce sa tohto koa. Bucket_StatisticsTableSummary Táto tabu¾ka ponúka tri tatistické preh¾ady o výkone POPFile. Prvý zobrazuje presnos klasifikácie, druhý ko¾ko správ bolo klasifikovaných a do ktorých koov a tretí zobrazuje ko¾ko slov obsahuje ktorý kô a aké je ich relatívne percentuálne zastúpenie. Bucket_MaintenanceTableSummary Táto tabu¾ka obsahuje formuláre, ktoré ti umonujú vytvori, zmaza alebo premenova koe a vyh¾ada zastúpenie slova vo vetkých kooch a jeho relatívne zastúpenie. Bucket_AccuracyChartSummary Táto tabu¾ka graficky zobrazuje presnos klasifikácie správ. Bucket_BarChartSummary Táto tabu¾ka graficky zobrazuje percentuálne zaplnenie jednotlivých koov. Je pouitá zároveò pre poèet klasifikovaných správ a celkový poèet slov. Bucket_LookupResultsSummary Táto tabu¾ka zobrazuje pravdepodobnos priradenú k jednotlivým slovám v korpuse. Pre kadý kô zobrazuje frekvenciu výskytu slova, pravdepodobnos s akou sa vyskytuje v koi a celkový vplyv slova na zaradenie správy do koa ak sa v nej dané slovo vyskytuje. Bucket_WordListTableSummary Táto tabu¾ka zobrazuje zoznam vetkých slov pre kô, slová sú zoradené pod¾a zaèiatoèných znakov po riadkoch. Magnet_MainTableSummary Táto tabu¾ka zobrazuje zoznam magnetov, ktoré sú pouívané na automatické klasifikovanie správ pod¾a presných pravidiel. Kadý riadok zobrazuje ako je magnet definovaný, pre ktorý kô slúi a tlaèidlo na zmazanie magnetu. Configuration_MainTableSummary Táto tabu¾ka obsahuje formuláre ktoré ti umoòujú konfigurova POPFile. Configuration_InsertionTableSummary Táto tabu¾ka obsahuje tlaèidlá, ktoré urèujú èi sa majú alebo nemajú vykona niektoré zmeny v záhlaví alebo texte subjektu správy skôr, ako sa posunie k potovému klientovi. Security_MainTableSummary Táto tabu¾ka poskytuje nieko¾ko nastavení, ktoré ovplyvòujú bezpeènos celkovej konfigurácie POPFile, èi sa má vykonáva automatická kontrola existencie zmien programu a èi sa má zasiela tatistika spracovania do centrálnej databázy autora programu. Advanced_MainTableSummary Táto tabu¾ka zobrazuje zoznam slov, ktoré POPFile ignoruje pri klasifikovaní správ z dôvodu ich relatívne èastého výskytu vo veobecných správach. Sú zobrazené v riadkoch v závislosti od prvého znaku. |
From: <jgr...@us...> - 2003-05-22 18:20:07
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv1139/windows Modified Files: remove.ico Log Message: New Portugese translation; updated icon; patch to Windows skin Index: remove.ico =================================================================== RCS file: /cvsroot/popfile/windows/remove.ico,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvs6qVlVD and /tmp/cvseoTOs7 differ |
From: <jgr...@us...> - 2003-05-22 18:20:06
|
Update of /cvsroot/popfile/engine/skins In directory sc8-pr-cvs1:/tmp/cvs-serv1139/engine/skins Modified Files: windows.css Log Message: New Portugese translation; updated icon; patch to Windows skin Index: windows.css =================================================================== RCS file: /cvsroot/popfile/engine/skins/windows.css,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** windows.css 24 Apr 2003 23:08:01 -0000 1.1 --- windows.css 22 May 2003 18:20:02 -0000 1.2 *************** *** 1,354 **** ! /* ! Windows skin emulates the look and feel of the Windows GUI without loading any ! graphics. Almost all the colors are system colors so the skin fits right in ! with your color scheme. It looks best by far in Mozilla 1.3 on any OS. IE 6 ! is ok but doesn't show the full effect, IE 5 is ugly but usable. Opera 7.10 ! and KDE Konqueror 3.04 are pretty good. Konqueror 2, and Mac OS9 IE 5 are not ! bad. Its does well on OS X's Safari 1.0 beta Opera, and IE 5. It seems on ! most all Mac browsers the "title bar" is not working correctly due to the way ! they handle system colors. ! ! Original design by Joseph Connors (TexasFett) <wi...@te...>, ! but wouldn't look nearly as good without Dan Martin (Kraelen). Thanks Dan. ! ! CSS2 sytle comments are below the line they apply to. CSS1 style comments are ! hacks to make the skin look better on certain browsers that ignore CSS1 ! commenting. But that means its not fully valid CSS2. ! ! Last Major Update: 3-29-03 ! Minor IE 6 Update: 4-19-03 ! */ ! ! body { ! background-color: Background; ! font: caption; ! /* set the system fonts for everything. */ ! margin-top: 1%; ! margin-left: 1%; ! margin-right: 1%; ! margin-bottom: 1em; ! } ! ! .shell { ! border-style: outset; ! border-color: ActiveBorder; ! border-width: 2px; ! background-color: ThreeDFace; ! width: 100%; ! padding: 0; ! } ! ! .shellTop { ! /* Was really getting in our way, got around it with absolute positioning. */ ! padding: 0; ! margin: 0; ! } ! ! .naked { ! color: ButtonText; ! background-color: transparent; ! font-weight: normal; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! a:link { ! color: darkblue; ! text-decoration: none; ! } ! ! a:visited { ! color: darkblue; ! text-decoration: none; ! } ! ! A:link:hover, A:visited:hover { ! text-decoration: underline; ! } ! ! submit { ! color: ButtonText; ! background-color: ThreeDFace; ! } ! ! table.head { ! top: 0; ! position: absolute; ! /* fixes shellTop "border" around head on Moz but causes problems with Opera */ ! // position: relative; ! /* this hack fixes the head on IE and Konq, they ignore CSS1 style comments */ ! margin: 1%; ! width: 98%; ! color: ButtonText; ! background-color: ActiveCaption; ! border: 2px outset ActiveBorder; ! } ! ! td.settingsPanel { ! border: 2px groove ActiveBorder; ! padding: 5px; ! /* want about 5px hoizontal betwen boxes on bucket page but doens't work */ ! } ! ! td.head { ! font-weight: bold; ! color: CaptionText; ! width: 50%; ! /* fix for Opera as long as the window is wide enough */ ! } ! ! .head { ! margin: 0px; ! } ! ! .head a { ! text-decoration: none; ! color: ActiveCaption; ! // color: CaptionText; ! /* hack that fixes head on IE and Konq, they ignore CSS1 style comments */ ! vertical-align: middle; ! } ! ! .head a:after { ! content:" X "; ! font-weight: bold; ! border: 1px outset ActiveBorder; ! color: ButtonText; ! background-color: ButtonFace; ! } ! ! .head a:hover { ! color: red; ! text-decoration: none; ! } ! ! .menu { ! padding: 0; ! margin: 0; ! } ! ! table.menu { ! padding-top: 20px; ! } ! ! .menu A, .menu A:hover { ! color: ButtonText; ! text-decoration: none; ! font-weight: normal; ! } ! ! .menuSelected A { ! Color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 6px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! border-radius-topleft: 5px; ! border-radius-topright: 5px; ! } ! ! .menuSelected { ! padding: 0; ! } ! ! .menuStandard { ! padding-top: 6px; ! padding-left: 0px; ! padding-right: 0px; ! } ! ! .menuStandard A { ! color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 1px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! border-radius-topleft: 5px; ! border-radius-topright: 5px; ! } ! ! .menuSpacer { ! width: 0; ! margin: 0; ! padding: 0; ! } ! ! .menuIndent { ! font-size: 0; ! width: 0; ! margin: 0; ! padding: 0; ! } ! ! .menu* a:hover { ! /* required for Konqueror to not show default hover color */ ! text-decoration: none; ! color: ButtonText; ! } ! ! .menu* a:visited { ! /* required for IE 6 to leave the visited menu text black */ ! text-decoration: none; ! color: ButtonText; ! } ! ! h2 { ! font-weight: bold; ! font-size: 1.2em; ! } ! ! tr.rowEven { ! background-color: transparent; ! /* If you would like more color try lightblue. */ ! } ! ! tr.rowOdd { ! background-color: lightgrey; ! /* Try AppWorkspace if you would like a system color along with transparent */ ! } ! ! tr.rowHighlighted { ! background-color: InfoBackground; ! } ! ! tr.rowEven:hover { ! background-color: InfoBackground; ! } ! ! tr.rowOdd:hover { ! background-color: InfoBackground; ! } ! ! .footer { ! color: InfoText; ! margin-top: 1em; ! border: 1px solid black; ! background-color: InfoBackground; ! margin-left: 20%; ! margin-right: 20%; ! font-weight: normal; ! } ! ! td.footerBody { ! text-align: center; ! padding: 2px; ! } ! ! td.stabColor01 { ! border: 1px outset ActiveBorder; ! } ! ! td.accuracy0to49 { ! background-color: red; ! color: black; ! } ! ! td.accuracy50to93 { ! background-color: yellow; ! color: black; ! } ! ! td.accuracy94to100 { ! background-color: green; ! color: black; ! } ! ! td.historyNavigatorTop { ! text-align: right; ! padding-right: 0.5em; ! } ! ! td.historyNavigatorBottom { ! text-align: right; ! padding-right: 0.5em; ! padding-bottom: 1em; ! } ! ! .historyWidgetsTop { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .historyTable { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .openMessageTable, .lookupResultsTable { ! border-width: 2px; ! border-style: inset; ! } ! ! .openMessageCloser { ! text-align: right; ! font-size: larger; ! font-weight: bold; ! } ! ! .openMessageBody { ! font-size: 1em; ! text-align: left; ! } ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.securityExplanation { ! margin-left: 0.8em; ! margin-right: 0.8em; ! margin-bottom: 0.8em; ! margin-top: 0; ! font-size: 95%; ! } ! ! span.graphFont { ! font-size: 95%; ! } ! ! /* - uncomment this section if you want On text to be bold ! span.bucketsWidgetStateOn { ! font-weight: bold; ! } ! ! span.configWidgetStateOn { ! font-weight: bold; ! } ! ! span.securityWidgetStateOn { ! font-weight: bold; ! } ! */ ! ! /* - uncomment this section for small version and adjust the percent as needed ! * { ! font-size: 98%; ! } ! */ --- 1,394 ---- ! /* ! Windows skin emulates the look and feel of the Windows GUI without loading any ! graphics. Almost all the colors are system colors so the skin fits right in ! with your color scheme. It looks best by far in Mozilla 1.3 on any OS. IE 6 ! is ok but doesn't show the full effect, IE 5 is ugly but usable. Opera 7.10 ! and KDE Konqueror 3.04 are pretty good. Konqueror 2, and Mac OS9 IE 5 are not ! bad. Its does well on OS X's Safari 1.0 beta Opera, and IE 5. It seems on ! most Mac browsers the "title bar" is not working correctly due to the way ! they handle system colors. ! ! Original design by Joseph Connors (TexasFett) <wi...@te...>, ! but wouldn't look nearly as good without Dan Martin (Kraelen). Thanks Dan. ! ! CSS2 sytle comments are below the line they apply to. CSS1 style comments are ! hacks to make the skin look better on IE and Konqueror since they ignore CSS1 ! commenting. But that means its not fully valid CSS2. ! ! 03-29-03: Last Major Update ! 04-19-03: Fix menu visited color on IE 6 - version accepted into POPFile 0.19 ! 05-03-03: Center footer better and add "icon" in Mozilla, maybe Opera head fix ! 05-05-03: Changed a lot of head stuff, got rid of abs positioning ! */ ! ! body { ! background-color: Background; ! font: caption; ! /* set the system fonts for everything. */ ! margin-top: 1%; ! margin-left: 1%; ! margin-right: 1%; ! margin-bottom: 1em; ! } ! ! .shell { ! border-style: outset; ! border-color: ActiveBorder; ! border-width: 2px; ! background-color: ThreeDFace; ! width: 100%; ! padding: 0; ! } ! ! .shellTop { ! width: 100%; ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! .shellBottom { ! display: none; ! } ! ! .shellLeft { ! display: none; ! } ! ! .shellRight { ! display: none; ! } ! ! .shellTopRow { ! display: none; ! } ! ! .shellTopLeft { ! display: none; ! } ! ! .shellTopCenter { ! display: none; ! } ! ! .shellTopRight { ! display: none; ! } ! ! .shellBottomLeft { ! display: none; ! } ! ! .shellBottomRight { ! display: none; ! } ! ! .naked { ! color: ButtonText; ! background-color: transparent; ! font-weight: normal; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! a:link { ! color: darkblue; ! text-decoration: none; ! } ! ! a:visited { ! color: darkblue; ! text-decoration: none; ! } ! ! A:link:hover, A:visited:hover { ! text-decoration: underline; ! } ! ! submit { ! color: ButtonText; ! background-color: ThreeDFace; ! } ! ! table.head { ! width: 100%; ! color: ButtonText; ! background-color: ActiveCaption; ! border: 2px outset ActiveBorder; ! margin: 0; ! } ! ! td.settingsPanel { ! border: 2px groove ActiveBorder; ! padding: 5px; ! /* want about 5px hoizontal between boxes on bucket page but doesn't work */ ! } ! ! .head { ! font-weight: bold; ! color: CaptionText; ! margin: 0; ! } ! ! .head a { ! text-decoration: none; ! color: ActiveCaption; ! // color: CaptionText; ! /* hack that fixes head on IE and Konq */ ! vertical-align: middle; ! } ! ! .head a:after { ! /* Close button in Mozilla */ ! content:" X "; ! font-weight: bold; ! border: 1px outset ActiveBorder; ! color: ButtonText; ! background-color: ButtonFace; ! } ! ! td.head:before { ! /* POPFile "icon" for Mozilla */ ! content:"@ "; ! font-weight: bold; ! color: red; ! background-color: transparent; ! } ! ! .head a:hover { ! color: red; ! text-decoration: none; ! } ! ! .menu { ! padding: 0; ! margin: 0; ! } ! ! table.menu { ! padding-top: 20px; ! } ! ! .menu A, .menu A:hover { ! color: ButtonText; ! text-decoration: none; ! font-weight: normal; ! } ! ! .menuSelected A { ! Color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 6px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! border-radius-topleft: 5px; ! border-radius-topright: 5px; ! } ! ! .menuSelected { ! padding: 0; ! } ! ! .menuStandard { ! padding-top: 6px; ! padding-left: 0px; ! padding-right: 0px; ! } ! ! .menuStandard A { ! color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 1px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! border-radius-topleft: 5px; ! border-radius-topright: 5px; ! } ! ! .menuSpacer { ! width: 0; ! margin: 0; ! padding: 0; ! } ! ! .menuIndent { ! font-size: 0; ! width: 0; ! margin: 0; ! padding: 0; ! } ! ! .menu* a:hover { ! /* required for Konqueror to not show default hover color */ ! text-decoration: none; ! color: ButtonText; ! } ! ! .menu* a:visited { ! /* required for IE 6 to leave the visited menu text black */ ! text-decoration: none; ! color: ButtonText; ! } ! ! h2 { ! font-weight: bold; ! font-size: 1.2em; ! } ! ! tr.rowEven { ! background-color: transparent; ! /* If you would like more color try lightblue. */ ! } ! ! tr.rowOdd { ! background-color: lightgrey; ! /* Try AppWorkspace if you would like a system color along with transparent */ ! } ! ! tr.rowHighlighted { ! background-color: InfoBackground; ! } ! ! tr.rowEven:hover { ! background-color: InfoBackground; ! } ! ! tr.rowOdd:hover { ! background-color: InfoBackground; ! } ! ! .footer { ! color: InfoText; ! border: 1px solid black; ! background-color: InfoBackground; ! font-weight: normal; ! margin: auto; ! /* this gives actual table centering in some browsers */ ! margin-top: 1em; ! text-align: center; ! /* this seems to work in IE */ ! } ! ! td.footerBody { ! text-align: center; ! padding: 2px; ! } ! ! td.stabColor01 { ! border: 1px outset ActiveBorder; ! } ! ! td.accuracy0to49 { ! background-color: red; ! color: black; ! } ! ! td.accuracy50to93 { ! background-color: yellow; ! color: black; ! } ! ! td.accuracy94to100 { ! background-color: green; ! color: black; ! } ! ! td.historyNavigatorTop { ! text-align: right; ! padding-right: 0.5em; ! } ! ! td.historyNavigatorBottom { ! text-align: right; ! padding-right: 0.5em; ! padding-bottom: 1em; ! } ! ! .historyWidgetsTop { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .historyTable { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .openMessageTable, .lookupResultsTable { ! border-width: 2px; ! border-style: inset; ! } ! ! .openMessageCloser { ! text-align: right; ! font-size: larger; ! font-weight: bold; ! } ! ! .openMessageBody { ! font-size: 1em; ! text-align: left; ! } ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.securityExplanation { ! margin-left: 0.8em; ! margin-right: 0.8em; ! margin-bottom: 0.8em; ! margin-top: 0; ! font-size: 95%; ! } ! ! span.graphFont { ! font-size: 95%; ! } ! ! /* - uncomment this section if you want On text to be bold ! span.bucketsWidgetStateOn { ! font-weight: bold; ! } ! ! span.configWidgetStateOn { ! font-weight: bold; ! } ! ! span.securityWidgetStateOn { ! font-weight: bold; ! } ! */ ! ! /* - uncomment this section for small version and adjust the percent as needed ! * { ! font-size: 98%; ! } ! */ |
From: <jgr...@us...> - 2003-05-22 18:20:06
|
Update of /cvsroot/popfile/windows/POPFileIcon In directory sc8-pr-cvs1:/tmp/cvs-serv1139/windows/POPFileIcon Modified Files: popfile.ico Log Message: New Portugese translation; updated icon; patch to Windows skin Index: popfile.ico =================================================================== RCS file: /cvsroot/popfile/windows/POPFileIcon/popfile.ico,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvs0swQZO and /tmp/cvs6D2TGt differ |
From: <jgr...@us...> - 2003-05-22 18:20:05
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1:/tmp/cvs-serv1139/engine/languages Modified Files: Português do Brasil.msg Log Message: New Portugese translation; updated icon; patch to Windows skin Index: Português do Brasil.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/Português do Brasil.msg,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Português do Brasil.msg 19 May 2003 21:01:09 -0000 1.11 --- Português do Brasil.msg 22 May 2003 18:20:01 -0000 1.12 *************** *** 30,34 **** ChangeToYes Trocar para Sim ChangeToNo Trocar para Não ! Bucket Bucket Magnet Ímã Delete Excluir --- 30,34 ---- ChangeToYes Trocar para Sim ChangeToNo Trocar para Não ! Bucket Balde Magnet Ímã Delete Excluir *************** *** 46,50 **** Header_Shutdown Desligar Header_History Histórico ! Header_Buckets Buckets Header_Configuration Configuração Header_Advanced Avançado --- 46,50 ---- Header_Shutdown Desligar Header_History Histórico ! Header_Buckets Baldes Header_Configuration Configuração Header_Advanced Avançado *************** *** 109,113 **** Advanced_RemoveWord Remover palavra ! History_Filter (apenas mostrando o bucket <font color="%s">%s</font>) History_FilterBy Filter By History_Search (procurado pelo assunto %s) --- 109,113 ---- Advanced_RemoveWord Remover palavra ! History_Filter (apenas mostrando o balde <font color="%s">%s</font>) History_FilterBy Filter By History_Search (procurado pelo assunto %s) *************** *** 138,142 **** Security_Stealth Modo Stealth/Operação Servidor Security_NoStealthMode Não (Modo Stealth) ! Security_ExplainStats (Com isto ligado o POPFile envia uma vez por dia os seguintes três valores para um script em www.usethesource.com: bc (o número total de buckets que você tem), mc (o número total de mensagens que o POPFile classificou) e ec (o número total de erros de classificação). Isto fica guardado em um arquivo e eu vou usar para publicar algumas estatísticas sobre como as pessoas usam o POPFile e o quão bem ele funciona. Meu servidor web mantém seus arquivos de log por mais ou menos 5 dias e então os deleta; eu não estou guardando nenhuma conexão entre as estatístcas e os endereços IP de cada um.) Security_ExplainUpdate (Com isto ligado o POPFile envia uma vez por dia os seguintes três valores para um script em www.usethesource.com: ma (o número maior da versão do seu POPFile), mi (o número menor da versão do seu POPFile) e bn (o número do build da sua versão do POPFile). O POPFile recebe uma resposta na forma de um gráfico que aparece no topo da página se uma nova versão estiver disponível. Meu servidor web mantém seus arquivos de log por mais ou menos 5 dias e então os deleta; eu não estou guardando nenhuma conexão entre as verificações de versão e os endereços IP de cada um.) Security_PasswordTitle Senha da Interface de Usuário --- 138,142 ---- Security_Stealth Modo Stealth/Operação Servidor Security_NoStealthMode Não (Modo Stealth) ! Security_ExplainStats (Com isto ligado o POPFile envia uma vez por dia os seguintes três valores para um script em www.usethesource.com: bc (o número total de baldes que você tem), mc (o número total de mensagens que o POPFile classificou) e ec (o número total de erros de classificação). Isto fica guardado em um arquivo e eu vou usar para publicar algumas estatísticas sobre como as pessoas usam o POPFile e o quão bem ele funciona. Meu servidor web mantém seus arquivos de log por mais ou menos 5 dias e então os deleta; eu não estou guardando nenhuma conexão entre as estatístcas e os endereços IP de cada um.) Security_ExplainUpdate (Com isto ligado o POPFile envia uma vez por dia os seguintes três valores para um script em www.usethesource.com: ma (o número maior da versão do seu POPFile), mi (o número menor da versão do seu POPFile) e bn (o número do build da sua versão do POPFile). O POPFile recebe uma resposta na forma de um gráfico que aparece no topo da página se uma nova versão estiver disponível. Meu servidor web mantém seus arquivos de log por mais ou menos 5 dias e então os deleta; eu não estou guardando nenhuma conexão entre as verificações de versão e os endereços IP de cada um.) Security_PasswordTitle Senha da Interface de Usuário *************** *** 155,177 **** Security_Stats Enviar estatísticas para o John diariamente ! Magnet_Error1 Ímã '%s' já existe no bucket '%s' ! Magnet_Error2 O novo ímã '%s' conflita com o ímã '%s' no bucket '%s' e pode causar resultados ambíguos. O novo ímã não foi adicionado. ! Magnet_Error3 Criar novo ímã '%s' no bucket '%s' Magnet_CurrentMagnets Ímãs Atuais ! Magnet_Message1 Os seguintes ímãs fazem os emails serem sempre classificados no bucket especificado. Magnet_CreateNew Criar Novo Ímã Magnet_Explanation Três tipos de ímã estão disponíveis: <ul><li>De um endereço ou nome:</b> Por exemplo: ad...@co... para pegar um endereço específico, <br />companhia.com para pegar todo mundo que manda email de companhia.com, <br />Adriano Gomes para pegar uma pessoa específica, Adriano para pegar todos os Adrianos.</li><li><b>Para um endereço ou nome:</b> Como um ímã De: mas para o endereço Para: de um email.</li><li><b>Palavras no assunto:</b> Por exemplo: olá para pegar todas as mensagens com olá no assunto.</li></ul> Magnet_MagnetType Tipo do ímã Magnet_Value Valor ! Magnet_Always Sempre vai para o bucket ! Bucket_Error1 Nomes de buckets somente podem conter as letras de a até z minúsculas mais - e _ ! Bucket_Error2 O bucket %s já existe ! Bucket_Error3 Criado o bucket %s Bucket_Error4 Por favor digite uma palavra que não seja em branco ! Bucket_Error5 Renomeado o bucket %s para %s ! Bucket_Error6 Deletado o bucket %s Bucket_Title Sumário ! Bucket_BucketName Nome do Bucket Bucket_WordCount Contagem de Palavras Bucket_WordCounts Contagens de Palavras --- 155,177 ---- Security_Stats Enviar estatísticas para o John diariamente ! Magnet_Error1 Ímã '%s' já existe no balde '%s' ! Magnet_Error2 O novo ímã '%s' conflita com o ímã '%s' no balde '%s' e pode causar resultados ambíguos. O novo ímã não foi adicionado. ! Magnet_Error3 Criar novo ímã '%s' no balde '%s' Magnet_CurrentMagnets Ímãs Atuais ! Magnet_Message1 Os seguintes ímãs fazem os emails serem sempre classificados no balde especificado. Magnet_CreateNew Criar Novo Ímã Magnet_Explanation Três tipos de ímã estão disponíveis: <ul><li>De um endereço ou nome:</b> Por exemplo: ad...@co... para pegar um endereço específico, <br />companhia.com para pegar todo mundo que manda email de companhia.com, <br />Adriano Gomes para pegar uma pessoa específica, Adriano para pegar todos os Adrianos.</li><li><b>Para um endereço ou nome:</b> Como um ímã De: mas para o endereço Para: de um email.</li><li><b>Palavras no assunto:</b> Por exemplo: olá para pegar todas as mensagens com olá no assunto.</li></ul> Magnet_MagnetType Tipo do ímã Magnet_Value Valor ! Magnet_Always Sempre vai para o balde ! Bucket_Error1 Nomes de balde somente podem conter as letras de a até z minúsculas mais - e _ ! Bucket_Error2 O balde %s já existe ! Bucket_Error3 Criado o balde %s Bucket_Error4 Por favor digite uma palavra que não seja em branco ! Bucket_Error5 Renomeado o balde %s para %s ! Bucket_Error6 Excluído o balde %s Bucket_Title Sumário ! Bucket_BucketName Nome do Balde Bucket_WordCount Contagem de Palavras Bucket_WordCounts Contagens de Palavras *************** *** 191,202 **** Bucket_SetColorTo Ajustar a cor de %s para %s Bucket_Maintenance Manutenção ! Bucket_CreateBucket Criar bucket com o nome ! Bucket_DeleteBucket Excluir o bucket chamado ! Bucket_RenameBucket Renomear o bucket chamado Bucket_Lookup Procurar ! Bucket_LookupMessage Procurar por palavra nos buckets Bucket_LookupMessage2 Procurar no resultado por Bucket_LookupMostLikely <b>%s</b> é mais provável de aparecer em <font color="%s">%s</font> ! Bucket_DoesNotAppear <p><b>%s</b> não aparece em nenhum dos buckets Bucket_DisabledGlobally Desabilitado globalmente Bucket_To para --- 191,202 ---- Bucket_SetColorTo Ajustar a cor de %s para %s Bucket_Maintenance Manutenção ! Bucket_CreateBucket Criar balde com o nome ! Bucket_DeleteBucket Excluir o balde chamado ! Bucket_RenameBucket Renomear o balde chamado Bucket_Lookup Procurar ! Bucket_LookupMessage Procurar por palavra nos baldes Bucket_LookupMessage2 Procurar no resultado por Bucket_LookupMostLikely <b>%s</b> é mais provável de aparecer em <font color="%s">%s</font> ! Bucket_DoesNotAppear <p><b>%s</b> não aparece em nenhum dos baldes Bucket_DisabledGlobally Desabilitado globalmente Bucket_To para *************** *** 204,208 **** SingleBucket_Title Detalhes para %s ! SingleBucket_WordCount Contagem de palavras do bucket SingleBucket_TotalWordCount Contagem total de palavras SingleBucket_Percentage Percentual do total --- 204,208 ---- SingleBucket_Title Detalhes para %s ! SingleBucket_WordCount Contagem de palavras do balde SingleBucket_TotalWordCount Contagem total de palavras SingleBucket_Percentage Percentual do total *************** *** 212,225 **** Header_MenuSummary Esta tabela é o menu de navegação que possibilita acesso a cada uma das diferentes páginas do centro de controle. ! History_MainTableSummary Esta tabela mostra o remetente e o assunto das mensagens recebidas recentemente e permite que elas sejam revisadas e reclassificadas. Clicar na linha de assunto vai mostrar o texto inteiro da mensagem, juntamente com informação sobre por que ela foi classificada como o foi. A coluna 'Deveria ser' permite que você especifique a que bucket a mensagem pertence, ou desfazer esta mudança. A coluna 'Remover' permite que você exclua mensagens específicas do histórico se você não precisar mais delas. ! History_OpenMessageSummary Esta tabela contém o texto integral de uma mensagem, com as palavras que são usadas para classificação destacadas de acordo com o bucket que foi mais relevante para elas. ! Bucket_MainTableSummary Esta tabela fornece uma visão geral dos buckets de classificação. Cada linha mostra o nome do bucket, a contagem total de palavras para aquele bucket, o número real de palavras individuais em cada bucket, se o assunto do email vai ser modificado quando ele for classificado para aquele bucket, se as mensagens recebidas naquele bucket devem ficar em quarentena, e uma tabela para escolher a cor usada para mostrar qualquer coisa relacionada àquele bucket no centro de controle. ! Bucket_StatisticsTableSummary Esta tabela fornece três conjuntos de estatísticas sobre o desempenho geral do PopFile. A primeira é a exatidão da classificação, a segunda é quantos emails foram classificados, e para quais buckets, e a terceira é quantas palavras existem em cada bucket, e as suas porcentagens relativas. ! Bucket_MaintenanceTableSummary Esta tabela contém formulários que permitem que você crie, exclua ou renomeie buckets, e para procurar uma palavra em todos os buckets e ver as suas probabilidades relativas. Bucket_AccuracyChartSummary Esta tabela representa graficamente a exatidão da classificação de email. ! Bucket_BarChartSummary Esta tabela representa graficamente a uma alocação porcentual para cada um dos diferentes buckets. Ela é usada tanto para o número de emails classificados como para o número total de palavras. ! Bucket_LookupResultsSummary Esta tabela mostra as probabilidades associadas com qualquer palavra específica do corpus. Para cada bucket, ela mostra a freqüência com que aquela palavra ocorre, a probabilidade de que ela ocorra naquele bucket, e o efeito geral na pontuação do bucket se aquela palavra existir em um email. ! Bucket_WordListTableSummary Esta tabela fornece uma relação de todas as palavras para um bucket específico, organizada pela primeira letra comum para cada linha. ! Magnet_MainTableSummary Esta tabela mostra a lista de ímãs que são usados para classificar automaticamente mensagens de acordo com regras fixas. Cada linha mostra como o ímã está definido, para qual bucket ele foi concebido, e um botão para excluir aquele ímã. Configuration_MainTableSummary Esta tabela contém alguns formulários que permitem que você controle a configuração do PopFile. Configuration_InsertionTableSummary Esta tabela contém botões para determinar se certas modificações são feitas no cabeçalho ou no assunto da mensagem antes que ela seja encaminhada para o programa cliente de email. --- 212,225 ---- Header_MenuSummary Esta tabela é o menu de navegação que possibilita acesso a cada uma das diferentes páginas do centro de controle. ! History_MainTableSummary Esta tabela mostra o remetente e o assunto das mensagens recebidas recentemente e permite que elas sejam revisadas e reclassificadas. Clicar na linha de assunto vai mostrar o texto inteiro da mensagem, juntamente com informação sobre por que ela foi classificada como o foi. A coluna 'Deveria ser' permite que você especifique a que balde a mensagem pertence, ou desfazer esta mudança. A coluna 'Remover' permite que você exclua mensagens específicas do histórico se você não precisar mais delas. ! History_OpenMessageSummary Esta tabela contém o texto integral de uma mensagem, com as palavras que são usadas para classificação destacadas de acordo com o balde que foi mais relevante para elas. ! Bucket_MainTableSummary Esta tabela fornece uma visão geral dos baldes de classificação. Cada linha mostra o nome do balde, a contagem total de palavras para aquele balde, o número real de palavras individuais em cada balde, se o assunto do email vai ser modificado quando ele for classificado para aquele balde, se as mensagens recebidas naquele balde devem ficar em quarentena, e uma tabela para escolher a cor usada para mostrar qualquer coisa relacionada àquele balde no centro de controle. ! Bucket_StatisticsTableSummary Esta tabela fornece três conjuntos de estatísticas sobre o desempenho geral do PopFile. A primeira é a exatidão da classificação, a segunda é quantos emails foram classificados, e para quais baldes, e a terceira é quantas palavras existem em cada balde, e as suas porcentagens relativas. ! Bucket_MaintenanceTableSummary Esta tabela contém formulários que permitem que você crie, exclua ou renomeie baldes, e para procurar uma palavra em todos os baldes e ver as suas probabilidades relativas. Bucket_AccuracyChartSummary Esta tabela representa graficamente a exatidão da classificação de email. ! Bucket_BarChartSummary Esta tabela representa graficamente a uma alocação porcentual para cada um dos diferentes baldes. Ela é usada tanto para o número de emails classificados como para o número total de palavras. ! Bucket_LookupResultsSummary Esta tabela mostra as probabilidades associadas com qualquer palavra específica do corpus. Para cada balde, ela mostra a freqüência com que aquela palavra ocorre, a probabilidade de que ela ocorra naquele balde, e o efeito geral na pontuação do balde se aquela palavra existir em um email. ! Bucket_WordListTableSummary Esta tabela fornece uma relação de todas as palavras para um balde específico, organizada pela primeira letra comum para cada linha. ! Magnet_MainTableSummary Esta tabela mostra a lista de ímãs que são usados para classificar automaticamente mensagens de acordo com regras fixas. Cada linha mostra como o ímã está definido, para qual balde ele foi concebido, e um botão para excluir aquele ímã. Configuration_MainTableSummary Esta tabela contém alguns formulários que permitem que você controle a configuração do PopFile. Configuration_InsertionTableSummary Esta tabela contém botões para determinar se certas modificações são feitas no cabeçalho ou no assunto da mensagem antes que ela seja encaminhada para o programa cliente de email. |
From: <jgr...@us...> - 2003-05-22 18:20:04
|
Update of /cvsroot/popfile/engine/Platform In directory sc8-pr-cvs1:/tmp/cvs-serv1139/engine/Platform Modified Files: popfile.ico Log Message: New Portugese translation; updated icon; patch to Windows skin Index: popfile.ico =================================================================== RCS file: /cvsroot/popfile/engine/Platform/popfile.ico,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsf3OAPb and /tmp/cvsG9K3nd differ |
From: <jgr...@us...> - 2003-05-22 18:20:04
|
Update of /cvsroot/popfile/engine In directory sc8-pr-cvs1:/tmp/cvs-serv1139/engine Modified Files: popfile.ico Log Message: New Portugese translation; updated icon; patch to Windows skin Index: popfile.ico =================================================================== RCS file: /cvsroot/popfile/engine/popfile.ico,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsPvC2ZO and /tmp/cvswGutFt differ |
From: <jgr...@us...> - 2003-05-22 17:19:50
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv31605/Classifier Modified Files: MailParse.pm Log Message: Fix http_error_ bug (not being called correctly) and make logging of connection acceptance verbose to help debug connection problems. Index: MailParse.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/MailParse.pm,v retrieving revision 1.129 retrieving revision 1.130 diff -C2 -d -r1.129 -r1.130 *** MailParse.pm 21 May 2003 16:05:36 -0000 1.129 --- MailParse.pm 22 May 2003 17:00:19 -0000 1.130 *************** *** 864,868 **** $self->{subject__} = ''; $self->{ut__} = ''; ! $self->{quickmagnets__} = (); $self->{htmlbackcolor__} = map_color( $self, 'white' ); --- 864,868 ---- $self->{subject__} = ''; $self->{ut__} = ''; ! $self->{quickmagnets__} = {}; $self->{htmlbackcolor__} = map_color( $self, 'white' ); *************** *** 921,925 **** $argument = ''; ! $self->{ut__} .= splitline("\015\012", 0); $self->{in_headers__} = 0; --- 921,925 ---- $argument = ''; ! $self->{ut__} .= splitline( "\015\012", 0 ); $self->{in_headers__} = 0; |