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-20 00:07:36
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv11165 Added Files: hdr-right.bmp Log Message: Bitmap used for headers at right-hand side of page. --- NEW FILE: hdr-right.bmp --- (This appears to be a binary file; contents omitted.) |
From: <xue...@us...> - 2003-05-20 00:06:58
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv10802 Added Files: hdr-left.bmp Log Message: Bitmap used for headers at left-hand side of page. --- NEW FILE: hdr-left.bmp --- (This appears to be a binary file; contents omitted.) |
From: <jgr...@us...> - 2003-05-19 21:01:17
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1:/tmp/cvs-serv27392 Modified Files: Português do Brasil.msg Log Message: Updated Portugese translation Index: Português do Brasil.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/Português do Brasil.msg,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Português do Brasil.msg 9 Mar 2003 15:53:41 -0000 1.10 --- Português do Brasil.msg 19 May 2003 21:01:09 -0000 1.11 *************** *** 32,36 **** Bucket Bucket Magnet Ímã ! Delete Deletar Create Criar To Para --- 32,36 ---- Bucket Bucket Magnet Ímã ! Delete Excluir Create Criar To Para *************** *** 43,48 **** # The header and footer that appear on every UI page ! Header_Title Centro de Controle POPFile ! Header_Shutdown Desligar o POPFile Header_History Histórico Header_Buckets Buckets --- 43,48 ---- # The header and footer that appear on every UI page ! Header_Title Centro de Controle do POPFile ! Header_Shutdown Desligar Header_History Histórico Header_Buckets Buckets *************** *** 54,59 **** Footer_HomePage POPFile Home Page Footer_Manual Manual ! Footer_Forums Fóruns ! Footer_FeedMe Doação Footer_RequestFeature Pedir uma Característica Footer_MailingList Lista de Email --- 54,59 ---- Footer_HomePage POPFile Home Page Footer_Manual Manual ! Footer_Forums Forums ! Footer_FeedMe Me Mantenha! Footer_RequestFeature Pedir uma Característica Footer_MailingList Lista de Email *************** *** 85,92 **** Configuration_TCPTimeoutSecs Tempo limite de conexão TCP em segundos Configuration_TCPTimeoutUpdate Alterado o tempo limite de conexão TCP para %s ! Configuration_ClassificationInsertion Inserção de Texto no Email Configuration_SubjectLine Modificação de linha de assunto ! Configuration_XTCInsertion Cabeçalho X-Text-Classification ! Configuration_XPLInsertion Cabeçalho X-POPFile-Link Configuration_Logging Logging Configuration_None Nada --- 85,92 ---- Configuration_TCPTimeoutSecs Tempo limite de conexão TCP em segundos Configuration_TCPTimeoutUpdate Alterado o tempo limite de conexão TCP para %s ! Configuration_ClassificationInsertion Inserção de Classificação Configuration_SubjectLine Modificação de linha de assunto ! Configuration_XTCInsertion Inserção de X-Text-Classification ! Configuration_XPLInsertion Inserção de X-POPFile-Link Configuration_Logging Logging Configuration_None Nada *************** *** 96,115 **** Configuration_LoggerOutput Saída do Logger Configuration_GeneralSkins Skins ! Configuration_SmallSkins Skins Pequenos ! Configuration_TinySkins Skins Bem Pequenos ! Advanced_Error1 '%s' já está na lista de Palavras Ignoradas Advanced_Error2 Palavras ignoradas podem somente conter caracteres alfanuméricos, ., _, -, ou @ ! Advanced_Error3 '%s' adicionado na lista de Palavras Ignoradas ! Advanced_Error4 '%s' não está na lista de Palavras Ignoradas ! Advanced_Error5 '%s' removido da lista de Palavras Ignoradas Advanced_StopWords Palavras Ignoradas ! Advanced_Message1 O POPFile ignora as seguintes palavras freqüentemente usadas: Advanced_AddWord Adicionar palavra Advanced_RemoveWord Remover palavra History_Filter (apenas mostrando o bucket <font color="%s">%s</font>) ! History_FilterBy Filtrar Por ! History_Search (procurado por de/assunto %s) History_Title Mensagens Recentes History_Jump Ir para a mensagem --- 96,115 ---- Configuration_LoggerOutput Saída do Logger Configuration_GeneralSkins Skins ! Configuration_SmallSkins Small Skins ! Configuration_TinySkins Tiny Skins ! Advanced_Error1 '%s' já está na lista de palavras ignoradas Advanced_Error2 Palavras ignoradas podem somente conter caracteres alfanuméricos, ., _, -, ou @ ! Advanced_Error3 '%s' adicionado na lista de palavras ignoradas ! Advanced_Error4 '%s' não estã na lista de palavras ignoradas ! Advanced_Error5 '%s' removido da lista de palavras ignoradas Advanced_StopWords Palavras Ignoradas ! Advanced_Message1 As seguintes palavras são ignoradas de todas as classificações porque ocorrem muito freqüentemente. Advanced_AddWord Adicionar palavra 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) History_Title Mensagens Recentes History_Jump Ir para a mensagem *************** *** 119,123 **** History_NoSubject sem linha de assunto History_ClassifyAs Classificar como ! History_MagnetUsed Íma usado History_ChangedTo Alterado para <font color="%s">%s History_Already Já reclassificado como <font color="%s">%s</font> --- 119,123 ---- History_NoSubject sem linha de assunto History_ClassifyAs Classificar como ! History_MagnetUsed Ímã usado History_ChangedTo Alterado para <font color="%s">%s History_Already Já reclassificado como <font color="%s">%s</font> *************** *** 125,133 **** History_RemovePage Remover a Página History_Remove Para remover entradas do histórico clique ! History_SearchMessage Procurar De/Assunto History_NoMessages Nenhuma mensagem ! History_ShowMagnet magnetizado ! History_Magnet (apenas mostrando mensagens classificadas por íma) ! History_ResetSearch Reset Password_Title Senha --- 125,132 ---- History_RemovePage Remover a Página History_Remove Para remover entradas do histórico clique ! History_SearchMessage Procurar Assunto History_NoMessages Nenhuma mensagem ! History_ShowMagnet Magnetizado ! History_Magnet (apenas mostrando mensagens classificadas por ímã) Password_Title Senha *************** *** 139,144 **** 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) and 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 Security_Password Senha --- 138,143 ---- 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 Security_Password Senha *************** *** 149,158 **** Security_SecurePort Porta segura Security_SecurePortUpdate Alterada a porta para %s; esta alteração não terá efeito até que você reinicie o POPFile ! Security_POP3 Aceitar conexões POP3 de máquinas remotas (requer reiniciar o POPFile) ! Security_UI Aceitar conexões HTTP (Interface de Usuário) de máquinas remotas (requer reiniciar o POPFile) Security_UpdateTitle Verificação Automática de Atualização Security_Update Verificar diariamente atualizações para o POPFile Security_StatsTitle Reportar Estatísticas ! Security_Stats Enviar estatísticas diariamente Magnet_Error1 Ímã '%s' já existe no bucket '%s' --- 148,157 ---- Security_SecurePort Porta segura Security_SecurePortUpdate Alterada a porta para %s; esta alteração não terá efeito até que você reinicie o POPFile ! Security_POP3 Aceitar conexões POP3 de máquinas remotas ! Security_UI Aceitar conexões HTTP (Interface de Usuário) de máquinas remotas Security_UpdateTitle Verificação Automática de Atualização Security_Update Verificar diariamente atualizações para o POPFile Security_StatsTitle Reportar Estatísticas ! Security_Stats Enviar estatísticas para o John diariamente Magnet_Error1 Ímã '%s' já existe no bucket '%s' *************** *** 162,166 **** 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 íma estão disponíveis: </b><ul><li><b>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 --- 161,165 ---- 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 *************** *** 187,197 **** Bucket_Accuracy Precisão Bucket_ClassificationCount Contagem da Classificação ! Bucket_ResetStatistics Zerar Estatísticas ! Bucket_LastReset Última Zeragem Bucket_CurrentColor A cor atual de %s é %s Bucket_SetColorTo Ajustar a cor de %s para %s Bucket_Maintenance Manutenção Bucket_CreateBucket Criar bucket com o nome ! Bucket_DeleteBucket Deletar o bucket chamado Bucket_RenameBucket Renomear o bucket chamado Bucket_Lookup Procurar --- 186,196 ---- Bucket_Accuracy Precisão Bucket_ClassificationCount Contagem da Classificação ! Bucket_ResetStatistics Reiniciar Estatísticas ! Bucket_LastReset Último Reinício Bucket_CurrentColor A cor atual de %s é %s 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 *************** *** 209,231 **** SingleBucket_Percentage Percentual do total SingleBucket_WordTable Tabela de Palavras para %s ! SingleBucket_Message1 Palavras com asterisco (*) foram usadas para classificação durante esta sessão do POPFile. Clique em qualquer palavra para procurar sua probabilidade para todos os buckets. SingleBucket_Unique %s únicas - Session_Title A Sessão do POPFile Expirou - Session_Error Sua sessão do POPFile expirou. Isto pode ter acontecido por iniciar e finalizar o POPFile mas deixar seu navegador web aberto. Por favor clique em um dos links acima para continuar a usar o POPFile ! Header_MenuSummary Esta tabela é o menu de navegação que permite o aceso a cada uma das diferentes páginas do centro de controle. ! History_MainTableSummary Esta tabela mostra o remetente e o assunto das mensagens recentemente recebidas e permite revê-las e reclassificá-las. Clicar na linha de assunto vai mostrar o texto completo da mensagem, juntamente com informação sobre a razão dela ter sido classificada como foi. A coluna 'Deveria ser' permite a você especificar a qual bucket pertence a mensagem, ou desfazer alguma alteração. A coluna 'Deletar' permite deletar mensagens específicas do histórico caso você não precise mais delas. ! History_OpenMessageSummary Esta tabela contém o texto completo de uma mensagem de email, com as palavras que foram usadas para a classificação destacadas de acordo com o bucket que foi o mais relevante. ! Bucket_MainTableSummary Esta tabela provê uma visão geral dos buckets de classificação. Cada linha mostra o nome do bucket, o total da contagem de palavras do bucket, o real número de palavras individuais em cada bucket, se a linha de assunto do email será modificada quando for classificada neste bucket, se as mensagens recebidas neste bucket serão colocadas em quarentena, e uma tabela para escolher a cor usada para mostrar qualquer coisa relacionada ao bucket no centro de controle. ! Bucket_StatisticsTableSummary Esta tabela provê três conjuntos de estatísticas sobre a performance geral do PopFile. O primeiro é sobre quão precisa é a classificação, a segundo é sobre quantos emails foram classificados, e em quais buckets, e a terceira é sobre quantas palavras existem em cada bucket, e quais os percentuais relativos. ! Bucket_MaintenanceTableSummary Esta tabela contém formulários que permitem a você criar, deletar ou renomear buckets, e procurar por alguma palavra em todos os buckets para ver suas probabilidades relativas. ! Bucket_AccuracyChartSummary Esta tabela representa graficamente a precisão da classificação de emails. ! Bucket_BarChartSummary Esta tabela representa graficamente a porcentagem de alocação para cada um dos diferentes buckets. É usada para o número de emails classificados, e contagem total de palavras. ! Bucket_LookupResultsSummary Esta tabela mostra as probabilidades associadas com qualquer palavra do corpo do email. Para cada bucket, mostra a freqüência com que ocorre tal palavra, a probabilidade de ela ocorrer neste bucket, e o efeito geral no score do bucket se tal palavra existir em um email. ! Bucket_WordListTableSummary Esta tabela provê uma listagem de todas as palavras de um bucket em particular, ordenadas pela primeira letra em comum para cada linha. ! Magnet_MainTableSummary Esta tabela mostra a lista de ímãs que são usados para classificar automaticamente emails de acordo com regras fixas. Cada linha mostra como o ímã é definido, para qual bucket é destinado, e um botão para deletar o ímã. ! Configuration_MainTableSummary Esta tabela contém vários formulários que permitem a você controlar a configuração do PopFile. ! Configuration_InsertionTableSummary Esta tabela contém botões que determinam se certas modificações serão feitas nos cabeçalhos ou linhas de assunto do email antes de ele ser repassado para o cliente de email. ! Security_MainTableSummary Esta tabela provê conjuntos de controles que afetam a configuração geral de segurança do PopFile, se ele deverá checar automaticamente por atualizações do programa, e quais estatísticas sobre a performance do PopFile deverão ser enviadas para a central de armazenamento de dados do autor do programa para informação geral. ! Advanced_MainTableSummary Esta tabela provê uma lista de palavras que o PopFile ignora durante a classificação de email em razão de aparecerem freqüentemente em emails em geral. Elas são organizadas por linhas de acordo com a primeira letra das palavras. --- 208,228 ---- SingleBucket_Percentage Percentual do total SingleBucket_WordTable Tabela de Palavras para %s ! SingleBucket_Message1 Palavras com asterico (*) foram usadas para classificação durante esta sessão do POPFile. Clique em qualquer palavra para procurar sua probabilidade para todos os buckets. SingleBucket_Unique %s únicas ! 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. ! Security_MainTableSummary Esta tabela fornece conjuntos de controles que afetam a segurança da configuração geral do PopFile, se ele deve procurar automaticamente por atualizações do programa, e se estatísticas sobre o desempenho do PopFile devem ser enviadas ao banco de dados central do autor do programa para informação geral. ! Advanced_MainTableSummary Esta tabela fornece uma lista de palavras que o PopFile ignora quando classifica mensagens por causa da sua freqüência relativa nos emails em geral. Elas são organizadas por linha de acordo com a primeira letra das palavras. |
From: <jgr...@us...> - 2003-05-19 20:02:47
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1:/tmp/cvs-serv3410 Added Files: Español.msg Log Message: Spanish translation --- NEW FILE: Español.msg --- # Copyright (c) 2001-2003 John Graham-Cumming # Identify the language and character set used for the interface LanguageCode es LanguageCharset ISO-8859-1 # 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 Aplicar On Activado Off Desactivado TurnOn Activar TurnOff Desactivar Add Añadir Remove Borrar Previous Anterior Next Siguiente From De Subject Asunto Classification Clasificación Reclassify Reclasificar Undo Deshacer Close Cerrar Find Encontrar Filter Filtro Yes Si No No ChangeToYes Cambiar a si ChangeToNo Cambiar a No Bucket Categoría Magnet Imán Delete Borrar Create Crear To A Total Total Rename Renombrar Frequency Frecuencia Probability Probabilidad Score Puntuación Lookup Búsqueda # The header and footer that appear on every UI page Header_Title Centro de Control POPFile Header_Shutdown Cerrar POPFile Header_History Historia Header_Buckets Categorías Header_Configuration Configuración Header_Advanced Avanzada Header_Security Seguridad Header_Magnets Imanes Footer_HomePage Web de POPFile Footer_Manual Manual Footer_Forums Foros Footer_FeedMe Donar Footer_RequestFeature Petición de Característica Footer_MailingList Lista de Correo Configuration_Error1 El caracter separador debe ser sólo un caracter Configuration_Error2 El puerto de la interfaz de usuario debe ser un número entre 1 y 65535 Configuration_Error3 El puerto de escucha POP3 debe ser un número entre 1 and 65535 Configuration_Error4 El tamaño de página debe ser un número entre 1 y 1000 Configuration_Error5 El número de días en la Historia debe ser un número entre 1 and 366 Configuration_Error6 El tiempo límite de TCP debe ser un número entre 10 y 300 Configuration_POP3Port Puerto de escucha POP3 Configuration_POP3Update Actualizado el puerto a %s; Este cámbio no tendrá efecto hasta que POPFile sea reiniciado Configuration_Separator Caracter separador Configuration_SepUpdate Caracter separador actualizado a %s Configuration_UI Puerto de la interfaz de usuario Configuration_UIUpdate Puerto de la interfaz de usuario actualizado a %s; Este cámbio no tendrá efecto hasta que POPFile sea reiniciado Configuration_History Número de correos por página Configuration_HistoryUpdate Número de correos por página actualizado a %s Configuration_Days Número de días a guardar en la historia Configuration_DaysUpdate Número de días a guardar en la historia actualizado a %s Configuration_UserInterface Interfaz de usuario Configuration_Skins Skins Configuration_SkinsChoose Elegir skin Configuration_Language Languaje Configuration_LanguageChoose Escoger language Configuration_ListenPorts Puertos de escucha Configuration_HistoryView Vista de la Historia Configuration_TCPTimeout Tiempo límite de la conexión TCP Configuration_TCPTimeoutSecs Tiempo límite de la conexión TCP en segundos Configuration_TCPTimeoutUpdate Tiempo límite de la conexión TCP actualizado a %s Configuration_ClassificationInsertion Inserción de la Clasificación Configuration_SubjectLine Modificación del Asunto Configuration_XTCInsertion Añadir cabecera X-Text-Classification Configuration_XPLInsertion Añadir cabecera X-POPFile-Link Header Configuration_Logging Logging Configuration_None Ninguna Configuration_ToScreen En pantalla Configuration_ToFile En un fichero Configuration_ToScreenFile En pantalla y fichero Configuration_LoggerOutput Salida del Logger Configuration_GeneralSkins Skins Configuration_SmallSkins Small Skins Configuration_TinySkins Tiny Skins Advanced_Error1 '%s' ya está en la lista de Palabras a Ignorar Advanced_Error2 Las Palabras a Ignorar sólo pueden incluir caracteres alfanuméricos, ., _, -, o @ Advanced_Error3 '%s' añadida a la lista de Palabras a Ignorar Advanced_Error4 '%s' no está en la lista de Palabras a Ignorar Advanced_Error5 '%s' borrada de la lista de Palabras a Ignorar Advanced_StopWords Palabras a Ignorar Advanced_Message1 POPFile ignora las siguientes palabras de uso frecuente: Advanced_AddWord Añadir palabra Advanced_RemoveWord Borrar palabra History_Filter (Sólo mostrando Categoría <font color="%s">%s</font>) History_FilterBy Filtrar por History_Search (Buscado por De/Asunto %s) History_Title Correos recientes History_Jump Saltar a Correo History_ShowAll Mostrar todos History_ShouldBe Debería ser History_NoFrom Sin línea De History_NoSubject Sin línea Asunto History_ClassifyAs Clasificar como History_MagnetUsed Imán usado History_ChangedTo Cambiado a <font color="%s">%s History_Already Ya reclasificado como <font color="%s">%s</font> History_RemoveAll Borrar Todos History_RemovePage Borrar Página History_Remove Para remover entradas en la historia haga click History_SearchMessage Busqueda por De/Asunto History_NoMessages Ningún Correo History_ShowMagnet Magnetizado History_Magnet (Mostrando sólo mensajes magnetizados) History_ResetSearch Reiniciar Password_Title Contraseña Password_Enter Introduzca contraseña Password_Go Adelante! Password_Error1 Contraseña Incorrecta Security_Error1 El puerto seguro debe ser un número entre 1 and 65535 Security_Stealth Modo Invisible/Operación del Servidor Security_NoStealthMode No (Modo invisible) Security_ExplainStats (Con esto activado POPFile envía una vez al dia los siguientes tres valores a un script en www.usethesource.com: bc (el número total de categorías que tiene), mc (el número total de correos que POPFile ha clasificado) y ec (el número total de errores clasificación). Todo esto se guarda en un fichero que usarémos para publicar estadísticas de como usa POPFile la gente y cómo de bien funciona. Mi servidor web guarda sus ficheros de log 5 días y luego son borrados; no se guarda ninguna conexión entre las estadísticas y las direcciones IP particulares.) Security_ExplainUpdate (Con esto activado POPFile envía una vez al dia los siguientes tres valores a un script en www.usethesource.com: ma (el número mayor de versión del POPFile instalado), mi (el número menor de versión del POPFile instalado) y bn (el número de compilación del POPFile instalado). POPFile recibe una respuesta en forma de un gráfico que aparece en la página indicando si hay una nueva versión disponible. Mi servidor web guarda sus ficheros de log 5 días y luego son borrados; no se guarda ninguna conexión entre los chequeos de actualización y las direcciones IP particulares.) Security_PasswordTitle Contraseña de la Interfaz de Usuario Security_Password Contraseña Security_PasswordUpdate Contraseña actualizada a %s Security_AUTHTitle Autentificación segura de Contraseña/AUTH Security_SecureServer Sevidor Seguro Security_SecureServerUpdate Sevidor Seguro actualizado a %s; Este cámbio no tendrá efecto hasta que POPFile sea reiniciado Security_SecurePort Puerto seguro Security_SecurePortUpdate Puerto seguro actualizado a %s; Este cámbio no tendrá efecto hasta que POPFile sea reiniciado Security_POP3 Aceptar conexiones POP3 de máquinas remotas (hay que reiniciar POPFile) Security_UI Aceptar conexiones HTTP (Interfaz de Usuario) de máquinas remotas (hay que reiniciar POPFile) Security_UpdateTitle Comprobación de Actualizaciones Security_Update Comprobar diariamente si hay actualizaciones de POPFile Security_StatsTitle Enviar Stadísticas Security_Stats Enviar Stadísticas diariamente Magnet_Error1 El Imán '%s' ya existe en la Categoría '%s' Magnet_Error2 El nuevo Imán '%s' colisiona con el '%s' en la Categoría '%s' y podría causar resultados ambiguos. Nuevo Imán no añadido. Magnet_Error3 Crear Imán nuevo '%s' en la Categoría '%s' Magnet_CurrentMagnets Imánes actuales Magnet_Message1 Los siguientes Imanes clasifican siempre el correo en la Categoría especificada. Magnet_CreateNew Crear nuevo Imán Magnet_Explanation Hay tres tipos de Imán:</b> <ul><li><b>Nombre o dirección en campo De:</b> Por ejemplo: jos...@em... para clasificar una dirección específica, <br />empresa.com para clasificar a todos los que envien desde empresa.com, <br />José Garcia para clasificar a una persona concreta, José para clasificar todos los Josés</li><li><b>A dirección o nombres:</b> Igual que el Imán para campo De: pero para el campo A: en el correo electrónico</li> <li><b>Palabras en campo Asunto:</b> Por ejemplo: hola para clasificar todos los correos con hola en el Asunto</li></ul> Magnet_MagnetType Tipo de Imán Magnet_Value Valor Magnet_Always Clasificar siempre en Bucket_Error1 Los nombres de Categorías sólo pueden contener las letras de la a a la z en minúsculas mas - y _ Bucket_Error2 Ya existe una Categoría llamada %s Bucket_Error3 Categoría %s creada Bucket_Error4 Escriba una palabra no vacia Bucket_Error5 Categoría %s renombrada a %s Bucket_Error6 Categoría %s borrada Bucket_Title Resumen Bucket_BucketName Nombre de Categoría Bucket_WordCount Conteo de Palabras Bucket_WordCounts Conteos de Palabras Bucket_UniqueWords Palabras Únicas Bucket_SubjectModification Modificación del Asunto Bucket_ChangeColor Cambiar Color Bucket_NotEnoughData Faltan datos Bucket_ClassificationAccuracy Precisión de la Clasificación Bucket_EmailsClassified Correos Clasificados Bucket_EmailsClassifiedUpper Correos Clasificados Bucket_ClassificationErrors Errores de Clasificación Bucket_Accuracy Precisión Bucket_ClassificationCount Conteo de Clasificación Bucket_ResetStatistics Reiniciar Estadísticas Bucket_LastReset Último reinicio Bucket_CurrentColor El color actual de %s es %s Bucket_SetColorTo Establecido %s como color de %s Bucket_Maintenance Mantenimiento Bucket_CreateBucket Crear Categoría de nombre Bucket_DeleteBucket Borrar Categoría de nombre Bucket_RenameBucket Renombrar Categoría de nombre Bucket_Lookup Busquedas Bucket_LookupMessage Buscar palabras en Categorías Bucket_LookupMessage2 Resultados de la búsqueda para Bucket_LookupMostLikely La palabra <b>%s</b> es más probable que aparezca en <font color="%s">%s</font> Bucket_DoesNotAppear <p><b>%s</b> no aparece en ninguna de las Categorías Bucket_DisabledGlobally Deshabilitado Globalmente Bucket_To a Bucket_Quarantine Cuarentena SingleBucket_Title Detalles para %s SingleBucket_WordCount Conteo de palabras de la Categoría SingleBucket_TotalWordCount Conteo de palabras total SingleBucket_Percentage Porcentaje del total SingleBucket_WordTable Tabla de palabras para %s SingleBucket_Message1 Las palabras marcadas con (*) han sido usadas para la Categoría en esta sesión de POPFile. "Pincha" en cualquier palabra para conocer su probabilidad en todas las Categorías. SingleBucket_Unique %s únicas Session_Title Ha expirado la sesión de POPFile Session_Error Ha expirado tu sesión de POPFile. Esto puede ser debido a que haya dejado su navegador abierto mientras reiniciaba POPFile. Por favor, pinche en uno de los enlaces superiores para continuar usando POPFile. Header_MenuSummary This table is the navigation menu which allows access to each of the different pages of the control center. History_MainTableSummary This table shows the sender and subject of recently received messages and allows them to be reviewed and reclassified. Clicking on the subject line will show the full message text, along with information about why it was classified as it was. The 'Should be' column allows you to specify which bucket the message belongs in, or to undo that change. The 'Delete' column allows you to delete specific messages from the history if you don't need them anymore. History_OpenMessageSummary This table contains the full text of an email message, with the words that are used for classification highlighted according to the bucket that was most relevant for each. Bucket_MainTableSummary This table provides an overview of the classification buckets. Each row shows the bucket name, the word count total for that bucket, the actual number of individual words in each bucket, whether the email's subject line will be modified when it gets classified to that bucket, whether to quarantine the messages received in that bucket, and a table to pick the color used in displaying anything related to that bucket in the control center. Bucket_StatisticsTableSummary This table provides three sets of statistics on the overall performance of POPFile. The first is how accurate its classification is, the second is how many emails have been classified, and to which buckets, and the third is how many words are in each bucket, and what their relative percentages are. Bucket_MaintenanceTableSummary This table contains forms that allow you to create, delete or rename buckets, and to lookup a word in all of the buckets to see its relative probabilities. Bucket_AccuracyChartSummary This table graphically represents the accuracy of the email classification. Bucket_BarChartSummary This table graphically represents a percentage allocation for each of the different buckets. It is used for both number of emails classified, and total word counts. Bucket_LookupResultsSummary This table shows the probabilities associated with any given word of the corpus. For each bucket, it shows the frequency that that word occurs, the probability that it will occur in that bucket, and the overall effect on the score of the bucket if that word exists in an email. Bucket_WordListTableSummary This table provides a listing of all the words for a particular bucket, organized by common first letter for each row. Magnet_MainTableSummary This table shows the list of magnets that are used to automatically classify email according to fixed rules. Each row shows how the magnet is defined, what bucket it is intended for, and a button to delete the magnet. Configuration_MainTableSummary This table contains a number of forms to allow you to control the configuration of POPFile. Configuration_InsertionTableSummary This table contains buttons that determine whether or not certain modifications are made to the headers or subject line of the email before it is passed on to the email client. Security_MainTableSummary This table provides sets of controls that affect the security of the overall configuration of POPFile, whether it should automatically check for updates to the program, and whether statistics about POPFile's performance should be sent to the central datastore of the program's author for general information. Advanced_MainTableSummary This table provides a list of words that POPFile ignores when classifying email due to their relative frequency in email in general. They are organized per row according to the first letter of the words. |
From: <xue...@us...> - 2003-05-15 12:23:24
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv17767 Modified Files: installer.nsi Log Message: Use a 'local' icon (POPFileIcon\popfile.ico) instead of a 'remote' one (..\engine\Platform\popfile.ico). Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** installer.nsi 9 May 2003 13:11:04 -0000 1.44 --- installer.nsi 15 May 2003 12:23:21 -0000 1.45 *************** *** 63,67 **** ; file cannot just contain a 32x32 16-colour image, it must also have a 16x16 16-colour image. ! !define MUI_ICON "..\engine\Platform\popfile.ico" !define MUI_UNICON "remove.ico" --- 63,67 ---- ; file cannot just contain a 32x32 16-colour image, it must also have a 16x16 16-colour image. ! !define MUI_ICON "POPFileIcon\popfile.ico" !define MUI_UNICON "remove.ico" |
From: <jgr...@us...> - 2003-05-14 09:12:50
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv17805/UI Modified Files: HTML.pm Log Message: Implemented magnet paging Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.152 retrieving revision 1.153 diff -C2 -d -r1.152 -r1.153 *** HTML.pm 7 May 2003 22:21:02 -0000 1.152 --- HTML.pm 14 May 2003 09:12:13 -0000 1.153 *************** *** 540,544 **** # update check ! $result .= "<table align=\"center\" summary=\"\">\n<tr>\n<td class=\"logo2menuSpace\">$update_check</td></tr></table>\n"; # menu start --- 540,548 ---- # update check ! if ( $update_check ne '' ) { ! $result .= "<table align=\"center\" summary=\"\">\n<tr>\n<td class=\"logo2menuSpace\">$update_check</td></tr></table>\n"; ! } else { ! $result .= "<p>"; ! } # menu start *************** *** 563,567 **** # Magnets menu item $result .= "<td class=\"$tab[4]\" align=\"center\">\n"; ! $result .= "<a class=\"menuLink\" href=\"/magnets?session=$self->{session_key__}\">"; $result .= "\n$self->{language__}{Header_Magnets}</a>\n"; $result .= "</td>\n<td class=\"menuSpacer\"></td>\n"; --- 567,571 ---- # Magnets menu item $result .= "<td class=\"$tab[4]\" align=\"center\">\n"; ! $result .= "<a class=\"menuLink\" href=\"/magnets?session=$self->{session_key__}&start_magnet=0\">"; $result .= "\n$self->{language__}{Header_Magnets}</a>\n"; $result .= "</td>\n<td class=\"menuSpacer\"></td>\n"; *************** *** 625,630 **** my $result = "<table class=\"footer\" summary=\"\">\n<tr>\n"; ! $result .= "<td class=\"footerBody\">\n"; ! $result .= "POPFile $self->{version_} - \n"; $result .= "<a class=\"bottomLink\" href=\""; --- 629,634 ---- my $result = "<table class=\"footer\" summary=\"\">\n<tr>\n"; ! $result .= "<td class=\"footerBody\">"; ! $result .= "<a class=\"bottomLink\" href=\"http://popfile.sourceforge.net/\">$self->{language__}{Footer_HomePage}</a><br>\n"; $result .= "<a class=\"bottomLink\" href=\""; *************** *** 640,651 **** $result .= "/manual.html\">\n"; ! $result .= "$self->{language__}{Footer_Manual}</a> - \n"; ! $result .= "<a class=\"bottomLink\" href=\"http://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137\">FAQ</a> - \n"; ! $result .= "<a class=\"bottomLink\" href=\"http://popfile.sourceforge.net/\">$self->{language__}{Footer_HomePage}</a> - \n"; ! $result .= "<a class=\"bottomLink\" href=\"http://sourceforge.net/forum/forum.php?forum_id=213876\">$self->{language__}{Footer_FeedMe}</a> - \n"; ! $result .= "<a class=\"bottomLink\" href=\"http://sourceforge.net/tracker/index.php?group_id=63137&atid=502959\">$self->{language__}{Footer_RequestFeature}</a> - \n"; ! $result .= "<a class=\"bottomLink\" href=\"http://lists.sourceforge.net/lists/listinfo/popfile-announce\">$self->{language__}{Footer_MailingList}</a> - \n"; ! $result .= "($time)\n"; # comment out these next 3 lines prior to shipping code --- 644,656 ---- $result .= "/manual.html\">\n"; ! $result .= "$self->{language__}{Footer_Manual}</a><br>\n"; ! $result .= "<a class=\"bottomLink\" href=\"http://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137\">FAQ</a><br>\n"; ! ! $result .= "</td><td class=\"footerBody\">\n<a class=\"bottomLink\" href=\"http://popfile.sourceforge.net/\"><img src=\"otto.gif\" border=\"0\"></a><br>$self->{version_}<br>($time)</td>\n"; ! ! $result .= "<td class=\"footerBody\"><a class=\"bottomLink\" href=\"http://sourceforge.net/tracker/index.php?group_id=63137&atid=502959\">$self->{language__}{Footer_RequestFeature}</a><br>\n"; ! $result .= "<a class=\"bottomLink\" href=\"http://lists.sourceforge.net/lists/listinfo/popfile-announce\">$self->{language__}{Footer_MailingList}</a><br>\n"; ! $result .= "<a class=\"bottomLink\" href=\"http://sourceforge.net/forum/forum.php?forum_id=213876\">$self->{language__}{Footer_FeedMe}</a>\n"; # comment out these next 3 lines prior to shipping code *************** *** 801,808 **** --- 806,815 ---- # History View panel + $body .= "<td class=\"settingsPanel\" width=\"33%\" valign=\"top\">\n"; $body .= "<h2 class=\"configuration\">$self->{language__}{Configuration_HistoryView}</h2>\n"; # Emails per Page widget + $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configPageSize\">$self->{language__}{Configuration_History}:</label><br />\n"; *************** *** 813,816 **** --- 820,824 ---- # Days of History to Keep widget + $body .= "\n<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configHistoryDays\">$self->{language__}{Configuration_Days}:</label> <br />\n"; *************** *** 822,829 **** --- 830,839 ---- # Classification Insertion panel + $body .= "</td>\n<td class=\"settingsPanel\" width=\"33%\" valign=\"top\">\n"; $body .= "<h2 class=\"configuration\">$self->{language__}{Configuration_ClassificationInsertion}</h2>\n"; # Subject line modification widget + $body .= "<table width=\"100%\" summary=\"$self->{language__}{Configuration_InsertionTableSummary}\">\n<tr>\n"; $body .= "<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_SubjectLine}:</span>\n</th>\n"; *************** *** 845,848 **** --- 855,859 ---- # X-Text-Classification insertion widget + $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XTCInsertion}:</span></th>\n"; if ( $self->global_config_( 'xtc' ) == 1 ) { *************** *** 863,866 **** --- 874,878 ---- # X-POPFile-Link insertion widget + $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XPLInsertion}:</span></th>\n"; if ( $self->global_config_( 'xpl' ) == 1 ) { *************** *** 882,885 **** --- 894,898 ---- # Listen Ports panel + $body .= "</td>\n</tr>\n<tr>\n<td class=\"settingsPanel\" width=\"33%\" valign=\"top\">\n"; $body .= "<h2 class=\"configuration\">$self->{language__}{Configuration_ListenPorts}</h2>\n"; *************** *** 895,898 **** --- 908,912 ---- # User Interface Port widget + $body .= "\n<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configUIPort\">$self->{language__}{Configuration_UI}:</label><br />\n"; *************** *** 904,911 **** --- 918,927 ---- # TCP Connection Timeout panel + $body .= "<td class=\"settingsPanel\" width=\"33%\" valign=\"top\">\n"; $body .= "<h2 class=\"configuration\">$self->{language__}{Configuration_TCPTimeout}</h2>\n"; # TCP Conn TO widget + $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configTCPTimeout\">$self->{language__}{Configuration_TCPTimeoutSecs}:</label><br />\n"; *************** *** 917,920 **** --- 933,937 ---- # Logging panel + $body .= "<td class=\"settingsPanel\" width=\"33%\" valign=\"top\">\n"; $body .= "<h2 class=\"configuration\">$self->{language__}{Configuration_Logging}</h2>\n"; *************** *** 1216,1219 **** --- 1233,1243 ---- } + sub max + { + my ( $a, $b ) = @_; + + return ( $a > $b )?$a:$b; + } + # --------------------------------------------------------------------------------------------- # *************** *** 1242,1247 **** if ( defined( $self->{form_}{count} ) && ( defined( $self->{form_}{update} ) || defined( $self->{form_}{create} ) ) ) { - $self->{classifier__}->clear_magnets() if ( defined( $self->{form_}{update} ) ); - for my $i ( 1 .. $self->{form_}{count} ) { my $mtype = $self->{form_}{"type$i"}; --- 1266,1269 ---- *************** *** 1249,1252 **** --- 1271,1282 ---- my $mbucket = $self->{form_}{"bucket$i"}; + if ( defined( $self->{form_}{update} ) ) { + my $otype = $self->{form_}{"otype$i"}; + my $otext = $self->{form_}{"otext$i"}; + my $obucket = $self->{form_}{"obucket$i"}; + + $self->{classifier__}->delete_magnet( $obucket, $otype, $otext ); + } + if ( ( defined($mbucket) ) && ( $mbucket ne '' ) && ( $mtext ne '' ) ) { my $found = 0; *************** *** 1289,1293 **** $self->{classifier__}->create_magnet( $mbucket, $mtype, $mtext ); ! $magnet_message .= "<blockquote>" . sprintf( $self->{language__}{Magnet_Error3}, "$mtype: $mtext", $mbucket ) . "</blockquote>"; } } --- 1319,1325 ---- $self->{classifier__}->create_magnet( $mbucket, $mtype, $mtext ); ! if ( !defined( $self->{form_}{update} ) ) { ! $magnet_message .= "<blockquote>" . sprintf( $self->{language__}{Magnet_Error3}, "$mtype: $mtext", $mbucket ) . "</blockquote>"; ! } } } *************** *** 1296,1302 **** --- 1328,1355 ---- # Current Magnets panel + my $body = "<h2 class=\"magnets\">$self->{language__}{Magnet_CurrentMagnets}</h2>\n"; + my $start_magnet = $self->{form_}{start_magnet}; + my $stop_magnet = $self->{form_}{stop_magnet}; + my $magnet_count = $self->{classifier__}->magnet_count(); + my $navigator = ''; + + if ( !defined( $start_magnet ) ) { + $start_magnet = 0; + } + + if ( !defined( $stop_magnet ) ) { + $stop_magnet = $start_magnet + $self->config_( 'page_size' ) - 1; + } + + if ( $self->config_( 'page_size' ) < $magnet_count ) { + $navigator = $self->get_magnet_navigator( $start_magnet, $stop_magnet, $magnet_count ); + } + + $body .= $navigator; + # magnet listing headings + $body .= "<form action=\"/magnets\">\n"; $body .= "<table width=\"75%\" class=\"magnetsTable\" summary=\"$self->{language__}{Magnet_MainTableSummary}\">\n"; *************** *** 1308,1317 **** --- 1361,1378 ---- my %magnet_types = $self->{classifier__}->get_magnet_types(); my $i = 0; + my $count = -1; # magnet listing + my $stripe = 0; + for my $bucket ($self->{classifier__}->get_buckets_with_magnets()) { for my $type ($self->{classifier__}->get_magnet_types_in_bucket($bucket)) { for my $magnet ($self->{classifier__}->get_magnets( $bucket, $type)) { + $count += 1; + if ( ( $count < $start_magnet ) || ( $count > $stop_magnet ) ) { + next; + } + $i += 1; $body .= "<tr "; *************** *** 1325,1338 **** # another todo: Move this stuff into a function to make text # safe for inclusion in a form field my $validatingMagnet = $magnet; $validatingMagnet =~ s/&/&/g; $validatingMagnet =~ s/</</g; $validatingMagnet =~ s/>/>/g; ! # escape quotation characters to avoid orphan data within tags # todo: function to make arbitrary data safe for inclusion within # a html tag attribute (inside double-quotes) ! ! $validatingMagnet =~ s/\"/\"\;/g; $body .= ">\n<td><select name=\"type$i\" id=\"magnetsAddType\">\n"; --- 1386,1401 ---- # another todo: Move this stuff into a function to make text # safe for inclusion in a form field + my $validatingMagnet = $magnet; $validatingMagnet =~ s/&/&/g; $validatingMagnet =~ s/</</g; $validatingMagnet =~ s/>/>/g; ! # escape quotation characters to avoid orphan data within tags # todo: function to make arbitrary data safe for inclusion within # a html tag attribute (inside double-quotes) ! ! $validatingMagnet =~ s/\"/\"\;/g; ! $body .= ">\n<td><select name=\"type$i\" id=\"magnetsAddType\">\n"; *************** *** 1341,1345 **** $body .= "<option value=\"$mtype\" $selected>\n$self->{language__}{$magnet_types{$mtype}}</option>\n"; } ! $body .= "</select>: <input type=\"text\" name=\"text$i\" value=\"$validatingMagnet\" size=\"" . length($magnet) . "\" /></td>\n"; $body .= "<td><select name=\"bucket$i\" id=\"magnetsAddBucket\">\n"; --- 1404,1408 ---- $body .= "<option value=\"$mtype\" $selected>\n$self->{language__}{$magnet_types{$mtype}}</option>\n"; } ! $body .= "</select>: <input type=\"text\" name=\"text$i\" value=\"$validatingMagnet\" size=\"" . max(length($magnet),50) . "\" /></td>\n"; $body .= "<td><select name=\"bucket$i\" id=\"magnetsAddBucket\">\n"; *************** *** 1353,1356 **** --- 1416,1424 ---- $body .= "<td>\n"; $body .= "<input type=\"checkbox\" class=\"deleteButton\" name=\"remove$i\" />$self->{language__}{Remove}\n"; + + $body .= "<input name=\"otype$i\" type=\"hidden\" value=\"$type\" />"; + $body .= "<input name=\"otext$i\" type=\"hidden\" value=\"$validatingMagnet\" />"; + $body .= "<input name=\"obucket$i\" type=\"hidden\" value=\"$bucket\" />"; + $body .= "</td>\n"; $body .= "</tr>"; *************** *** 1361,1369 **** $body .= "<tr><td></td><td><input type=\"submit\" class=\"deleteButton\" name=\"update\" value=\"$self->{language__}{Update}\" /></td><td><input type=\"submit\" class=\"deleteButton\" name=\"delete\" value=\"$self->{language__}{Remove}\" /></td></tr></table>"; ! $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n<br /><br />\n"; ! $body .= "<input type=\"hidden\" name=\"count\" value=\"$i\" />\n</form>\n<br /><br />\n<hr />\n"; # Create New Magnet panel ! $body .= "<h2 class=\"magnets\">$self->{language__}{Magnet_CreateNew}</h2>\n"; $body .= "<table cellspacing=\"0\" summary=\"\">\n<tr>\n<td>\n"; $body .= "<b>$self->{language__}{Magnet_Explanation}\n"; --- 1429,1441 ---- $body .= "<tr><td></td><td><input type=\"submit\" class=\"deleteButton\" name=\"update\" value=\"$self->{language__}{Update}\" /></td><td><input type=\"submit\" class=\"deleteButton\" name=\"delete\" value=\"$self->{language__}{Remove}\" /></td></tr></table>"; ! $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n"; ! $body .= "<input type=\"hidden\" name=\"start_magnet\" value=\"$start_magnet\" />\n"; ! $body .= "<input type=\"hidden\" name=\"count\" value=\"$i\" />\n</form>\n<br /><br />\n"; ! ! $body .= $navigator; # Create New Magnet panel ! ! $body .= "<hr />\n<h2 class=\"magnets\">$self->{language__}{Magnet_CreateNew}</h2>\n"; $body .= "<table cellspacing=\"0\" summary=\"\">\n<tr>\n<td>\n"; $body .= "<b>$self->{language__}{Magnet_Explanation}\n"; *************** *** 1371,1380 **** --- 1443,1455 ---- # optional widget placement + $body .= "<div class=\"magnetsNewWidget\">\n"; # New Magnets form + $body .= "<form action=\"/magnets\">\n"; # Magnet Type widget + $body .= "<label class=\"magnetsLabel\" for=\"magnetsAddType\">$self->{language__}{Magnet_MagnetType}:</label><br />\n"; $body .= "<select name=\"type1\" id=\"magnetsAddType\">\n"; *************** *** 1399,1402 **** --- 1474,1478 ---- } $body .= "</select>\n<input type=\"submit\" class=\"submit\" name=\"create\" value=\"$self->{language__}{Create}\" />\n"; + $body .= "<input type=\"hidden\" name=\"start_magnet\" value=\"$start_magnet\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$magnet_message\n"; $body .="<br />\n"; *************** *** 2340,2343 **** --- 2416,2467 ---- } + $body .= " (<a class=\"history\" href=\"/history?session=$self->{session_key__}&setfilter=\">$self->{language__}{Refresh}</a>)\n"; + + return $body; + } + + # --------------------------------------------------------------------------------------------- + # + # get_magnet_navigator + # + # Return the HTML for the Next, Previous and page numbers for magnet navigation + # + # $start_magnet - The number of the first magnet + # $stop_magnet - The number of the last magnet + # $magnet_count - Total number of magnets + # + # --------------------------------------------------------------------------------------------- + sub get_magnet_navigator + { + my ( $self, $start_magnet, $stop_magnet, $magnet_count ) = @_; + + my $body = "$self->{language__}{Magnet_Jump}: "; + + if ( $start_magnet != 0 ) { + $body .= "[<a href=\"/magnets?start_magnet="; + $body .= $start_magnet - $self->config_( 'page_size' ); + $body .= $self->print_form_fields_(0,1,('session')) . "\">< $self->{language__}{Previous}</a>] "; + } + my $i = 0; + my $count = 0; + while ( $i < $magnet_count ) { + $count += 1; + if ( $i == $start_magnet ) { + $body .= "<b>"; + $body .= $count . "</b>"; + } else { + $body .= "[<a href=\"/magnets?start_magnet=$i" . $self->print_form_fields_(0,1,('session')). "\">"; + $body .= $count . "</a>]"; + } + + $body .= " "; + $i += $self->config_( 'page_size' ); + } + if ( $start_magnet < ( $magnet_count - $self->config_( 'page_size' ) ) ) { + $body .= "[<a href=\"/magnets?start_magnet="; + $body .= $start_magnet + $self->config_( 'page_size' ); + $body .= $self->print_form_fields_(0,1,('session')) . "\">$self->{language__}{Next} ></a>]"; + } + return $body; } *************** *** 2743,2747 **** } ! my $body = ''; if ( !$self->history_cache_empty() ) { --- 2867,2871 ---- } ! my $body = ''; if ( !$self->history_cache_empty() ) { *************** *** 2968,2972 **** $body .= "<a href=\"/view?view=" . $self->{history_keys__}[ $index - 1 ]; $body .= "&start_message=". ((( $index - 1 ) >= $start_message )?$start_message:($start_message - $self->config_( 'page_size' ))); ! $body .= $self->print_form_fields_(0,1,('filter','session','search','sort')) . "\"><<"; $body .= $self->{language__}{Previous}; $body .= "</a> "; --- 3092,3096 ---- $body .= "<a href=\"/view?view=" . $self->{history_keys__}[ $index - 1 ]; $body .= "&start_message=". ((( $index - 1 ) >= $start_message )?$start_message:($start_message - $self->config_( 'page_size' ))); ! $body .= $self->print_form_fields_(0,1,('filter','session','search','sort')) . "\">< "; $body .= $self->{language__}{Previous}; $body .= "</a> "; *************** *** 2978,2982 **** $body .= $self->print_form_fields_(0,1,('filter','session','search','sort')) . "\"> "; $body .= $self->{language__}{Next}; ! $body .= ">></a>"; } --- 3102,3106 ---- $body .= $self->print_form_fields_(0,1,('filter','session','search','sort')) . "\"> "; $body .= $self->{language__}{Next}; ! $body .= " ></a>"; } *************** *** 3039,3043 **** my $text = $2; $body .= "<tt>"; ! open MESSAGE, '<' . $self->global_config_( 'msgdir' ) . $mail_file; my $line; --- 3163,3167 ---- my $text = $2; $body .= "<tt>"; ! open MESSAGE, '<' . $self->global_config_( 'msgdir' ) . $mail_file; my $line; *************** *** 3046,3063 **** $line =~ s/</</g; $line =~ s/>/>/g; ! $line =~ s/([^\r\n]{100,150} )/$1<br \/>/g; $line =~ s/([^ \r\n]{150})/$1<br \/>/g; $line =~ s/[\r\n]+/<br \/>/g; ! if ( $line =~ /^([A-Za-z-]+): ?([^\n\r]*)/ ) { my $head = $1; my $arg = $2; ! if ( $head =~ /\Q$header\E/i ) { ! $text =~ s/</</g; $text =~ s/>/>/g; ! if ( $arg =~ /\Q$text\E/i ) { my $new_color = $self->{classifier__}->get_bucket_color($bucket); --- 3170,3187 ---- $line =~ s/</</g; $line =~ s/>/>/g; ! $line =~ s/([^\r\n]{100,150} )/$1<br \/>/g; $line =~ s/([^ \r\n]{150})/$1<br \/>/g; $line =~ s/[\r\n]+/<br \/>/g; ! if ( $line =~ /^([A-Za-z-]+): ?([^\n\r]*)/ ) { my $head = $1; my $arg = $2; ! if ( $head =~ /\Q$header\E/i ) { ! $text =~ s/</</g; $text =~ s/>/>/g; ! if ( $arg =~ /\Q$text\E/i ) { my $new_color = $self->{classifier__}->get_bucket_color($bucket); *************** *** 3066,3070 **** } } ! $body .= $line; } --- 3190,3194 ---- } } ! $body .= $line; } *************** *** 3076,3096 **** $body .= "<tr><td class=\"top20\" valign=\"top\">\n"; ! if ($self->{history__}{$mail_file}{magnet} eq '') { ! # Enable saving of word-scores ! $self->{classifier__}->wordscores( 1 ); ! # Build the scores by classifying the message ! $self->{classifier__}->classify_file($self->global_config_( 'msgdir' ) . $mail_file, $self); ! # Disable, print, and clear saved word-scores ! $self->{classifier__}->wordscores( 0 ); $body .= $self->{classifier__}->scores(); $self->{classifier__}->scores(''); - } else { $body .= sprintf( $self->{language__}{History_MagnetBecause}, --- 3200,3219 ---- $body .= "<tr><td class=\"top20\" valign=\"top\">\n"; ! if ($self->{history__}{$mail_file}{magnet} eq '') { ! # Enable saving of word-scores ! $self->{classifier__}->wordscores( 1 ); ! # Build the scores by classifying the message ! $self->{classifier__}->classify_file($self->global_config_( 'msgdir' ) . $mail_file, $self); ! # Disable, print, and clear saved word-scores ! $self->{classifier__}->wordscores( 0 ); $body .= $self->{classifier__}->scores(); $self->{classifier__}->scores(''); } else { $body .= sprintf( $self->{language__}{History_MagnetBecause}, *************** *** 3098,3102 **** Classifier::MailParse::splitline($self->{history__}{$mail_file}{magnet},0) ); ! } # Close button --- 3221,3225 ---- Classifier::MailParse::splitline($self->{history__}{$mail_file}{magnet},0) ); ! } # Close button *************** *** 3400,3404 **** $formstring .= "$field=$self->{form_}{$field}"; $count++; ! } } --- 3523,3527 ---- $formstring .= "$field=$self->{form_}{$field}"; $count++; ! } } *************** *** 3407,3411 **** } - # --------------------------------------------------------------------------------------------- # register_configuration_item --- 3530,3533 ---- *************** *** 3483,3488 **** { my ($line, $encoding) = @_; $line =~ s/([^\r\n]{100,120} )/$1\r\n/g; ! $line =~ s/([^ \r\n]{120})/$1\r\n/g; $line =~ s/</</g; --- 3605,3611 ---- { my ($line, $encoding) = @_; + $line =~ s/([^\r\n]{100,120} )/$1\r\n/g; ! $line =~ s/([^ \r\n]{120})/$1\r\n/g; $line =~ s/</</g; *************** *** 3495,3500 **** $line =~ s/\t/ /g; ! ! return $line; } --- 3618,3623 ---- $line =~ s/\t/ /g; ! ! return $line; } |
From: <jgr...@us...> - 2003-05-14 09:12:48
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv17805/Classifier Modified Files: Bayes.pm MailParse.pm Log Message: Implemented magnet paging Index: Bayes.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v retrieving revision 1.143 retrieving revision 1.144 diff -C2 -d -r1.143 -r1.144 *** Bayes.pm 14 May 2003 03:20:03 -0000 1.143 --- Bayes.pm 14 May 2003 09:12:10 -0000 1.144 *************** *** 81,84 **** --- 81,85 ---- # The magnets that cause attraction to certain buckets $self->{magnets__} = {}; + $self->{magnet_count__} = 0; # The unclassified cutoff probability *************** *** 306,313 **** my $c = 0; ! $self->{matrix__} = {}; ! $self->{total__} = {}; ! $self->{magnets__} = {}; ! $self->{full_total__} = 0; my @buckets = glob $self->config_( 'corpus' ) . '/*'; --- 307,314 ---- my $c = 0; ! $self->{matrix__} = {}; ! $self->{total__} = {}; ! $self->{magnets__} = {}; ! $self->{full_total__} = 0; my @buckets = glob $self->config_( 'corpus' ) . '/*'; *************** *** 404,408 **** close PARAMS; } else { ! $self->write_parameters(); } --- 405,409 ---- close PARAMS; } else { ! $self->write_parameters(); } *************** *** 474,477 **** --- 475,503 ---- close WORDS; } + + $self->calculate_magnet_count__(); + } + + # --------------------------------------------------------------------------------------------- + # + # calculate_magnet_count__ + # + # Count the number of magnets currently defined and store in the magnet_count__ + # variable for retrievable through magnet_count() + # + # --------------------------------------------------------------------------------------------- + sub calculate_magnet_count__ + { + my ($self) = @_; + + $self->{magnet_count__} = 0; + + for my $bucket (keys %{$self->{total__}}) { + for my $type (keys %{$self->{magnets__}{$bucket}}) { + for my $from (keys %{$self->{magnets__}{$bucket}{$type}}) { + $self->{magnet_count__} += 1; + } + } + } } *************** *** 538,542 **** $noattype =~ s/[@\$]/\./g; ! for my $magnet (sort keys %{$self->{magnets__}{$bucket}{$type}}) { my $regex; --- 564,568 ---- $noattype =~ s/[@\$]/\./g; ! for my $magnet (sort keys %{$self->{magnets__}{$bucket}{$type}}) { my $regex; *************** *** 1522,1525 **** --- 1548,1552 ---- $self->{magnets__}{$bucket}{$type}{$text} = 1; $self->save_magnets__(); + $self->calculate_magnet_count__(); } *************** *** 1558,1561 **** --- 1585,1589 ---- delete $self->{magnets__}{$bucket}{$type}{$text}; $self->save_magnets__(); + $self->calculate_magnet_count__(); } *************** *** 1617,1620 **** --- 1645,1655 ---- $self->{scores__} = $value if (defined $value); return $self->{scores__}; + } + + sub magnet_count + { + my ( $self ) = @_; + + return $self->{magnet_count__}; } Index: MailParse.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/MailParse.pm,v retrieving revision 1.127 retrieving revision 1.128 diff -C2 -d -r1.127 -r1.128 *** MailParse.pm 11 May 2003 23:24:36 -0000 1.127 --- MailParse.pm 14 May 2003 09:12:10 -0000 1.128 *************** *** 893,897 **** print ">>> $line" if $self->{debug}; ! if ($self->{color__}) { --- 893,897 ---- print ">>> $line" if $self->{debug}; ! if ($self->{color__}) { *************** *** 899,911 **** $colorized .= $self->{ut__}; $self->{ut__} = ''; ! } ! $self->{ut__} .= splitline($line, $encoding); } if ($self->{in_headers__}) { ! # temporary colorization while in headers is handled within parse_header ! $self->{ut__} = ''; --- 899,911 ---- $colorized .= $self->{ut__}; $self->{ut__} = ''; ! } ! $self->{ut__} .= splitline($line, $encoding); } if ($self->{in_headers__}) { ! # temporary colorization while in headers is handled within parse_header ! $self->{ut__} = ''; *************** *** 913,924 **** if ( $line =~ /^(\r\n|\r|\n)/) { ! ! # Parse the last header ! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding); # Clear the saved headers $header = ''; $argument = ''; ! $self->{ut__} .= splitline("\015\012", 0); --- 913,924 ---- if ( $line =~ /^(\r\n|\r|\n)/) { ! ! # Parse the last header ! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding); # Clear the saved headers $header = ''; $argument = ''; ! $self->{ut__} .= splitline("\015\012", 0); *************** *** 935,940 **** # Parse the last header ! ! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding) if ($header ne ''); # Save the new information for the current header --- 935,940 ---- # Parse the last header ! ! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding) if ($header ne ''); # Save the new information for the current header *************** *** 946,950 **** # Append to argument if the next line begins with whitespace (isn't a new header) ! if ( $line =~ /^([\t ].*?)(\r\n|\r|\n)/ ) { $argument .= "\015\012" . $1; --- 946,950 ---- # Append to argument if the next line begins with whitespace (isn't a new header) ! if ( $line =~ /^([\t ].*?)(\r\n|\r|\n)/ ) { $argument .= "\015\012" . $1; *************** *** 1047,1051 **** $colorized .= clear_out_base64( $self ); close MSG; ! $self->{in_html_tag__} = 0; --- 1047,1051 ---- $colorized .= clear_out_base64( $self ); close MSG; ! $self->{in_html_tag__} = 0; *************** *** 1123,1128 **** # the original string with it later. Thus, this subroutine returns the real decoded result. ! my ( $self, $mystring ) = @_; ! my $decode_it = ''; --- 1123,1128 ---- # the original string with it later. Thus, this subroutine returns the real decoded result. ! my ( $self, $mystring ) = @_; ! my $decode_it = ''; *************** *** 1137,1143 **** $mystring =~ s/=\?[\w-]+\?Q\?(.*)\?=/$decode_it/i; } ! } ! ! return $mystring; } --- 1137,1143 ---- $mystring =~ s/=\?[\w-]+\?Q\?(.*)\?=/$decode_it/i; } ! } ! ! return $mystring; } *************** *** 1176,1180 **** my $color = $self->{bayes__}->get_color( "header:$header" ); ! $self->{ut__} = "<b><font color=\"$color\">$header</font></b>: " . splitline( $argument . "\015\012", $encoding ); } --- 1176,1180 ---- my $color = $self->{bayes__}->get_color( "header:$header" ); ! $self->{ut__} = "<b><font color=\"$color\">$header</font></b>: $argument\015\012"; } *************** *** 1223,1227 **** if ( $header =~ /^To$/i ) { $prefix = 'to'; ! $self->{to__} = $argument if ( $self->{to__} eq '' ); } --- 1223,1227 ---- if ( $header =~ /^To$/i ) { $prefix = 'to'; ! $self->{to__} = $argument if ( $self->{to__} eq '' ); } |
From: <jgr...@us...> - 2003-05-14 09:12:45
|
Update of /cvsroot/popfile/engine/Proxy In directory sc8-pr-cvs1:/tmp/cvs-serv17805/Proxy Modified Files: POP3.pm Log Message: Implemented magnet paging Index: POP3.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/POP3.pm,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** POP3.pm 7 May 2003 22:21:01 -0000 1.54 --- POP3.pm 14 May 2003 09:12:12 -0000 1.55 *************** *** 269,282 **** if ( $self->config_( 'toptoo' ) ) { if ( $self->echo_response_($mail, $client, "RETR $1" ) ) { ! # Classify without echoing to client, without saving # and without over-writing any files ($mcount overriden to 0) ! my $class = $self->{classifier__}->classify_and_modify( $mail, undef, $download_count, 0, 1, '', 0 ); ! if ( $self->echo_response_($mail, $client, $command ) ) { ! # Classify with pre-defined class, without saving, echoing to client ! $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, 0, 1, $class, 1 ); --- 269,282 ---- if ( $self->config_( 'toptoo' ) ) { if ( $self->echo_response_($mail, $client, "RETR $1" ) ) { ! # Classify without echoing to client, without saving # and without over-writing any files ($mcount overriden to 0) ! my $class = $self->{classifier__}->classify_and_modify( $mail, undef, $download_count, 0, 1, '', 0 ); ! if ( $self->echo_response_($mail, $client, $command ) ) { ! # Classify with pre-defined class, without saving, echoing to client ! $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, 0, 1, $class, 1 ); |
From: <jgr...@us...> - 2003-05-14 09:12:22
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1:/tmp/cvs-serv17805/languages Modified Files: English.msg Log Message: Implemented magnet paging Index: English.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/English.msg,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** English.msg 2 May 2003 17:45:38 -0000 1.33 --- English.msg 14 May 2003 09:12:15 -0000 1.34 *************** *** 48,51 **** --- 48,52 ---- Count Count Update Update + Refresh Refresh # The header and footer that appear on every UI page *************** *** 193,196 **** --- 194,198 ---- Magnet_Value Value Magnet_Always Always goes to bucket + Magnet_Jump Jump to magnet page Bucket_Error1 Bucket names can only contain the letters a to z in lower case, numbers 0 to 9, plus - and _ |
From: <ssc...@us...> - 2003-05-14 03:20:06
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv13269 Modified Files: 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.142 retrieving revision 1.143 diff -C2 -d -r1.142 -r1.143 *** Bayes.pm 7 May 2003 22:20:58 -0000 1.142 --- Bayes.pm 14 May 2003 03:20:03 -0000 1.143 *************** *** 790,793 **** --- 790,794 ---- 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 header lines here my $msg_body = ''; # Store the message body here *************** *** 861,871 **** # 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 { --- 862,882 ---- # 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 { *************** *** 934,938 **** } ! $msg_head_after .= "$eol"; # Echo the text of the message to the client --- 945,949 ---- } ! $msg_head_after .= $msg_head_q . "$eol"; # Echo the text of the message to the client |
From: <ssc...@us...> - 2003-05-14 01:01:39
|
Update of /cvsroot/popfile/windows/POPFileIcon In directory sc8-pr-cvs1:/tmp/cvs-serv26252 Added Files: POPFileIcon.dsp POPFileIcon.dsw Log Message: add VC 6.0 workspace and project for dll --- NEW FILE: POPFileIcon.dsp --- # Microsoft Developer Studio Project File - Name="icon" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=icon - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "POPFileIcon.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "POPFileIcon.mak" CFG="icon - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "icon - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "icon - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "icon - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICON_EXPORTS" /Yu"stdafx.h" /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICON_EXPORTS" /Yu"stdafx.h" /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x1009 /d "NDEBUG" # ADD RSC /l 0x1009 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "icon - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICON_EXPORTS" /Yu"stdafx.h" /FD /GZ /c # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICON_EXPORTS" /Yu"stdafx.h" /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x1009 /d "_DEBUG" # ADD RSC /l 0x1009 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "icon - Win32 Release" # Name "icon - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\icon.cpp # End Source File # Begin Source File SOURCE=.\icon.def # End Source File # Begin Source File SOURCE=.\StdAfx.cpp # ADD CPP /Yc"stdafx.h" # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=.\icon.h # End Source File # Begin Source File SOURCE=.\StdAfx.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # Begin Source File SOURCE=.\icon.rc # End Source File # End Group # End Target # End Project --- NEW FILE: POPFileIcon.dsw --- Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "icon"=".\POPFileIcon.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### |
From: <ssc...@us...> - 2003-05-11 23:24:40
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv14531 Modified Files: MailParse.pm Log Message: restore header colorization HTML character escaping Index: MailParse.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/MailParse.pm,v retrieving revision 1.126 retrieving revision 1.127 diff -C2 -d -r1.126 -r1.127 *** MailParse.pm 9 May 2003 00:33:42 -0000 1.126 --- MailParse.pm 11 May 2003 23:24:36 -0000 1.127 *************** *** 1171,1181 **** my ($self, $header, $argument, $mime, $encoding) = @_; ! print "Header ($header) ($argument)\n";# if ($self->{debug}); if ( $self->{color__} ) { my $color = $self->{bayes__}->get_color( "header:$header" ); ! $self->{ut__} = "<b><font color=\"$color\">$header</font></b>: $argument\015\012"; ! print $self->{ut__}; } --- 1171,1180 ---- my ($self, $header, $argument, $mime, $encoding) = @_; ! print "Header ($header) ($argument)\n" if ($self->{debug}); if ( $self->{color__} ) { my $color = $self->{bayes__}->get_color( "header:$header" ); ! $self->{ut__} = "<b><font color=\"$color\">$header</font></b>: " . splitline( $argument . "\015\012", $encoding ); } |
From: <xue...@us...> - 2003-05-09 13:11:10
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv5031 Modified Files: installer.nsi Log Message: Installer now offers to display "release notes" before the installation starts. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** installer.nsi 8 May 2003 16:41:26 -0000 1.43 --- installer.nsi 9 May 2003 13:11:04 -0000 1.44 *************** *** 173,176 **** --- 173,185 ---- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioB.ini" + SearchPath $R0 notepad.exe + StrCmp $R0 "" skip_release_notes + + 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 skip_release_notes + ExecWait 'notepad.exe "$PLUGINSDIR\release.txt"' + + skip_release_notes: FunctionEnd |
From: <jgr...@us...> - 2003-05-09 00:33:45
|
Update of /cvsroot/popfile/engine/Proxy In directory sc8-pr-cvs1:/tmp/cvs-serv29594/Proxy Modified Files: Proxy.pm Log Message: Fix bug where header encoding was not working properly; turn off coloring of pseudowords in the body of email Index: Proxy.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Proxy.pm 7 May 2003 22:21:01 -0000 1.14 --- Proxy.pm 9 May 2003 00:33:42 -0000 1.15 *************** *** 339,348 **** { my ( $self, $mail, $client, $regexp, $verbose ) = @_; ! $verbose = 0 if (!defined($verbose)); while ( <$mail> ) { # Check for an abort ! last if ( $self->{alive_} == 0 ); --- 339,348 ---- { my ( $self, $mail, $client, $regexp, $verbose ) = @_; ! $verbose = 0 if (!defined($verbose)); while ( <$mail> ) { # Check for an abort ! last if ( $self->{alive_} == 0 ); *************** *** 351,358 **** } else { # This creates log output ! $self->tee_($client, $_); } ! last if ( $_ =~ $regexp ); } --- 351,358 ---- } else { # This creates log output ! $self->tee_($client, $_); } ! last if ( $_ =~ $regexp ); } *************** *** 373,377 **** { my ( $self, $mail, $client ) = @_; ! # The termination has to be a single line with exactly a dot on it and nothing # else other than line termination characters. This is vital so that we do --- 373,377 ---- { my ( $self, $mail, $client ) = @_; ! # The termination has to be a single line with exactly a dot on it and nothing # else other than line termination characters. This is vital so that we do |
From: <jgr...@us...> - 2003-05-09 00:33:45
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv29594/Classifier Modified Files: MailParse.pm Log Message: Fix bug where header encoding was not working properly; turn off coloring of pseudowords in the body of email Index: MailParse.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/MailParse.pm,v retrieving revision 1.125 retrieving revision 1.126 diff -C2 -d -r1.125 -r1.126 *** MailParse.pm 6 May 2003 17:05:45 -0000 1.125 --- MailParse.pm 9 May 2003 00:33:42 -0000 1.126 *************** *** 160,170 **** if ( $self->{color__} ) { ! $literal =~ s/</</g; ! $literal =~ s/>/>/g; ! my $color = $self->{bayes__}->get_color($mword); ! my $to = "<b><font color=\"$color\"><a title=\"$mword\">$literal</a></font></b>"; ! if ( $encoded == 0 ) { ! $self->{ut__} =~ s/\Q$literal\E/$to/g; ! } else { $self->{ut__} .= $to . ' '; } --- 160,168 ---- if ( $self->{color__} ) { ! if ( $encoded == 1 ) { ! $literal =~ s/</</g; ! $literal =~ s/>/>/g; ! my $color = $self->{bayes__}->get_color($mword); ! my $to = "<b><font color=\"$color\"><a title=\"$mword\">$literal</a></font></b>"; $self->{ut__} .= $to . ' '; } *************** *** 1173,1184 **** my ($self, $header, $argument, $mime, $encoding) = @_; ! print "Header ($header) ($argument)\n" if ($self->{debug}); ! if ($self->{color__}) { ! # Remove over-reading ! $self->{ut__} = ''; ! # Qeueue just this header for colorization ! $self->{ut__} = splitline("$header: $argument\015\012", $encoding); } --- 1171,1181 ---- my ($self, $header, $argument, $mime, $encoding) = @_; ! print "Header ($header) ($argument)\n";# if ($self->{debug}); ! if ( $self->{color__} ) { ! my $color = $self->{bayes__}->get_color( "header:$header" ); ! $self->{ut__} = "<b><font color=\"$color\">$header</font></b>: $argument\015\012"; ! print $self->{ut__}; } |
From: <xue...@us...> - 2003-05-08 18:44:34
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv23791 Modified Files: CBP.nsh Log Message: Add (limited) support for UNC format 'corpus' paths. Index: CBP.nsh =================================================================== RCS file: /cvsroot/popfile/windows/CBP.nsh,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CBP.nsh 8 May 2003 13:58:53 -0000 1.4 --- CBP.nsh 8 May 2003 18:44:30 -0000 1.5 *************** *** 231,234 **** --- 231,235 ---- StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 2 StrCmp ${CBP_L_TEMP} ".\" sub_folder + StrCmp ${CBP_L_TEMP} "\\" look_for_corpus_files StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 3 *************** *** 273,277 **** look_for_corpus_files: - ; Save path in INI file for later use by 'CBP_MakePOPFileBucket' --- 274,277 ---- *************** *** 383,386 **** --- 383,387 ---- !define CBP_L_NAME $R3 ; used when checking the corpus directory !define CBP_L_PTR $R2 ; used to access the names in the bucket list + !define CBP_L_UNC $R1 ; used to detect UNC-format 'corpus' paths Exch ${CBP_L_COUNT} ; get number of buckets to be created *************** *** 394,397 **** --- 395,399 ---- Push ${CBP_L_NAME} Push ${CBP_L_PTR} + Push ${CBP_L_UNC} ; Retrieve the corpus path (as determined by CBP_CheckCorpusStatus) *************** *** 399,402 **** --- 401,406 ---- !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_CORPUS} "${CBP_C_INIFILE}" \ "CBP Data" "CorpusPath" + + StrCpy ${CBP_L_UNC} ${CBP_L_CORPUS} 2 ; will be "\\" for UNC-format paths ; Now we create the buckets selected by the user. At present this code is only executed *************** *** 429,433 **** --- 433,440 ---- FileWrite ${CBP_L_FILE_HANDLE} "$\r$\n" FileClose ${CBP_L_FILE_HANDLE} + StrCmp ${CBP_L_UNC} "\\" ignore_errors IfErrors incrm_ptr + + ignore_errors: IntOp ${CBP_L_COUNT} ${CBP_L_COUNT} - 1 *************** *** 437,440 **** --- 444,448 ---- finished_now: + Pop ${CBP_L_UNC} Pop ${CBP_L_PTR} Pop ${CBP_L_NAME} *************** *** 455,458 **** --- 463,467 ---- !undef CBP_L_NAME !undef CBP_L_PTR + !undef CBP_L_UNC FunctionEnd |
From: <xue...@us...> - 2003-05-08 16:41:29
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv30154 Modified Files: installer.nsi Log Message: Installer no longer uses hard-coded POP3 separator character (uses data from popfile.cfg, if present) Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** installer.nsi 6 May 2003 22:58:04 -0000 1.42 --- installer.nsi 8 May 2003 16:41:26 -0000 1.43 *************** *** 732,735 **** --- 732,774 ---- ; 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 *************** *** 823,827 **** FileClose ${CFG} ! WriteRegStr HKCU $R5 "POP3 User Name" "$R7:$R6" WriteRegStr HKCU $R5 "POP3 Server" "127.0.0.1" --- 862,866 ---- FileClose ${CFG} ! WriteRegStr HKCU $R5 "POP3 User Name" "$R7${L_SEPARATOR}$R6" WriteRegStr HKCU $R5 "POP3 Server" "127.0.0.1" *************** *** 836,839 **** --- 875,882 ---- finished_oe: + + !undef L_LNE + !undef L_SEPARATOR + !undef L_TEMP FunctionEnd |
From: <xue...@us...> - 2003-05-08 13:58:57
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1:/tmp/cvs-serv13341 Modified Files: CBP.nsh Log Message: Bucket creation no longer uses hard-coded corpus folder (now uses data from popfile.cfg, if present). Index: CBP.nsh =================================================================== RCS file: /cvsroot/popfile/windows/CBP.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CBP.nsh 5 May 2003 20:40:10 -0000 1.3 --- CBP.nsh 8 May 2003 13:58:53 -0000 1.4 *************** *** 26,30 **** ; ; #---------------------------------------------------------------------------------------- ! ; # CBP Configuration Data (leave lines commented-out if defaults are satisfactory) ; #---------------------------------------------------------------------------------------- ; # ; Maximum number of buckets handled (in range 2 to 8) --- 26,30 ---- ; ; #---------------------------------------------------------------------------------------- ! ; # CBP Configuration Data (to change the default settings, un-comment appropriate lines) ; #---------------------------------------------------------------------------------------- ; # ; Maximum number of buckets handled (in range 2 to 8) *************** *** 34,43 **** ; # ; 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" --- 34,43 ---- ; # ; 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" *************** *** 70,74 **** ; ----------------- ; ! ; !define CBP_DEFAULT_LIST "in-box|junk|personal|work" ; ; The default list of bucket names presented when the "Create Bucket" page first appears. --- 70,74 ---- ; ----------------- ; ! ; !define CBP_DEFAULT_LIST "inbox|spam|personal|work" ; ; The default list of bucket names presented when the "Create Bucket" page first appears. *************** *** 83,87 **** ; ; !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" --- 83,87 ---- ; ; !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" *************** *** 124,131 **** # POPFile in a folder which does not contain any corpus files from a previous installation. # ! # For flexibility, the path to be searched is passed on the stack instead of being hard-coded. #---------------------------------------------------------------------------------------------- # Inputs: ! # (top of stack) - the path where the corpus is expected to exist # (normally this will be the same as $INSTDIR) #---------------------------------------------------------------------------------------------- --- 124,136 ---- # POPFile in a folder which does not contain any corpus files from a previous installation. # ! # For flexibility, the folder to be searched is passed on the stack instead of being hard-coded. ! # If 'popfile.cfg' is found in the specified folder, we use the corpus parameter (if present) ! # otherwise we look for corpus files in the sub-folder called 'corpus'. ! # ! # The full path used when searching for a corpus is stored in the CBP package's INI file ! # for use when creating the buckets. #---------------------------------------------------------------------------------------------- # Inputs: ! # (top of stack) - the path where 'popfile.cfg' or the corpus is expected to be # (normally this will be the same as $INSTDIR) #---------------------------------------------------------------------------------------------- *************** *** 143,150 **** #---------------------------------------------------------------------------------------------- # Global CBP Constants Used: ! # (none) #---------------------------------------------------------------------------------------------- # CBP Functions Called: ! # (none) #---------------------------------------------------------------------------------------------- # Called By: --- 148,157 ---- #---------------------------------------------------------------------------------------------- # Global CBP Constants Used: ! # CBP_C_INIFILE - name of the INI file used to create the custom page #---------------------------------------------------------------------------------------------- # CBP Functions Called: ! # CBP_GetParent - used when converting relative path to absolute path ! # CBP_StrBackSlash - converts all slashes in a string into backslashes ! # CBP_TrimNewlines - strips trailing Carriage Returns and/or Newlines from string #---------------------------------------------------------------------------------------------- # Called By: *************** *** 162,175 **** Function CBP_CheckCorpusStatus ! !define CBP_L_FILE_HANDLE $R9 ! !define CBP_L_RESULT $R8 ! !define CBP_L_SOURCE $R7 ! Exch ${CBP_L_SOURCE} ; where we are supposed to look for the corpus files Push ${CBP_L_RESULT} Exch Push ${CBP_L_FILE_HANDLE} ! FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_RESULT} ${CBP_L_SOURCE}\corpus\*.* ; If the "corpus" directory does not exist "${CBP_L_FILE_HANDLE}" will be empty --- 169,283 ---- Function CBP_CheckCorpusStatus ! !define CBP_L_CORPUS $R9 ! !define CBP_L_FILE_HANDLE $R8 ! !define CBP_L_RESULT $R7 ! !define CBP_L_SOURCE $R6 ! !define CBP_L_TEMP $R5 ! Exch ${CBP_L_SOURCE} ; where we are supposed to look for the corpus data Push ${CBP_L_RESULT} Exch + Push ${CBP_L_CORPUS} Push ${CBP_L_FILE_HANDLE} + Push ${CBP_L_TEMP} + + StrCpy ${CBP_L_CORPUS} "" + + IfFileExists ${CBP_L_SOURCE}\popfile.cfg 0 check_default_corpus_locn ! ClearErrors ! FileOpen ${CBP_L_FILE_HANDLE} ${CBP_L_SOURCE}\popfile.cfg r ! ! loop: ! FileRead ${CBP_L_FILE_HANDLE} ${CBP_L_TEMP} ! IfErrors cfg_file_done ! StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 7 ! StrCmp ${CBP_L_RESULT} "corpus " got_old_corpus ! StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 13 ! StrCmp ${CBP_L_RESULT} "bayes_corpus " got_new_corpus ! Goto loop ! ! got_old_corpus: ! StrCpy ${CBP_L_CORPUS} ${CBP_L_TEMP} "" 7 ! Goto loop ! ! got_new_corpus: ! StrCpy ${CBP_L_CORPUS} ${CBP_L_TEMP} "" 13 ! Goto loop ! ! cfg_file_done: ! FileClose ${CBP_L_FILE_HANDLE} ! ! Push ${CBP_L_CORPUS} ! Call CBP_TrimNewlines ! Pop ${CBP_L_CORPUS} ! StrCmp ${CBP_L_CORPUS} "" check_default_corpus_locn ! ! ; A non-null corpus parameter has been found in 'popfile.cfg' ! ; Strip leading/trailing quotes, if any ! ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 1 ! StrCmp ${CBP_L_TEMP} '"' 0 slashconversion ! StrCpy ${CBP_L_CORPUS} ${CBP_L_CORPUS} "" 1 ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 1 -1 ! StrCmp ${CBP_L_TEMP} '"' 0 slashconversion ! StrCpy ${CBP_L_CORPUS} ${CBP_L_CORPUS} -1 ! ! slashconversion: ! Push ${CBP_L_CORPUS} ! Call CBP_StrBackSlash ; ensure corpus path uses backslashes ! Pop ${CBP_L_CORPUS} ! ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 2 ! StrCmp ${CBP_L_TEMP} ".\" sub_folder ! ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 3 ! StrCmp ${CBP_L_TEMP} "..\" relative_folder ! ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 1 ! StrCmp ${CBP_L_TEMP} "\" instdir_drive ! ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 1 1 ! StrCmp ${CBP_L_TEMP} ":" look_for_corpus_files ! ! ; Assume path can be safely added to $INSTDIR ! ! StrCpy ${CBP_L_CORPUS} $INSTDIR\${CBP_L_CORPUS} ! Goto look_for_corpus_files ! ! sub_folder: ! StrCpy ${CBP_L_CORPUS} ${CBP_L_CORPUS} "" 2 ! StrCpy ${CBP_L_CORPUS} $INSTDIR\${CBP_L_CORPUS} ! Goto look_for_corpus_files ! ! relative_folder: ! StrCpy ${CBP_L_RESULT} $INSTDIR ! ! relative_again: ! StrCpy ${CBP_L_CORPUS} ${CBP_L_CORPUS} "" 3 ! Push ${CBP_L_RESULT} ! Call CBP_GetParent ! Pop ${CBP_L_RESULT} ! StrCpy ${CBP_L_TEMP} ${CBP_L_CORPUS} 3 ! StrCmp ${CBP_L_TEMP} "..\" relative_again ! StrCpy ${CBP_L_CORPUS} ${CBP_L_RESULT}\${CBP_L_CORPUS} ! Goto look_for_corpus_files ! ! instdir_drive: ! StrCpy ${CBP_L_TEMP} $INSTDIR 2 ! StrCpy ${CBP_L_CORPUS} ${CBP_L_TEMP}${CBP_L_CORPUS} ! Goto look_for_corpus_files ! ! check_default_corpus_locn: ! StrCpy ${CBP_L_CORPUS} ${CBP_L_SOURCE}\corpus ! ! look_for_corpus_files: ! ! ; Save path in INI file for later use by 'CBP_MakePOPFileBucket' ! ! !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" \ ! "CBP Data" "CorpusPath" ${CBP_L_CORPUS} ! ! FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_RESULT} ${CBP_L_CORPUS}\*.* ; If the "corpus" directory does not exist "${CBP_L_FILE_HANDLE}" will be empty *************** *** 203,213 **** --- 311,325 ---- FindClose ${CBP_L_FILE_HANDLE} + Pop ${CBP_L_TEMP} Pop ${CBP_L_FILE_HANDLE} + Pop ${CBP_L_CORPUS} Pop ${CBP_L_SOURCE} Exch ${CBP_L_RESULT} ; place "clean", "empty" or "dirty" on top of the stack + !undef CBP_L_CORPUS !undef CBP_L_FILE_HANDLE !undef CBP_L_RESULT !undef CBP_L_SOURCE + !undef CBP_L_TEMP FunctionEnd *************** *** 222,225 **** --- 334,340 ---- # consecutive fields in the INI file. # + # The INI file also holds the full path to the folder where the buckets are to be created + # (this path is determined by 'CBP_CheckCorpusStatus' because the location is not hard-coded). + # # Almost no error checking is performed upon the input parameters. # *************** *** 260,274 **** Function CBP_MakePOPFileBuckets ! !define CBP_L_COUNT $R9 ; holds number of buckets not yet created ! !define CBP_L_CREATE_NAME $R8 ; name of bucket to be created ! !define CBP_L_FILE_HANDLE $R7 ! !define CBP_L_FIRST_FIELD $R6 ; holds field number where first bucket name is stored ! !define CBP_L_LOOP_LIMIT $R5 ; used to terminate the processing loop ! !define CBP_L_NAME $R4 ; used when checking the corpus directory ! !define CBP_L_PTR $R3 ; used to access the names in the bucket list Exch ${CBP_L_COUNT} ; get number of buckets to be created Exch Exch ${CBP_L_FIRST_FIELD} ; get number of the field containing the first bucket name Push ${CBP_L_CREATE_NAME} Push ${CBP_L_FILE_HANDLE} --- 375,392 ---- Function CBP_MakePOPFileBuckets ! !define CBP_L_CORPUS $R9 ; holds the full path for the 'corpus' folder ! !define CBP_L_COUNT $R8 ; holds number of buckets not yet created ! !define CBP_L_CREATE_NAME $R7 ; name of bucket to be created ! !define CBP_L_FILE_HANDLE $R6 ! !define CBP_L_FIRST_FIELD $R5 ; holds field number where first bucket name is stored ! !define CBP_L_LOOP_LIMIT $R4 ; used to terminate the processing loop ! !define CBP_L_NAME $R3 ; used when checking the corpus directory ! !define CBP_L_PTR $R2 ; used to access the names in the bucket list Exch ${CBP_L_COUNT} ; get number of buckets to be created Exch Exch ${CBP_L_FIRST_FIELD} ; get number of the field containing the first bucket name + + Push ${CBP_L_CORPUS} Push ${CBP_L_CREATE_NAME} Push ${CBP_L_FILE_HANDLE} *************** *** 277,280 **** --- 395,403 ---- Push ${CBP_L_PTR} + ; Retrieve the corpus path (as determined by CBP_CheckCorpusStatus) + + !insertmacro MUI_INSTALLOPTIONS_READ ${CBP_L_CORPUS} "${CBP_C_INIFILE}" \ + "CBP Data" "CorpusPath" + ; Now we create the buckets selected by the user. At present this code is only executed ; for a "fresh" install, one where there are no corpus files, so we can simply create a *************** *** 294,298 **** ; Double-check that the bucket we are about to create does not exist ! FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_NAME} $INSTDIR\corpus\${CBP_L_CREATE_NAME}\*.* StrCmp ${CBP_L_FILE_HANDLE} "" ok_to_create_bucket FindClose ${CBP_L_FILE_HANDLE} --- 417,421 ---- ; Double-check that the bucket we are about to create does not exist ! FindFirst ${CBP_L_FILE_HANDLE} ${CBP_L_NAME} ${CBP_L_CORPUS}\${CBP_L_CREATE_NAME}\*.* StrCmp ${CBP_L_FILE_HANDLE} "" ok_to_create_bucket FindClose ${CBP_L_FILE_HANDLE} *************** *** 302,307 **** FindClose ${CBP_L_FILE_HANDLE} ClearErrors ! CreateDirectory $INSTDIR\corpus\${CBP_L_CREATE_NAME} ! FileOpen ${CBP_L_FILE_HANDLE} $INSTDIR\corpus\${CBP_L_CREATE_NAME}\table w FileWrite ${CBP_L_FILE_HANDLE} "$\r$\n" FileClose ${CBP_L_FILE_HANDLE} --- 425,430 ---- FindClose ${CBP_L_FILE_HANDLE} ClearErrors ! CreateDirectory ${CBP_L_CORPUS}\${CBP_L_CREATE_NAME} ! FileOpen ${CBP_L_FILE_HANDLE} ${CBP_L_CORPUS}\${CBP_L_CREATE_NAME}\table w FileWrite ${CBP_L_FILE_HANDLE} "$\r$\n" FileClose ${CBP_L_FILE_HANDLE} *************** *** 319,325 **** --- 442,451 ---- Pop ${CBP_L_FILE_HANDLE} Pop ${CBP_L_CREATE_NAME} + Pop ${CBP_L_CORPUS} Pop ${CBP_L_FIRST_FIELD} + Exch ${CBP_L_COUNT} ; top of stack now has number of buckets we were unable to create + !undef CBP_L_CORPUS !undef CBP_L_COUNT !undef CBP_L_CREATE_NAME *************** *** 803,806 **** --- 929,937 ---- Push ${CBP_L_TEMP} + IfFileExists "$PLUGINSDIR\${CBP_C_INIFILE}" use_INI_file + Call CBP_CreateINIfile + + use_INI_file: + ; We only offer to create POPFile buckets if we are not upgrading an existing POPFile system *************** *** 808,823 **** Call CBP_CheckCorpusStatus Pop ${CBP_L_RESULT} ! StrCmp ${CBP_L_RESULT} "clean" display_bucket_page ! StrCmp ${CBP_L_RESULT} "empty" display_bucket_page ! ! ; The corpus directory exists and is not empty, so we exit without offering to create buckets ! ! Goto finished_now ! ! display_bucket_page: ! IfFileExists "$PLUGINSDIR\${CBP_C_INIFILE}" use_INI_file ! Call CBP_CreateINIfile ! use_INI_file: !insertmacro MUI_HEADER_TEXT "POPFile Classification Bucket Creation" \ --- 939,945 ---- Call CBP_CheckCorpusStatus Pop ${CBP_L_RESULT} ! StrCmp ${CBP_L_RESULT} "dirty" finished_now ! ; The corpus directory does not exist or is empty !insertmacro MUI_HEADER_TEXT "POPFile Classification Bucket Creation" \ *************** *** 1659,1662 **** --- 1781,1965 ---- Pop $R2 Exch $R1 + FunctionEnd + + #============================================================================================== + # Function CBP_TrimNewlines + #============================================================================================== + # Used to remove any Carriage-Returns and/or Newlines from the end of a string + # (if string does not have any trailing Carriage-Returns or Newlines, it is returned unchanged) + #---------------------------------------------------------------------------------------------- + # Inputs: + # (top of stack) - string which may end with Carriage-Returns and/or Newlines + #---------------------------------------------------------------------------------------------- + # Outputs: + # (top of stack) - string with no Carriage Returns or Newlines at the end + #---------------------------------------------------------------------------------------------- + # Global Registers Destroyed: + # (none) + # + # Local Registers Destroyed: + # (none) + #---------------------------------------------------------------------------------------------- + # Global CBP Constants Used: + # (none) + #---------------------------------------------------------------------------------------------- + # CBP Functions Called: + # (none) + #---------------------------------------------------------------------------------------------- + # Called By: + # CBP_CheckCorpusStatus - checks if we are performing a "clean" installation + #---------------------------------------------------------------------------------------------- + # Usage Example: + # + # Push "whatever$\r$\n" + # Call CBP_TrimNewlines + # Pop $R0 + # + # ($R0 at this point is "whatever") + # + #============================================================================================== + + Function CBP_TrimNewlines + Exch $R0 + Push $R1 + Push $R2 + StrCpy $R1 0 + + loop: + IntOp $R1 $R1 - 1 + StrCpy $R2 $R0 1 $R1 + StrCmp $R2 "$\r" loop + StrCmp $R2 "$\n" loop + IntOp $R1 $R1 + 1 + IntCmp $R1 0 no_trim_needed + StrCpy $R0 $R0 $R1 + + no_trim_needed: + Pop $R2 + Pop $R1 + Exch $R0 + FunctionEnd + + #============================================================================================== + # Function CBP_StrBackSlash + #============================================================================================== + # Used to convert all slashes in a string to backslashes + #---------------------------------------------------------------------------------------------- + # Inputs: + # (top of stack) - string containing slashes (e.g. "C:/This/and/That") + #---------------------------------------------------------------------------------------------- + # Outputs: + # (top of stack) - string containing backslashes (e.g. "C:\This\and\That") + #---------------------------------------------------------------------------------------------- + # Global Registers Destroyed: + # (none) + # + # Local Registers Destroyed: + # (none) + #---------------------------------------------------------------------------------------------- + # Global CBP Constants Used: + # (none) + #---------------------------------------------------------------------------------------------- + # CBP Functions Called: + # (none) + #---------------------------------------------------------------------------------------------- + # Called By: + # CBP_CheckCorpusStatus - checks if we are performing a "clean" installation + #---------------------------------------------------------------------------------------------- + # Usage Example: + # + # Push "C:/Program Files/Directory/Whatever" + # Call CBP_StrBackSlash + # Pop $R0 + # + # ($R0 at this point is ""C:\Program Files\Directory"\Whatever) + # + #============================================================================================== + + Function CBP_StrBackSlash + Exch $R0 ; Input string with slashes + Push $R1 ; Output string using backslashes + Push $R2 ; Current character + + StrCpy $R1 "" + StrCmp $R0 $R1 nothing_to_do + + loop: + StrCpy $R2 $R0 1 + StrCpy $R0 $R0 "" 1 + StrCmp $R2 "/" found + StrCpy $R1 "$R1$R2" + StrCmp $R0 "" done loop + + found: + StrCpy $R1 "$R1\" + StrCmp $R0 "" done loop + + done: + StrCpy $R0 $R1 + + nothing_to_do: + Pop $R2 + Pop $R1 + Exch $R0 + FunctionEnd + + #============================================================================================== + # Function CBP_GetParent + #============================================================================================== + # Used to extract the parent directory from a path. + # + # NB: Path is assumed to use backslashes (\) + #---------------------------------------------------------------------------------------------- + # Inputs: + # (top of stack) - string containing a path (e.g. C:\A\B\C) + #---------------------------------------------------------------------------------------------- + # Outputs: + # (top of stack) - the parent part of the input string (e.g. C:\A\B) + #---------------------------------------------------------------------------------------------- + # Global Registers Destroyed: + # (none) + # + # Local Registers Destroyed: + # (none) + #---------------------------------------------------------------------------------------------- + # Global CBP Constants Used: + # (none) + #---------------------------------------------------------------------------------------------- + # CBP Functions Called: + # (none) + #---------------------------------------------------------------------------------------------- + # Called By: + # CBP_CheckCorpusStatus - checks if we are performing a "clean" installation + #---------------------------------------------------------------------------------------------- + # Usage Example: + # + # Push "C:\Program Files\Directory\Whatever" + # Call CBP_GetParent + # Pop $R0 + # + # ($R0 at this point is ""C:\Program Files\Directory") + # + #============================================================================================== + + Function CBP_GetParent + Exch $R0 + Push $R1 + Push $R2 + + StrCpy $R1 -1 + + loop: + StrCpy $R2 $R0 1 $R1 + StrCmp $R2 "" exit + StrCmp $R2 "\" exit + IntOp $R1 $R1 - 1 + Goto loop + + exit: + StrCpy $R0 $R0 $R1 + Pop $R2 + Pop $R1 + Exch $R0 FunctionEnd |
From: <jgr...@us...> - 2003-05-08 00:53:49
|
Update of /cvsroot/popfile/engine/Platform In directory sc8-pr-cvs1:/tmp/cvs-serv14948 Modified Files: MSWin32.pm Log Message: Added -windows_trayicon option so that the tray icon can be disabled Index: MSWin32.pm =================================================================== RCS file: /cvsroot/popfile/engine/Platform/MSWin32.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MSWin32.pm 7 May 2003 16:31:50 -0000 1.6 --- MSWin32.pm 8 May 2003 00:53:45 -0000 1.7 *************** *** 39,42 **** --- 39,58 ---- # --------------------------------------------------------------------------------------------- # + # initialize + # + # Called when we are are being set up but before starting + # + # --------------------------------------------------------------------------------------------- + sub initialize + { + my ( $self ) = @_; + + $self->config_( 'trayicon', 1 ); + + return 1; + } + + # --------------------------------------------------------------------------------------------- + # # prefork # *************** *** 66,69 **** --- 82,89 ---- { my ( $self ) = @_; + + if ( !$self->config_( 'trayicon' ) ) { + return 1; + } if ( !defined( $self->{getmessage__} ) ) { |
From: <jgr...@us...> - 2003-05-07 22:21:33
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1:/tmp/cvs-serv19023/Classifier Modified Files: Bayes.pm Log Message: Prevent warning when bar chart is empty; fix incorrect references to old get_response method; make subject modification protection work with reconfigured subjects Index: Bayes.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v retrieving revision 1.141 retrieving revision 1.142 diff -C2 -d -r1.141 -r1.142 *** Bayes.pm 2 May 2003 17:45:37 -0000 1.141 --- Bayes.pm 7 May 2003 22:20:58 -0000 1.142 *************** *** 902,906 **** if ( $self->global_config_( 'subject' ) ) { # Don't add the classification unless it is not present ! if ( !( $msg_subject =~ /\[\Q$classification\E\]/ ) && ( $self->{parameters__}{$classification}{subject} == 1 ) && ( $self->{parameters__}{$classification}{quarantine} == 0 ) ) { --- 902,906 ---- if ( $self->global_config_( 'subject' ) ) { # Don't add the classification unless it is not present ! if ( !( $msg_subject =~ /\Q$modification\E/ ) && ( $self->{parameters__}{$classification}{subject} == 1 ) && ( $self->{parameters__}{$classification}{quarantine} == 0 ) ) { |
From: <jgr...@us...> - 2003-05-07 22:21:06
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv19023/UI Modified Files: HTML.pm Log Message: Prevent warning when bar chart is empty; fix incorrect references to old get_response method; make subject modification protection work with reconfigured subjects Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.151 retrieving revision 1.152 diff -C2 -d -r1.151 -r1.152 *** HTML.pm 6 May 2003 16:52:34 -0000 1.151 --- HTML.pm 7 May 2003 22:21:02 -0000 1.152 *************** *** 1505,1508 **** --- 1505,1513 ---- my $total_count = 0; my @xaxis = sort keys %values; + + if ( $#xaxis < 0 ) { + return ''; + } + my @series = sort keys %{$values{$xaxis[0]}}; |
From: <jgr...@us...> - 2003-05-07 22:21:05
|
Update of /cvsroot/popfile/engine/Proxy In directory sc8-pr-cvs1:/tmp/cvs-serv19023/Proxy Modified Files: POP3.pm Proxy.pm Log Message: Prevent warning when bar chart is empty; fix incorrect references to old get_response method; make subject modification protection work with reconfigured subjects Index: POP3.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/POP3.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** POP3.pm 26 Apr 2003 10:07:51 -0000 1.53 --- POP3.pm 7 May 2003 22:21:01 -0000 1.54 *************** *** 180,184 **** # Loop until we get -ERR or +OK my $response; ! $response = get_response( $self, $mail, $client, $command ); while ( ( ! ( $response =~ /\+OK/ ) ) && ( ! ( $response =~ /-ERR/ ) ) ) { --- 180,184 ---- # Loop until we get -ERR or +OK my $response; ! $response = $self->get_response_( $mail, $client, $command ); while ( ( ! ( $response =~ /\+OK/ ) ) && ( ! ( $response =~ /-ERR/ ) ) ) { *************** *** 191,195 **** $auth = <$client>; $auth =~ s/(\015|\012)$//g; ! $response = get_response( $self, $mail, $client, $auth ); } } else { --- 191,195 ---- $auth = <$client>; $auth =~ s/(\015|\012)$//g; ! $response = $self->get_response_( $mail, $client, $auth ); } } else { Index: Proxy.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Proxy.pm 15 Apr 2003 07:31:01 -0000 1.13 --- Proxy.pm 7 May 2003 22:21:01 -0000 1.14 *************** *** 463,467 **** } } ! if (!$null_resp) { # An error has occurred reading from the mail server --- 463,467 ---- } } ! if (!$null_resp) { # An error has occurred reading from the mail server *************** *** 471,475 **** $self->tee_($client, ""); return ""; ! } } --- 471,475 ---- $self->tee_($client, ""); return ""; ! } } |
From: <jgr...@us...> - 2003-05-07 16:31:53
|
Update of /cvsroot/popfile/engine/Platform In directory sc8-pr-cvs1:/tmp/cvs-serv28813 Modified Files: MSWin32.pm Added Files: POPFileIcon.dll Log Message: Added binary version of DLL --- NEW FILE: POPFileIcon.dll --- (This appears to be a binary file; contents omitted.) Index: MSWin32.pm =================================================================== RCS file: /cvsroot/popfile/engine/Platform/MSWin32.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MSWin32.pm 6 May 2003 16:30:07 -0000 1.5 --- MSWin32.pm 7 May 2003 16:31:50 -0000 1.6 *************** *** 85,89 **** my $url = 'http://127.0.0.1:' . $self->module_config_( 'html', 'port' ); ! $execute->Call( 0, "open", $url, "", "", 0 ); } --- 85,93 ---- my $url = 'http://127.0.0.1:' . $self->module_config_( 'html', 'port' ); ! if ( defined( $execute ) ) { ! $execute->Call( 0, "open", $url, "", "", 0 ); ! } else { ! system( "start $url" ); ! } } |
Update of /cvsroot/popfile/engine/manual In directory sc8-pr-cvs1:/tmp/cvs-serv4480 Added Files: p_filter1.gif p_filter2.gif p_filter3.gif p_filter4.gif p_popfile1.gif p_popfile2.gif p_popfile3.gif Log Message: Added Danish translation and new screen shots of Pegasus --- NEW FILE: p_filter1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_filter2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_filter3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_filter4.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_popfile1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_popfile2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: p_popfile3.gif --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/popfile/engine/manual/da In directory sc8-pr-cvs1:/tmp/cvs-serv4480/da Added Files: email.html firewalls.html firsttime.html installing.html manual.html multiple.html o_filter1_da.gif o_filter2_da.gif o_popfile1_da.gif o_popfile2_da.gif o_popfile3_da.gif oe_filter1_da.gif oe_filter2_da.gif oe_filter3_da.gif oe_filter4_da.gif oe_filter5_da.gif oe_popfile1_da.gif oe_popfile2_da.gif oe_popfile3_da.gif oe_popfile4_da.gif proxies.html spa.html training.html Log Message: Added Danish translation and new screen shots of Pegasus --- NEW FILE: email.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: firewalls.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: firsttime.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: installing.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: manual.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: multiple.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: o_filter1_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: o_filter2_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: o_popfile1_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: o_popfile2_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: o_popfile3_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_filter1_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_filter2_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_filter3_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_filter4_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_filter5_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_popfile1_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_popfile2_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_popfile3_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: oe_popfile4_da.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: proxies.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: spa.html --- (This appears to be a binary file; contents omitted.) --- NEW FILE: training.html --- (This appears to be a binary file; contents omitted.) |