Mercurial > mercurial > hgweb_golang.cgi
changeset 50:638e1ad05cae
small changes.
author | pyon@macmini |
---|---|
date | Fri, 24 Apr 2020 22:22:12 +0900 |
parents | 8384ca56f1b4 |
children | 4e14902379da |
files | src/kaigo/horori/Readme.txt src/kaigo/horori/horori.fbp src/kaigo/horori/searcher/image/space.tif src/kaigo/horori/searcher/include/searcher.h src/kaigo/horori/searcher/include/utils.h src/kaigo/horori/searcher/server/make_freebsd.bat src/kaigo/horori/searcher/server/passwd src/kaigo/horori/searcher/src/searcher.cpp src/kaigo/horori/searcher/src/utils.cpp |
diffstat | 9 files changed, 443 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/src/kaigo/horori/Readme.txt Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/Readme.txt Fri Apr 24 22:22:12 2020 +0900 @@ -21,12 +21,13 @@ * merger.exe 通称:マージャ 機能:審査会資料を作成するためのツール - 主治医名や被保険者番号等をマスク処理しA3サイズに割付する + 主治医名や被保険者番号等をマスク処理を行い、A3用紙に割付する枠組みを提供する * searcher.exe 通称:サーチャー! 機能:マークシートや意見書を閲覧・印刷するツール - 一括で複数の利用者の最新のマークシートなどを印刷できる機能もある + 一括で複数の利用者の最新のマークシートなどを印刷できる機能や + Cドライブのフォルダやサーバ上のDBを表示させる機能もある ※ それぞれのプログラム用に設定ファイル(.conf)が用意されているが、通常変更する必要はない 削除してはいけない @@ -49,8 +50,5 @@ = ファイル構成 =----------------- - * hhsdb.csv - 被保険者の情報が入っている - * Readme.txt このファイル
--- a/src/kaigo/horori/horori.fbp Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/horori.fbp Fri Apr 24 22:22:12 2020 +0900 @@ -3170,7 +3170,7 @@ </object> </object> </object> - <object class="Frame" expanded="1"> + <object class="Frame" expanded="0"> <property name="aui_managed">0</property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> <property name="bg">217,217,217</property> @@ -3198,7 +3198,7 @@ <property name="window_style">wxTAB_TRAVERSAL</property> <property name="xrc_skip_sizer">1</property> <event name="OnClose">OnClose</event> - <object class="wxGridBagSizer" expanded="1"> + <object class="wxGridBagSizer" expanded="0"> <property name="empty_cell_size"></property> <property name="flexible_direction">wxBOTH</property> <property name="growablecols"></property> @@ -3209,14 +3209,14 @@ <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property> <property name="permission">none</property> <property name="vgap">0</property> - <object class="gbsizeritem" expanded="1"> + <object class="gbsizeritem" expanded="0"> <property name="border">5</property> <property name="colspan">1</property> <property name="column">0</property> <property name="flag">wxEXPAND | wxALL</property> <property name="row">0</property> <property name="rowspan">11</property> - <object class="wxNotebook" expanded="1"> + <object class="wxNotebook" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -3891,7 +3891,7 @@ <object class="notebookpage" expanded="0"> <property name="bitmap"></property> <property name="label">繝。繝ウ繝繝翫Φ繧ケ</property> - <property name="select">1</property> + <property name="select">0</property> <object class="wxPanel" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> @@ -5608,6 +5608,278 @@ </object> </object> </object> + <object class="notebookpage" expanded="0"> + <property name="bitmap"></property> + <property name="label">險ュ螳</property> + <property name="select">1</property> + <object class="wxPanel" expanded="0"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_panelSetup</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <object class="wxBoxSizer" expanded="0"> + <property name="minimum_size"></property> + <property name="name">bSizerSetup</property> + <property name="orient">wxHORIZONTAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="0"> + <property name="border">5</property> + <property name="flag">wxALL|wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxDataViewListCtrl" expanded="0"> + <property name="bg"></property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_dataViewListCtrlPw</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxDV_HORIZ_RULES|wxDV_ROW_LINES|wxDV_VERT_RULES</property> + <property name="subclass">; ; forward_declare</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <object class="dataViewListColumn" expanded="0"> + <property name="align">wxALIGN_LEFT</property> + <property name="ellipsize"></property> + <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> + <property name="label">ID</property> + <property name="mode">wxDATAVIEW_CELL_EDITABLE</property> + <property name="name">m_dataViewListColumnUId</property> + <property name="permission">protected</property> + <property name="type">Text</property> + <property name="width">-1</property> + </object> + <object class="dataViewListColumn" expanded="0"> + <property name="align">wxALIGN_LEFT</property> + <property name="ellipsize"></property> + <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> + <property name="label">Name</property> + <property name="mode">wxDATAVIEW_CELL_EDITABLE</property> + <property name="name">m_dataViewListColumnUName</property> + <property name="permission">protected</property> + <property name="type">Text</property> + <property name="width">-1</property> + </object> + <object class="dataViewListColumn" expanded="0"> + <property name="align">wxALIGN_LEFT</property> + <property name="ellipsize"></property> + <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> + <property name="label">Group</property> + <property name="mode">wxDATAVIEW_CELL_EDITABLE</property> + <property name="name">m_dataViewListColumnUGroup</property> + <property name="permission">protected</property> + <property name="type">Text</property> + <property name="width">-1</property> + </object> + <object class="dataViewListColumn" expanded="0"> + <property name="align">wxALIGN_LEFT</property> + <property name="ellipsize"></property> + <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> + <property name="label">Password</property> + <property name="mode">wxDATAVIEW_CELL_EDITABLE</property> + <property name="name">m_dataViewListColumnUPw</property> + <property name="permission">protected</property> + <property name="type">Text</property> + <property name="width">-1</property> + </object> + </object> + </object> + <object class="sizeritem" expanded="0"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="0"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="maxlength"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_textCtrlUPassword</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxTE_PASSWORD|wxTE_PROCESS_ENTER</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="value"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <event name="OnTextEnter">OnUPassword</event> + </object> + </object> + <object class="sizeritem" expanded="0"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="0"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">菫晏ュ</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_buttonPw</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <event name="OnButtonClick">OnSavePw</event> + </object> + </object> + </object> + </object> + </object> </object> </object> <object class="gbsizeritem" expanded="0">
--- a/src/kaigo/horori/searcher/include/searcher.h Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/searcher/include/searcher.h Fri Apr 24 22:22:12 2020 +0900 @@ -1,5 +1,5 @@ // Filename : searcher.h -// Last Change: 2020-04-23 譛ィ 16:23:44. +// Last Change: 2020-04-24 驥 09:50:28. // #pragma once @@ -110,7 +110,7 @@ wxDataViewColumn* m_dataViewListColumnProgress; wxDataViewColumn* m_dataViewListColumnDummy; - // Index + // Mainte(Index) wxStaticText* m_staticTextIndex; wxStaticText* m_staticTextDrive; wxStaticText* m_staticTextYear; @@ -155,6 +155,16 @@ wxButton* m_buttonRegImg; wxTextCtrl* m_textCtrlLastIndex; + // Setup + wxPanel* m_panelSetup; + wxDataViewListCtrl* m_dataViewListCtrlPw; + wxDataViewColumn* m_dataViewListColumnUId; + wxDataViewColumn* m_dataViewListColumnUName; + wxDataViewColumn* m_dataViewListColumnUGroup; + wxDataViewColumn* m_dataViewListColumnUPw; + wxTextCtrl* m_textCtrlUPassword; + wxButton* m_buttonPw; + // Right-Pane wxSearchCtrl* m_searchCtrl; wxButton* m_buttonHist; @@ -196,6 +206,9 @@ virtual void OnUploadHhsDB(wxCommandEvent& event); virtual void OnUploadImage(wxCommandEvent& event); + virtual void OnUPassword(wxCommandEvent& event); + virtual void OnSavePw(wxCommandEvent& event); + virtual void OnChar(wxKeyEvent& event); virtual void OnHist(wxCommandEvent& event); virtual void OnSelectAnyListItem(wxDataViewEvent& event); @@ -212,6 +225,8 @@ void LoadBookImage(MyStaticBitmap& mysb, wxString file); void LoadBookImages(); void ReadCSV(); + void LoadPasswd(bool show); + void SavePasswd(); void RemoveTemp(); void MaskImage1();
--- a/src/kaigo/horori/searcher/include/utils.h Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/searcher/include/utils.h Fri Apr 24 22:22:12 2020 +0900 @@ -1,5 +1,5 @@ // Filename : utils.h -// Last Change: 2020-04-21 火 09:30:58. +// Last Change: 2020-04-24 金 14:33:33. // #pragma once @@ -9,4 +9,5 @@ wxRect ZeroRect(); bool TarDir(wxString dir, wxString tarfile); bool Gzip(wxString infile, wxString gzfile); +wxString XoR(wxString s, int x);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/horori/searcher/server/make_freebsd.bat Fri Apr 24 22:22:12 2020 +0900 @@ -0,0 +1,6 @@ +set GOARCH=amd64 +set GOOS=freebsd + +go build searcher.go + +set GOOS=windows
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/horori/searcher/server/passwd Fri Apr 24 22:22:12 2020 +0900 @@ -0,0 +1,30 @@ +user/taro:螻ア逕ー縲螟ェ驛:1+1 +user/hanako:譫励闃ア蟄:1*1 +chosa/miho:蟆冗伐蠍九鄒守ゥ:]x##&%'% +chosa/makiko:貂豌エ蟾昴逵樒エ蟄:]x##&#'% +chosa/satoko:闍・蝓弱驥悟ュ:]x##%"'% +chosa/michiru:菴舌譛ィ縲貅:]x##% '% +chosa/noriko:菴占陸縲豕募ュ:]x##&''% +chosa/akiko:闍・逡代譏主ュ:]x##$ '% +chosa/yukiko:豁ヲ阯、縲繧縺榊ュ:]x##%.'% +chosa/junko:譁ー逕ー縲豺ウ蟄:]x##$&'% +chosa/mayumi:螟ァ荳翫逵溽罰鄒:]x##$''% +chosa/wakako:髟キ豐シ縲豁悟・亥ュ:]x##%''% +chosa/mariko:蝣蟾昴逵溽炊蟄:]x##%&'% +chosa/yukari:邏ー莠輔繧縺九j:]x##&.'% +chosa/etsuko:螟ゥ驕薙謔ヲ蟄:]x##%#'% +chosa/suzuka:荳画オヲ縲驤エ鬥:]x##%$'% +chosa/natsumi:鬮俶ゥ九螂域エ・鄒:]x##%/'% +chosa/koko:貂。霎コ縲豬ゥ蟄:]x##$"'% +chosa/chusaku:阯、蜴溘蠢閾」:]x##%"'& +chosa/mutsumi:荳画オヲ縲逹ヲ鄒:]x##%.'& +chosa/kotomi:蟾晁カ翫逅エ鄒:]x##$''& +kyufu/nobuko:譚セ譛ャ縲莨ク蟄:]x##&!'& +kyufu/yuta:譬玲棊縲逾仙、ェ:]x##%/'& +nintei/natsuki:縺ェ縺」縺。繧繧 笘笘笘笘笘笘笘:]x##$%'& +nintei/hiroto:隘ソ譚代陬穂ココ 笘:]x##&#'& +nintei/mayumi:縺セ繧縺ソ 笘:]x##$#'& +nintei/keiya:莨願陸縲蝨ュ蜩 笘:]x###%'& +nintei/miyuki:蜷画搗縲鄒守罰蝟 笘:]x####'& +nintei/momoko:譽ョ蜈縲逋セ蟄 笘:]x##%!'% +star/jojo:謇ソ螟ェ驛 笘繝:]x#####"
--- a/src/kaigo/horori/searcher/src/searcher.cpp Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/searcher/src/searcher.cpp Fri Apr 24 22:22:12 2020 +0900 @@ -1,5 +1,5 @@ // Filename : searcher.cpp -// Last Change: 2020-04-23 譛ィ 17:22:18. +// Last Change: 2020-04-24 驥 15:08:22. // #include <wx/msgdlg.h> #include <wx/dir.h> @@ -10,6 +10,9 @@ #include "utils.h" #include "net.h" +#define PWPREFIX "Jo" +#define PWXORN 23 + /** MyStaticBitmap **/ MyStaticBitmap::MyStaticBitmap(wxScrolledWindow *parent, wxWindowID id, const wxBitmap &label, const wxPoint &pos, const wxSize &size, long style, const wxString &name) : wxStaticBitmap(parent, id, label, pos, size, style, name) @@ -177,6 +180,9 @@ m_buttonRegHhs->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadHhsDB), NULL, this); m_buttonRegImg->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadImage), NULL, this); + m_textCtrlUPassword->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearchFrame::OnUPassword), NULL, this); + m_buttonPw->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnSavePw), NULL, this); + m_searchCtrl->Connect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); m_buttonHist->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); m_dataViewListCtrlAny->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectAnyListItem), NULL, this); @@ -210,6 +216,9 @@ m_buttonRegHhs->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadHhsDB), NULL, this); m_buttonRegImg->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadImage), NULL, this); + m_textCtrlUPassword->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearchFrame::OnUPassword), NULL, this); + m_buttonPw->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnSavePw), NULL, this); + m_searchCtrl->Disconnect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); m_buttonHist->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); m_dataViewListCtrlAny->Disconnect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectAnyListItem), NULL, this); @@ -287,15 +296,34 @@ void SearchFrame::OnPageChanged(wxNotebookEvent& event) { - if (!m_usergroup.StartsWith(wxT("star"))) { - int n = event.GetSelection(); - if (n != 5 && n != 6) return; + int n = event.GetSelection(); + int m = event.GetOldSelection(); + + // setup + if (!m_usergroup.StartsWith(wxT("star")) && n == 7) { + m_notebook->ChangeSelection(m); + wxMessageBox(wxT("you can't view this page.")); + return; + } + if (n == 7) LoadPasswd(false); - int m = event.GetOldSelection(); + // batch-print & maintenance + if (!m_usergroup.StartsWith(wxT("nintei")) && !(m_usergroup.StartsWith(wxT("star")))) { + if (n != 5 && n != 6) return; m_notebook->ChangeSelection(m); + wxMessageBox(wxT("you can't view this page.")); + return; + } +} - wxMessageBox(wxT("you can't view this page.")); - } +void SearchFrame::OnRead(wxCommandEvent& WXUNUSED(event)) +{ + ReadCSV(); +} + +void SearchFrame::OnFile(wxFileDirPickerEvent& WXUNUSED(event)) +{ + ReadCSV(); } void SearchFrame::OnIdxYearChoice(wxCommandEvent& WXUNUSED(evnet)) @@ -610,14 +638,14 @@ wxMessageBox(wxT("upload done.")); } -void SearchFrame::OnRead(wxCommandEvent& WXUNUSED(event)) +void SearchFrame::OnUPassword(wxCommandEvent& WXUNUSED(event)) { - ReadCSV(); + wxMessageBox("upw"); } -void SearchFrame::OnFile(wxFileDirPickerEvent& WXUNUSED(event)) +void SearchFrame::OnSavePw(wxCommandEvent& WXUNUSED(event)) { - ReadCSV(); + wxMessageBox("save pw"); } void SearchFrame::OnHist(wxCommandEvent& WXUNUSED(event)) @@ -740,6 +768,9 @@ wxString cpy = m_workdir + wxFILE_SEP_PATH + wxT("0"); wxCopyFile(org, cpy, true); // backup for mask + wxDateTime now = wxDateTime::Now(); + wxString nowstr = now.Format(wxT("%Y/%m/%d %H:%M"), wxDateTime::GMT9).c_str(); + wxString html; html = wxT("<html><body>\n"); @@ -748,7 +779,8 @@ if (m_checkBoxMask->IsChecked()) MaskImage1(); for (int i = 0; i < 5; i++) { html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>"); - html += wxT("<div align=right><font size=-2><u>") + m_searchCtrl->GetValue() + wxT("</u></font></div>"); + html += wxT("<div align=right><font size=-2><u>") + m_searchCtrl->GetValue(); + html += wxT( "@" ) + m_usergroup + wxT( "#" ) + nowstr + wxT("</u></font></div>"); if (i == 2 && m_checkBoxBoth->IsChecked()) { html += wxT("<img src=\"./image/space.tif\"") + imgsz + wxT("/>"); } @@ -782,6 +814,7 @@ Close(); return; } + wxString x = XoR(PWPREFIX + m_textCtrlPasswd->GetValue(), PWXORN); m_user = wxEmptyString; m_notebook->ChangeSelection(0); @@ -790,7 +823,7 @@ wxString buf = HttpGetText(m_addr, m_port, url); wxArrayString idpw = wxSplit(buf, ':', '\\'); for (int i = 2; i < idpw.GetCount(); i += 3) { - if (idpw[i].IsSameAs(m_textCtrlPasswd->GetValue())) { + if (idpw[i].IsSameAs(x)) { m_user = idpw[i - 1]; m_usergroup = idpw[i - 2]; } @@ -1006,6 +1039,28 @@ bSizerMainte->Fit(m_panelMainte); m_notebook->AddPage(m_panelMainte, wxT("繝。繝ウ繝繝翫Φ繧ケ"), false); + m_panelSetup = new wxPanel(m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); + wxBoxSizer* bSizerSetup = new wxBoxSizer(wxHORIZONTAL); + + m_dataViewListCtrlPw = new wxDataViewListCtrl(m_panelSetup, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_HORIZ_RULES|wxDV_ROW_LINES|wxDV_VERT_RULES); + m_dataViewListColumnUId = m_dataViewListCtrlPw->AppendTextColumn(wxT(" ID"), wxDATAVIEW_CELL_EDITABLE, 80, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnUName = m_dataViewListCtrlPw->AppendTextColumn(wxT(" Name"), wxDATAVIEW_CELL_EDITABLE, 180, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnUGroup = m_dataViewListCtrlPw->AppendTextColumn(wxT(" Group"), wxDATAVIEW_CELL_EDITABLE, 80, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnUPw = m_dataViewListCtrlPw->AppendTextColumn(wxT(" Password"), wxDATAVIEW_CELL_EDITABLE, -1, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + bSizerSetup->Add(m_dataViewListCtrlPw, 1, wxEXPAND|wxALL, 5); + + m_textCtrlUPassword = new wxTextCtrl(m_panelSetup, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD|wxTE_PROCESS_ENTER); + bSizerSetup->Add(m_textCtrlUPassword, 0, wxALL, 5); + + m_buttonPw = new wxButton(m_panelSetup, wxID_ANY, wxT("菫晏ュ"), wxDefaultPosition, wxDefaultSize, 0); + bSizerSetup->Add(m_buttonPw, 0, wxALL, 5); + + m_panelSetup->SetSizer(bSizerSetup); + m_panelSetup->Layout(); + bSizerSetup->Fit(m_panelSetup); + m_notebook->AddPage(m_panelSetup, wxT("險ュ螳"), true); + + gbSizer->Add(m_notebook, wxGBPosition(0, 0), wxGBSpan(9, 1), wxEXPAND|wxALL, 5); m_notebook->SetSelection(0); @@ -1053,7 +1108,7 @@ gbSizer->Add(m_gauge, wxGBPosition(7, 1), wxGBSpan(1, 2), wxALL, 5); m_textCtrlPasswd = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD|wxTE_PROCESS_ENTER); - m_textCtrlPasswd->SetMaxLength(8); + m_textCtrlPasswd->SetMaxLength(16); gbSizer->Add(m_textCtrlPasswd, wxGBPosition(8, 1), wxGBSpan(1, 2), wxALL|wxALIGN_BOTTOM, 5); this->SetSizer(gbSizer); @@ -1276,6 +1331,35 @@ imgfile.SaveFile(file, wxBITMAP_TYPE_TIFF); } +void SearchFrame::LoadPasswd(bool show) +{ + m_dataViewListCtrlPw->DeleteAllItems(); + + wxString url = wxT("/pw/"); + wxString buf = HttpGetText(m_addr, m_port, url); + wxArrayString idpw = wxSplit(buf, ':', '\\'); + wxVector<wxVariant> data; + for (int r = 0; r < idpw.GetCount() / 3; r++) { + int i = r * 3; + wxArrayString x = wxSplit(idpw[i], '/', '\\'); + data.push_back(wxVariant(x[1])); + data.push_back(wxVariant(idpw[i + 1])); + data.push_back(wxVariant(x[0])); + //if (!show) idpw[i + 2] = wxT("********"); + //data.push_back(wxVariant(idpw[i + 2])); + wxString pw = XoR(idpw[i + 2], PWXORN); + pw.Replace(PWPREFIX, wxEmptyString, false); + data.push_back(wxVariant(pw)); + + m_dataViewListCtrlPw->AppendItem(data); + data.clear(); + } +} + +void SearchFrame::SavePasswd() +{ +} + void SearchFrame::RemoveTemp() { for (int p = 0; p < 5; p++) {
--- a/src/kaigo/horori/searcher/src/utils.cpp Thu Apr 23 22:54:58 2020 +0900 +++ b/src/kaigo/horori/searcher/src/utils.cpp Fri Apr 24 22:22:12 2020 +0900 @@ -1,5 +1,5 @@ // Filename : utils.cpp -// Last Change: 2020-04-22 水 09:21:01. +// Last Change: 2020-04-24 金 14:00:37. // #include <wx/wx.h> #include <wx/dir.h> @@ -66,3 +66,12 @@ return true; } +wxString XoR(wxString s, int x) +{ + wxString t; + for (int i = 0; i < s.Len(); i++) { + t += wxString::Format(wxT("%c"), s[i].GetValue() ^ x); + } + return t; +} +