first commit

This commit is contained in:
PinforYou 2025-05-28 14:23:58 +09:00
commit 301f17116d
72 changed files with 39126 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.idea
venv
new_20231010/.idea

View File

@ -0,0 +1,37 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['20231010_test.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='20231010_test',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,247 @@
('D:\\python_project\\new_20231010\\build\\main\\PYZ-00.pyz',
[('_compat_pickle',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_compat_pickle.py',
'PYMODULE'),
('_compression',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_compression.py',
'PYMODULE'),
('_py_abc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_py_abc.py',
'PYMODULE'),
('_pydecimal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_pydecimal.py',
'PYMODULE'),
('_strptime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_strptime.py',
'PYMODULE'),
('_threading_local',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_threading_local.py',
'PYMODULE'),
('argparse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\argparse.py',
'PYMODULE'),
('base64',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\base64.py',
'PYMODULE'),
('bisect',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\bisect.py',
'PYMODULE'),
('bz2',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\bz2.py',
'PYMODULE'),
('calendar',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\calendar.py',
'PYMODULE'),
('configparser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\configparser.py',
'PYMODULE'),
('contextlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\contextlib.py',
'PYMODULE'),
('contextvars',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\contextvars.py',
'PYMODULE'),
('copy',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\copy.py',
'PYMODULE'),
('csv',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\csv.py',
'PYMODULE'),
('datetime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\datetime.py',
'PYMODULE'),
('decimal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\decimal.py',
'PYMODULE'),
('email',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__init__.py',
'PYMODULE'),
('email._encoded_words',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_encoded_words.py',
'PYMODULE'),
('email._header_value_parser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_header_value_parser.py',
'PYMODULE'),
('email._parseaddr',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_parseaddr.py',
'PYMODULE'),
('email._policybase',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_policybase.py',
'PYMODULE'),
('email.base64mime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\base64mime.py',
'PYMODULE'),
('email.charset',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\charset.py',
'PYMODULE'),
('email.contentmanager',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\contentmanager.py',
'PYMODULE'),
('email.encoders',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\encoders.py',
'PYMODULE'),
('email.errors',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\errors.py',
'PYMODULE'),
('email.feedparser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\feedparser.py',
'PYMODULE'),
('email.generator',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\generator.py',
'PYMODULE'),
('email.header',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\header.py',
'PYMODULE'),
('email.headerregistry',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\headerregistry.py',
'PYMODULE'),
('email.iterators',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\iterators.py',
'PYMODULE'),
('email.message',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\message.py',
'PYMODULE'),
('email.parser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\parser.py',
'PYMODULE'),
('email.policy',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\policy.py',
'PYMODULE'),
('email.quoprimime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\quoprimime.py',
'PYMODULE'),
('email.utils',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\utils.py',
'PYMODULE'),
('fnmatch',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\fnmatch.py',
'PYMODULE'),
('fractions',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\fractions.py',
'PYMODULE'),
('getopt',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\getopt.py',
'PYMODULE'),
('gettext',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\gettext.py',
'PYMODULE'),
('gzip',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\gzip.py',
'PYMODULE'),
('hashlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\hashlib.py',
'PYMODULE'),
('importlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__init__.py',
'PYMODULE'),
('importlib._bootstrap',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\_bootstrap.py',
'PYMODULE'),
('importlib._bootstrap_external',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\_bootstrap_external.py',
'PYMODULE'),
('importlib.abc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\abc.py',
'PYMODULE'),
('importlib.machinery',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\machinery.py',
'PYMODULE'),
('importlib.metadata',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\metadata.py',
'PYMODULE'),
('importlib.util',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\util.py',
'PYMODULE'),
('logging',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__init__.py',
'PYMODULE'),
('lzma',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\lzma.py',
'PYMODULE'),
('numbers',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\numbers.py',
'PYMODULE'),
('optparse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\optparse.py',
'PYMODULE'),
('pathlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pathlib.py',
'PYMODULE'),
('pickle',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pickle.py',
'PYMODULE'),
('pprint',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pprint.py',
'PYMODULE'),
('py_compile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\py_compile.py',
'PYMODULE'),
('quopri',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\quopri.py',
'PYMODULE'),
('random',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\random.py',
'PYMODULE'),
('selectors',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\selectors.py',
'PYMODULE'),
('shutil',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\shutil.py',
'PYMODULE'),
('signal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\signal.py',
'PYMODULE'),
('socket',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\socket.py',
'PYMODULE'),
('statistics',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\statistics.py',
'PYMODULE'),
('string',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\string.py',
'PYMODULE'),
('stringprep',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\stringprep.py',
'PYMODULE'),
('subprocess',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\subprocess.py',
'PYMODULE'),
('tarfile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tarfile.py',
'PYMODULE'),
('textwrap',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\textwrap.py',
'PYMODULE'),
('threading',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\threading.py',
'PYMODULE'),
('tkinter',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\__init__.py',
'PYMODULE'),
('tkinter.constants',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\constants.py',
'PYMODULE'),
('token',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\token.py',
'PYMODULE'),
('tokenize',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tokenize.py',
'PYMODULE'),
('tracemalloc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tracemalloc.py',
'PYMODULE'),
('typing',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\typing.py',
'PYMODULE'),
('urllib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__init__.py',
'PYMODULE'),
('urllib.parse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\parse.py',
'PYMODULE'),
('uu',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\uu.py',
'PYMODULE'),
('zipfile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\zipfile.py',
'PYMODULE')])

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,265 @@
('C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6',
'tk',
['demos', '*.lib', 'tkConfig.sh'],
'DATA',
[('tk\\bgerror.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\bgerror.tcl',
'DATA'),
('tk\\button.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\button.tcl',
'DATA'),
('tk\\choosedir.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\choosedir.tcl',
'DATA'),
('tk\\clrpick.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\clrpick.tcl',
'DATA'),
('tk\\comdlg.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\comdlg.tcl',
'DATA'),
('tk\\console.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\console.tcl',
'DATA'),
('tk\\dialog.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\dialog.tcl',
'DATA'),
('tk\\entry.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\entry.tcl',
'DATA'),
('tk\\focus.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\focus.tcl',
'DATA'),
('tk\\fontchooser.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\fontchooser.tcl',
'DATA'),
('tk\\iconlist.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\iconlist.tcl',
'DATA'),
('tk\\icons.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\icons.tcl',
'DATA'),
('tk\\license.terms',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\license.terms',
'DATA'),
('tk\\listbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\listbox.tcl',
'DATA'),
('tk\\megawidget.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\megawidget.tcl',
'DATA'),
('tk\\menu.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\menu.tcl',
'DATA'),
('tk\\mkpsenc.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\mkpsenc.tcl',
'DATA'),
('tk\\msgbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgbox.tcl',
'DATA'),
('tk\\obsolete.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\obsolete.tcl',
'DATA'),
('tk\\optMenu.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\optMenu.tcl',
'DATA'),
('tk\\palette.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\palette.tcl',
'DATA'),
('tk\\panedwindow.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\panedwindow.tcl',
'DATA'),
('tk\\pkgIndex.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\pkgIndex.tcl',
'DATA'),
('tk\\safetk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\safetk.tcl',
'DATA'),
('tk\\scale.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\scale.tcl',
'DATA'),
('tk\\scrlbar.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\scrlbar.tcl',
'DATA'),
('tk\\spinbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\spinbox.tcl',
'DATA'),
('tk\\tclIndex',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tclIndex',
'DATA'),
('tk\\tearoff.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tearoff.tcl',
'DATA'),
('tk\\text.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\text.tcl',
'DATA'),
('tk\\tk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tk.tcl',
'DATA'),
('tk\\tkfbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tkfbox.tcl',
'DATA'),
('tk\\unsupported.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\unsupported.tcl',
'DATA'),
('tk\\xmfbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\xmfbox.tcl',
'DATA'),
('tk\\ttk\\altTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\altTheme.tcl',
'DATA'),
('tk\\ttk\\aquaTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\aquaTheme.tcl',
'DATA'),
('tk\\ttk\\button.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\button.tcl',
'DATA'),
('tk\\ttk\\clamTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\clamTheme.tcl',
'DATA'),
('tk\\ttk\\classicTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\classicTheme.tcl',
'DATA'),
('tk\\ttk\\combobox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\combobox.tcl',
'DATA'),
('tk\\ttk\\cursors.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\cursors.tcl',
'DATA'),
('tk\\ttk\\defaults.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\defaults.tcl',
'DATA'),
('tk\\ttk\\entry.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\entry.tcl',
'DATA'),
('tk\\ttk\\fonts.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\fonts.tcl',
'DATA'),
('tk\\ttk\\menubutton.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\menubutton.tcl',
'DATA'),
('tk\\ttk\\notebook.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\notebook.tcl',
'DATA'),
('tk\\ttk\\panedwindow.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\panedwindow.tcl',
'DATA'),
('tk\\ttk\\progress.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\progress.tcl',
'DATA'),
('tk\\ttk\\scale.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\scale.tcl',
'DATA'),
('tk\\ttk\\scrollbar.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\scrollbar.tcl',
'DATA'),
('tk\\ttk\\sizegrip.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\sizegrip.tcl',
'DATA'),
('tk\\ttk\\spinbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\spinbox.tcl',
'DATA'),
('tk\\ttk\\treeview.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\treeview.tcl',
'DATA'),
('tk\\ttk\\ttk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\ttk.tcl',
'DATA'),
('tk\\ttk\\utils.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\utils.tcl',
'DATA'),
('tk\\ttk\\vistaTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\vistaTheme.tcl',
'DATA'),
('tk\\ttk\\winTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\winTheme.tcl',
'DATA'),
('tk\\ttk\\xpTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\xpTheme.tcl',
'DATA'),
('tk\\msgs\\cs.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\cs.msg',
'DATA'),
('tk\\msgs\\da.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\da.msg',
'DATA'),
('tk\\msgs\\de.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\de.msg',
'DATA'),
('tk\\msgs\\el.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\el.msg',
'DATA'),
('tk\\msgs\\en.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\en.msg',
'DATA'),
('tk\\msgs\\en_gb.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\en_gb.msg',
'DATA'),
('tk\\msgs\\eo.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\eo.msg',
'DATA'),
('tk\\msgs\\es.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\es.msg',
'DATA'),
('tk\\msgs\\fr.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\fr.msg',
'DATA'),
('tk\\msgs\\hu.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\hu.msg',
'DATA'),
('tk\\msgs\\it.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\it.msg',
'DATA'),
('tk\\msgs\\nl.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\nl.msg',
'DATA'),
('tk\\msgs\\pl.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\pl.msg',
'DATA'),
('tk\\msgs\\pt.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\pt.msg',
'DATA'),
('tk\\msgs\\ru.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\ru.msg',
'DATA'),
('tk\\msgs\\sv.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\sv.msg',
'DATA'),
('tk\\images\\logo.eps',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo.eps',
'DATA'),
('tk\\images\\logo100.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo100.gif',
'DATA'),
('tk\\images\\logo64.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo64.gif',
'DATA'),
('tk\\images\\logoLarge.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logoLarge.gif',
'DATA'),
('tk\\images\\logoMed.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logoMed.gif',
'DATA'),
('tk\\images\\pwrdLogo.eps',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo.eps',
'DATA'),
('tk\\images\\pwrdLogo100.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo100.gif',
'DATA'),
('tk\\images\\pwrdLogo150.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo150.gif',
'DATA'),
('tk\\images\\pwrdLogo175.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo175.gif',
'DATA'),
('tk\\images\\pwrdLogo200.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo200.gif',
'DATA'),
('tk\\images\\pwrdLogo75.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo75.gif',
'DATA'),
('tk\\images\\README',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\README',
'DATA'),
('tk\\images\\tai-ku.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\tai-ku.gif',
'DATA')])

View File

@ -0,0 +1,19 @@
('C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8',
'tcl8',
[],
'DATA',
[('tcl8\\8.6\\http-2.9.5.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.6\\http-2.9.5.tm',
'DATA'),
('tcl8\\8.5\\msgcat-1.6.1.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.5\\msgcat-1.6.1.tm',
'DATA'),
('tcl8\\8.5\\tcltest-2.5.3.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.5\\tcltest-2.5.3.tm',
'DATA'),
('tcl8\\8.4\\platform-1.0.18.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.4\\platform-1.0.18.tm',
'DATA'),
('tcl8\\8.4\\platform\\shell-1.1.4.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.4\\platform\\shell-1.1.4.tm',
'DATA')])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,26 @@
This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running your program. Python and
Python 3rd-party packages include a lot of conditional or optional modules. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.
Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported within a function
* optional: imported within a try-except-statement
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
tracking down the missing module yourself. Thanks!
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), subprocess (optional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
missing module named pep517 - imported by importlib.metadata (delayed)
missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named resource - imported by posix (top-level)
missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed, optional), subprocess (optional)
missing module named 'org.python' - imported by copy (optional)
missing module named org - imported by pickle (optional)
missing module named _posixsubprocess - imported by subprocess (optional)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,253 @@
('D:\\python_project\\new_20231010\\build\\test\\PYZ-00.pyz',
[('_compat_pickle',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_compat_pickle.py',
'PYMODULE'),
('_compression',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_compression.py',
'PYMODULE'),
('_py_abc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_py_abc.py',
'PYMODULE'),
('_pydecimal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_pydecimal.py',
'PYMODULE'),
('_strptime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_strptime.py',
'PYMODULE'),
('_threading_local',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\_threading_local.py',
'PYMODULE'),
('argparse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\argparse.py',
'PYMODULE'),
('base64',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\base64.py',
'PYMODULE'),
('bisect',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\bisect.py',
'PYMODULE'),
('bz2',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\bz2.py',
'PYMODULE'),
('calendar',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\calendar.py',
'PYMODULE'),
('configparser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\configparser.py',
'PYMODULE'),
('contextlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\contextlib.py',
'PYMODULE'),
('contextvars',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\contextvars.py',
'PYMODULE'),
('copy',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\copy.py',
'PYMODULE'),
('csv',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\csv.py',
'PYMODULE'),
('datetime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\datetime.py',
'PYMODULE'),
('decimal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\decimal.py',
'PYMODULE'),
('email',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__init__.py',
'PYMODULE'),
('email._encoded_words',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_encoded_words.py',
'PYMODULE'),
('email._header_value_parser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_header_value_parser.py',
'PYMODULE'),
('email._parseaddr',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_parseaddr.py',
'PYMODULE'),
('email._policybase',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\_policybase.py',
'PYMODULE'),
('email.base64mime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\base64mime.py',
'PYMODULE'),
('email.charset',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\charset.py',
'PYMODULE'),
('email.contentmanager',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\contentmanager.py',
'PYMODULE'),
('email.encoders',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\encoders.py',
'PYMODULE'),
('email.errors',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\errors.py',
'PYMODULE'),
('email.feedparser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\feedparser.py',
'PYMODULE'),
('email.generator',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\generator.py',
'PYMODULE'),
('email.header',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\header.py',
'PYMODULE'),
('email.headerregistry',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\headerregistry.py',
'PYMODULE'),
('email.iterators',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\iterators.py',
'PYMODULE'),
('email.message',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\message.py',
'PYMODULE'),
('email.parser',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\parser.py',
'PYMODULE'),
('email.policy',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\policy.py',
'PYMODULE'),
('email.quoprimime',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\quoprimime.py',
'PYMODULE'),
('email.utils',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\utils.py',
'PYMODULE'),
('fnmatch',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\fnmatch.py',
'PYMODULE'),
('fractions',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\fractions.py',
'PYMODULE'),
('getopt',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\getopt.py',
'PYMODULE'),
('gettext',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\gettext.py',
'PYMODULE'),
('gzip',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\gzip.py',
'PYMODULE'),
('hashlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\hashlib.py',
'PYMODULE'),
('importlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__init__.py',
'PYMODULE'),
('importlib._bootstrap',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\_bootstrap.py',
'PYMODULE'),
('importlib._bootstrap_external',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\_bootstrap_external.py',
'PYMODULE'),
('importlib.abc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\abc.py',
'PYMODULE'),
('importlib.machinery',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\machinery.py',
'PYMODULE'),
('importlib.metadata',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\metadata.py',
'PYMODULE'),
('importlib.util',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\util.py',
'PYMODULE'),
('logging',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__init__.py',
'PYMODULE'),
('lzma',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\lzma.py',
'PYMODULE'),
('numbers',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\numbers.py',
'PYMODULE'),
('optparse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\optparse.py',
'PYMODULE'),
('pathlib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pathlib.py',
'PYMODULE'),
('pickle',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pickle.py',
'PYMODULE'),
('pprint',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\pprint.py',
'PYMODULE'),
('py_compile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\py_compile.py',
'PYMODULE'),
('quopri',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\quopri.py',
'PYMODULE'),
('random',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\random.py',
'PYMODULE'),
('selectors',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\selectors.py',
'PYMODULE'),
('shutil',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\shutil.py',
'PYMODULE'),
('signal',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\signal.py',
'PYMODULE'),
('socket',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\socket.py',
'PYMODULE'),
('statistics',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\statistics.py',
'PYMODULE'),
('string',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\string.py',
'PYMODULE'),
('stringprep',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\stringprep.py',
'PYMODULE'),
('subprocess',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\subprocess.py',
'PYMODULE'),
('tarfile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tarfile.py',
'PYMODULE'),
('textwrap',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\textwrap.py',
'PYMODULE'),
('threading',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\threading.py',
'PYMODULE'),
('tkinter',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\__init__.py',
'PYMODULE'),
('tkinter.commondialog',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\commondialog.py',
'PYMODULE'),
('tkinter.constants',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\constants.py',
'PYMODULE'),
('tkinter.messagebox',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tkinter\\messagebox.py',
'PYMODULE'),
('token',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\token.py',
'PYMODULE'),
('tokenize',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tokenize.py',
'PYMODULE'),
('tracemalloc',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\tracemalloc.py',
'PYMODULE'),
('typing',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\typing.py',
'PYMODULE'),
('urllib',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__init__.py',
'PYMODULE'),
('urllib.parse',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\parse.py',
'PYMODULE'),
('uu',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\uu.py',
'PYMODULE'),
('zipfile',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\lib\\zipfile.py',
'PYMODULE')])

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,265 @@
('C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6',
'tk',
['demos', '*.lib', 'tkConfig.sh'],
'DATA',
[('tk\\bgerror.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\bgerror.tcl',
'DATA'),
('tk\\button.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\button.tcl',
'DATA'),
('tk\\choosedir.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\choosedir.tcl',
'DATA'),
('tk\\clrpick.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\clrpick.tcl',
'DATA'),
('tk\\comdlg.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\comdlg.tcl',
'DATA'),
('tk\\console.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\console.tcl',
'DATA'),
('tk\\dialog.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\dialog.tcl',
'DATA'),
('tk\\entry.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\entry.tcl',
'DATA'),
('tk\\focus.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\focus.tcl',
'DATA'),
('tk\\fontchooser.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\fontchooser.tcl',
'DATA'),
('tk\\iconlist.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\iconlist.tcl',
'DATA'),
('tk\\icons.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\icons.tcl',
'DATA'),
('tk\\license.terms',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\license.terms',
'DATA'),
('tk\\listbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\listbox.tcl',
'DATA'),
('tk\\megawidget.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\megawidget.tcl',
'DATA'),
('tk\\menu.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\menu.tcl',
'DATA'),
('tk\\mkpsenc.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\mkpsenc.tcl',
'DATA'),
('tk\\msgbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgbox.tcl',
'DATA'),
('tk\\obsolete.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\obsolete.tcl',
'DATA'),
('tk\\optMenu.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\optMenu.tcl',
'DATA'),
('tk\\palette.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\palette.tcl',
'DATA'),
('tk\\panedwindow.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\panedwindow.tcl',
'DATA'),
('tk\\pkgIndex.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\pkgIndex.tcl',
'DATA'),
('tk\\safetk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\safetk.tcl',
'DATA'),
('tk\\scale.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\scale.tcl',
'DATA'),
('tk\\scrlbar.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\scrlbar.tcl',
'DATA'),
('tk\\spinbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\spinbox.tcl',
'DATA'),
('tk\\tclIndex',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tclIndex',
'DATA'),
('tk\\tearoff.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tearoff.tcl',
'DATA'),
('tk\\text.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\text.tcl',
'DATA'),
('tk\\tk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tk.tcl',
'DATA'),
('tk\\tkfbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\tkfbox.tcl',
'DATA'),
('tk\\unsupported.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\unsupported.tcl',
'DATA'),
('tk\\xmfbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\xmfbox.tcl',
'DATA'),
('tk\\ttk\\altTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\altTheme.tcl',
'DATA'),
('tk\\ttk\\aquaTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\aquaTheme.tcl',
'DATA'),
('tk\\ttk\\button.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\button.tcl',
'DATA'),
('tk\\ttk\\clamTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\clamTheme.tcl',
'DATA'),
('tk\\ttk\\classicTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\classicTheme.tcl',
'DATA'),
('tk\\ttk\\combobox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\combobox.tcl',
'DATA'),
('tk\\ttk\\cursors.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\cursors.tcl',
'DATA'),
('tk\\ttk\\defaults.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\defaults.tcl',
'DATA'),
('tk\\ttk\\entry.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\entry.tcl',
'DATA'),
('tk\\ttk\\fonts.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\fonts.tcl',
'DATA'),
('tk\\ttk\\menubutton.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\menubutton.tcl',
'DATA'),
('tk\\ttk\\notebook.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\notebook.tcl',
'DATA'),
('tk\\ttk\\panedwindow.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\panedwindow.tcl',
'DATA'),
('tk\\ttk\\progress.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\progress.tcl',
'DATA'),
('tk\\ttk\\scale.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\scale.tcl',
'DATA'),
('tk\\ttk\\scrollbar.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\scrollbar.tcl',
'DATA'),
('tk\\ttk\\sizegrip.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\sizegrip.tcl',
'DATA'),
('tk\\ttk\\spinbox.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\spinbox.tcl',
'DATA'),
('tk\\ttk\\treeview.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\treeview.tcl',
'DATA'),
('tk\\ttk\\ttk.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\ttk.tcl',
'DATA'),
('tk\\ttk\\utils.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\utils.tcl',
'DATA'),
('tk\\ttk\\vistaTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\vistaTheme.tcl',
'DATA'),
('tk\\ttk\\winTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\winTheme.tcl',
'DATA'),
('tk\\ttk\\xpTheme.tcl',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\ttk\\xpTheme.tcl',
'DATA'),
('tk\\msgs\\cs.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\cs.msg',
'DATA'),
('tk\\msgs\\da.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\da.msg',
'DATA'),
('tk\\msgs\\de.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\de.msg',
'DATA'),
('tk\\msgs\\el.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\el.msg',
'DATA'),
('tk\\msgs\\en.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\en.msg',
'DATA'),
('tk\\msgs\\en_gb.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\en_gb.msg',
'DATA'),
('tk\\msgs\\eo.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\eo.msg',
'DATA'),
('tk\\msgs\\es.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\es.msg',
'DATA'),
('tk\\msgs\\fr.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\fr.msg',
'DATA'),
('tk\\msgs\\hu.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\hu.msg',
'DATA'),
('tk\\msgs\\it.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\it.msg',
'DATA'),
('tk\\msgs\\nl.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\nl.msg',
'DATA'),
('tk\\msgs\\pl.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\pl.msg',
'DATA'),
('tk\\msgs\\pt.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\pt.msg',
'DATA'),
('tk\\msgs\\ru.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\ru.msg',
'DATA'),
('tk\\msgs\\sv.msg',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\msgs\\sv.msg',
'DATA'),
('tk\\images\\logo.eps',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo.eps',
'DATA'),
('tk\\images\\logo100.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo100.gif',
'DATA'),
('tk\\images\\logo64.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logo64.gif',
'DATA'),
('tk\\images\\logoLarge.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logoLarge.gif',
'DATA'),
('tk\\images\\logoMed.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\logoMed.gif',
'DATA'),
('tk\\images\\pwrdLogo.eps',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo.eps',
'DATA'),
('tk\\images\\pwrdLogo100.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo100.gif',
'DATA'),
('tk\\images\\pwrdLogo150.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo150.gif',
'DATA'),
('tk\\images\\pwrdLogo175.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo175.gif',
'DATA'),
('tk\\images\\pwrdLogo200.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo200.gif',
'DATA'),
('tk\\images\\pwrdLogo75.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\pwrdLogo75.gif',
'DATA'),
('tk\\images\\README',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\README',
'DATA'),
('tk\\images\\tai-ku.gif',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tk8.6\\images\\tai-ku.gif',
'DATA')])

View File

@ -0,0 +1,19 @@
('C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8',
'tcl8',
[],
'DATA',
[('tcl8\\8.6\\http-2.9.5.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.6\\http-2.9.5.tm',
'DATA'),
('tcl8\\8.5\\msgcat-1.6.1.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.5\\msgcat-1.6.1.tm',
'DATA'),
('tcl8\\8.5\\tcltest-2.5.3.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.5\\tcltest-2.5.3.tm',
'DATA'),
('tcl8\\8.4\\platform-1.0.18.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.4\\platform-1.0.18.tm',
'DATA'),
('tcl8\\8.4\\platform\\shell-1.1.4.tm',
'C:\\Users\\IMI_CTO\\AppData\\Local\\Programs\\Python\\Python39\\tcl\\tcl8.6\\..\\tcl8\\8.4\\platform\\shell-1.1.4.tm',
'DATA')])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,26 @@
This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running your program. Python and
Python 3rd-party packages include a lot of conditional or optional modules. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.
Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported within a function
* optional: imported within a try-except-statement
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
tracking down the missing module yourself. Thanks!
missing module named 'org.python' - imported by copy (optional)
missing module named _posixsubprocess - imported by subprocess (optional)
missing module named grp - imported by subprocess (optional), shutil (optional), tarfile (optional), pathlib (delayed, optional)
missing module named pwd - imported by posixpath (delayed, conditional), subprocess (optional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
missing module named pep517 - imported by importlib.metadata (delayed)
missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named resource - imported by posix (top-level)
missing module named org - imported by pickle (optional)

File diff suppressed because it is too large Load Diff

Binary file not shown.

12
new_20231010/config.ini Normal file
View File

@ -0,0 +1,12 @@
[User]
adminid = 74575be0b77e64db6a5711285efba4715bc5a470f2a5e1e0cd7354c0ddce675c
adminpass = fbc47c2d2ca7935af8865adf579a5ea33eaa87b344b4397b1de142df7477356e
[General]
log_level = INFO
[Mysql]
database = ""
user=""
passwd=""
host=""

6
new_20231010/dist/config.ini vendored Normal file
View File

@ -0,0 +1,6 @@
[User]
adminid = 74575be0b77e64db6a5711285efba4715bc5a470f2a5e1e0cd7354c0ddce675c
adminpass = fbc47c2d2ca7935af8865adf579a5ea33eaa87b344b4397b1de142df7477356e
[General]
log_level = INFO

BIN
new_20231010/dist/main.exe vendored Normal file

Binary file not shown.

BIN
new_20231010/dist/test.exe vendored Normal file

Binary file not shown.

1
new_20231010/file2.txt Normal file
View File

@ -0,0 +1 @@
이성노홍길동김길동

BIN
new_20231010/google.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

138
new_20231010/itemmania.py Normal file
View File

@ -0,0 +1,138 @@
from tkinter import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options as ChromeOptions
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
# id pw log.login
win=Tk()
win.geometry("400x300")
win.title('아이템매니아로그인')
win.option_add("*Font","궁서 20")
#로고
lab_logo = Label(win)
img = PhotoImage(file="./itemmania_logo.gif", master=win)
#img = img.subsample(2)
lab_logo.config(image=img)
lab_logo.pack()
#id 라벨
lab1 = Label(win)
lab1.config(text="아이디")
lab1.pack()
#pw 입력창
ent1 = Entry(win)
ent1.insert(0,"sungro815")
ent1.bind()
ent1.pack()
#pw 라벨
lab2 = Label(win)
lab2.config(text="비밀번호")
lab2.pack()
#pw 입력창
ent2 = Entry(win)
ent2.config(show="*")
ent2.insert(0,"tjekdfl")
ent2.pack()
#로그인버튼
btn = Button(win)
btn.config(text='로그인')
def login():
my_id = ent1.get()
my_pass = ent2.get()
options = ChromeOptions()
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
options.add_argument('user-agent=' + user_agent)
options.add_argument("lang=ko_KR")
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
options.add_experimental_option("detach", True)
service = ChromeService(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
url = "https://www.itemmania.com/portal/user/p_login_form.html"
driver.get(url)
driver.implicitly_wait(5)
xpath1 = "//input[@name='user_id']"
driver.find_element(By.XPATH, xpath1).send_keys(my_id)
driver.implicitly_wait(5)
xpath2 = "//input[@name='user_password']"
driver.find_element(By.XPATH, xpath2).send_keys(my_pass)
driver.implicitly_wait(5)
xpath3 = "//button[@class='btn btn_blue']"
driver.find_element(By.XPATH, xpath3).click()
driver.implicitly_wait(5)
lab3.config(text='[메세지]로그인성공')
# 모든 팝업 창 핸들 가져오기
popup_handles = driver.window_handles
# 부모 창 핸들 가져오기
parent_handle = driver.current_window_handle
# 모든 팝업 창 닫기 (부모 창 제외)
for handle in popup_handles:
if handle != parent_handle:
driver.switch_to.window(handle)
driver.close()
# 다시 부모 창으로 돌아가기
driver.switch_to.window(parent_handle)
driver.get("https://trade.itemmania.com/index.html")
driver.implicitly_wait(5)
xpath3 = "//input[@name='searchGameServer']"
driver.find_element(By.XPATH, xpath3).click()
page_content = driver.page_source
soup = BeautifulSoup(page_content, 'html.parser')
# <ul> 태그 중에서 속성을 가져올 요소 선택
selected_ul = soup.find('ul')
# 선택한 <ul> 요소의 모든 속성 가져오기
attributes = selected_ul.attrs
# 속성 출력
print(attributes)
# element = soup.find('ul', {'class': 'popular_list'})
# print(element.text)
#
# # 전체 HTML 데이터 가져오기
# html_data = element.prettify()
#
# # HTML 데이터 출력
# print(html_data)
#인기게임확인
btn.config(command=login)
btn.pack()
#메세지라벨
lab3 = Label(win)
lab3.pack()
win.mainloop()

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

54
new_20231010/main.py Normal file
View File

@ -0,0 +1,54 @@
from tkinter import *
import random
from datetime import datetime
win=Tk()
win.geometry("550x150")
win.title('AIM_GAME')
win.option_add("*Font","궁서 20")
#라벨
lab = Label(win)
lab.config(text='표적 개수')
lab.grid(column=0,row=0,padx=20, pady=20)
ent = Entry(win)
ent.grid(column=1,row=0,padx=20, pady=20)
k=1
def cc():
global k
if k < num_t:
k +=1
btn.destroy()
ran_btn()
else :
fin = datetime.now()
sec = (fin-starttime).total_seconds()
btn.destroy()
lab = Label(win)
lab.config(text='Clear : '+str(sec)+"",height=50)
lab.pack(pady=230)
def ran_btn():
global btn
btn=Button(win)
btn.config(bg='red')
btn.config(command=cc)
btn.config(text=k)
btn.place(relx=random.random(), rely=random.random())
def btn_f():
global num_t
num_t = int(ent.get())
for wg in win.grid_slaves():
wg.destroy()
win.geometry("500x500")
ran_btn()
global starttime
starttime = datetime.now();
btn = Button(win)
btn.config(text='시작')
btn.config(command=btn_f)
btn.grid(column=0,row=1, columnspan=2)
win.mainloop()

37
new_20231010/main.spec Normal file
View File

@ -0,0 +1,37 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)

50
new_20231010/mysql.py Normal file
View File

@ -0,0 +1,50 @@
import pymysql
class db_con:
host="syye.net"
user="pythonUser"
password="Tjekdfl1324%^"
database="pythonDB"
char='utf8'
# MySQL 서버 연결 설정
conn = pymysql.connect(
host="syye.net",
user="pythonUser",
password="Tjekdfl1324%^",
db="pythonDB",
charset='utf8',
autocommit=True)
# 커서 생성
curs = conn.cursor(pymysql.cursors.DictCursor)
#조회
sql ="SELECT * FROM books"
curs.execute(sql)
rows = curs.fetchall()
for data in rows:
title=data['title']
author = data['author']
print(title, author)
#입력
# insert_query = "INSERT INTO books (title, author) VALUES (%s, %s)"
# data = ("책임름 111", "저자1")
# curs.execute(insert_query, data)
#수정
# update_query = "UPDATE books set title=%s, author=%s where id=5"
# data = ("책임름 222", "저자2")
# curs.execute(update_query, data)
#삭제
#delete_query = "DELETE FROM books WHERE id=5"
#curs.execute(delete_query)
# 변경사항을 커밋
conn.commit()
# 연결 및 커서 닫기
curs.close()
conn.close()

200
new_20231010/newfile.txt Normal file
View File

@ -0,0 +1,200 @@
#################################################################################################
# 배치 start #####################################################################################
from tkinter import *
# 배치 place ###
# win = Tk()
# win.geometry("500x300")
# win.title("pack")
# win.option_add("*Font","궁서 20")
#
# # 배치 grid ###
# btn = Button(win)
# btn.config(text='new')
# btn.place(x=10, y=10)
#
# btn2 = Button(win)
# btn2.config(text='new2')
# btn2.place(x=100, y=100)
#
#
# btn3 = Button(win)
# btn3.config(text='new')
# btn3.place(relx=0.5, rely=0.5)
#
# btn4 = Button(win)
# btn4.config(text='new2')
# btn4.place(x=0.8, rely=0.8)
# 배치 place ###
# 배치 grid ###
# btn_list = []
# col_num =4
# row_num =3
#
# for j in range(0,row_num):
# for i in range(0,col_num):
# btn = Button(win)
# btn.config(text='({},{})'.format(i,j), padx=10)
# btn.grid(column=i, row=j, padx=10, pady=10)
# btn_list.append(btn)
#
# btn = Button(win)
# btn.config(text='new',width=5, height=4)
# btn.grid(column=3, row=0, rowspan=2)
#
# btn2 = Button(win)
# btn2.config(text='new2')
# btn2.grid(column=1, row=2, columnspan=2)
# 배치 grid ###
# 배치 pack ###
# ent=Entry(win)
# ent.pack(side='top')
#
# btn = Button(win)
# btn.config(text='button')
# def aa():
# btn.pack(pady=ent.get())
#
# btn.config(command=aa)
# btn.pack()
#
# btn2 = Button(win)
# btn2.config(text='temp')
# btn2.pack()
# 배치 pack ###
win.mainloop()
# 배치 end #####################################################################################
# 버튼 입력폼 연동 크롤링 start ####################################################################
from tkinter import *
from datetime import datetime
from bs4 import BeautifulSoup
import requests
win=Tk()
win.geometry("600x100")
win.title('테스트 GUI')
win.option_add("*Font","궁서 20")
def lotto_p():
n=ent.get()
url = "https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo={}".format(n)
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
txt=soup.find("div", attrs={"class","win_result"}).get_text()
title = txt.split("\n")[1:3]
numlist = txt.split("\n")[7:13]
bonus = txt.split("\n")[-4]
print(title)
print(numlist)
print(bonus)
btn = Button(win)
btn.config(text='로또당첨번호 확인')
#btn.config(width=10, height=1)
btn.config(command=lotto_p)
btn.pack()
ent=Entry(win)
ent.pack()
win.mainloop()
# 버튼 입력폼 연동 크롤링 end ####################################################################
# 로그인폼 브라우저 데이터 전송 자동로그인 start#####################################################
from tkinter import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options as ChromeOptions
from webdriver_manager.chrome import ChromeDriverManager
# id pw log.login
win=Tk()
win.geometry("400x300")
win.title('다음로그인')
win.option_add("*Font","궁서 20")
btn = Button(win)
#로고
lab_logo = Label(win)
img = PhotoImage(file="./google.png", master=win)
img = img.subsample(2)
lab_logo.config(image=img)
lab_logo.pack()
#id 라벨
lab1 = Label(win)
lab1.config(text="아이디")
lab1.pack()
#pw 입력창
ent1 = Entry(win)
ent1.insert(0,"test@test.com")
def clear(event):
if ent1.get() == "test@test.com":
ent1.delete(0, len(ent1.get()))
ent1.bind("<Button-1>", clear)
ent1.pack()
#pw 라벨
lab2 = Label(win)
lab2.config(text="비밀번호")
lab2.pack()
#pw 입력창
ent2 = Entry(win)
ent2.config(show="*")
ent2.pack()
#로그인버튼
btn = Button(win)
btn.config(text='로그인')
def login():
my_id = ent1.get()
my_pass = ent2.get()
options = ChromeOptions()
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
options.add_argument('user-agent=' + user_agent)
options.add_argument("lang=ko_KR")
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
options.add_experimental_option("detach", True)
service = ChromeService(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
url = "https://accounts.kakao.com/login/?continue=https%3A%2F%2Flogins.daum.net%2Faccounts%2Fksso.do%3Frescue%3Dtrue%26url%3Dhttps%253A%252F%252Fwww.daum.net#login"
driver.get(url)
driver.implicitly_wait(5)
xpath1 = "//input[@name='loginId']"
driver.find_element(By.XPATH, xpath1).send_keys(my_id)
driver.implicitly_wait(5)
xpath2 = "//input[@name='password']"
driver.find_element(By.XPATH, xpath2).send_keys(my_pass)
driver.implicitly_wait(5)
xpath3 = "//button[@class='btn_g highlight submit']"
driver.find_element(By.XPATH, xpath3).click()
lab3.config(text='[메세지]로그인성공')
btn.config(command=login)
btn.pack()
#메세지라벨
lab3 = Label(win)
lab3.pack()
win.mainloop()
# 로그인폼 브라우저 데이터 전송 자동로그인 end#######################################################

80
new_20231010/test.py Normal file
View File

@ -0,0 +1,80 @@
import tkinter as tk
import hashlib
import configparser
from tkinter import Label, Entry, Button, messagebox
config = configparser.ConfigParser()
config.read('config.ini')
adminid = config['User']['adminid']
adminpw = config['User']['adminpass']
def hashcryto(txt):
original_string = txt
# SHA-256 해시 객체 생성
hash_object = hashlib.sha256()
# 문자열을 바이트로 변환하여 해싱
original_bytes = original_string.encode('utf-8')
hash_object.update(original_bytes)
# 해시된 결과를 16진수로 표시
hashed_string = hash_object.hexdigest()
return hashed_string
# 로그인 버튼 클릭 시 실행할 함수
def login():
username = username_entry.get()
password = password_entry.get()
if hashcryto(username) == adminid and hashcryto(password) == adminpw:
messagebox.showinfo("로그인 성공", "로그인에 성공했습니다!")
# 로그인 성공 시, 새로운 창을 열고 메인 창을 숨깁니다.
main_window.withdraw() # 메인 창 숨김
welcome_window.geometry("500x300")
welcome_window.deiconify() # 로그인 성공 페이지 표시
else:
messagebox.showerror("로그인 실패", "잘못된 사용자 이름 또는 비밀번호입니다.")
# 로그아웃 버튼 클릭 시 실행할 함수
def logout():
welcome_window.withdraw() # 로그인 성공 페이지 숨김
main_window.deiconify() # 메인 창 표시
# 메인 윈도우 생성
main_window = tk.Tk()
main_window.title("로그인 폼")
# 사용자 이름 레이블과 엔트리 위젯
username_label = Label(main_window, text="사용자 이름:")
username_label.pack()
username_entry = Entry(main_window)
username_entry.pack()
# 비밀번호 레이블과 엔트리 위젯
password_label = Label(main_window, text="비밀번호:")
password_label.pack()
password_entry = Entry(main_window, show="*") # 비밀번호 필드를 표시하지 않음
password_entry.pack()
# 로그인 버튼
login_button = Button(main_window, text="로그인", command=login)
login_button.pack()
# 로그인 성공 페이지
welcome_window = tk.Toplevel(main_window)
welcome_window.title("환영합니다!")
welcome_label = Label(welcome_window, text="로그인에 성공했습니다!")
welcome_label.pack()
# 로그아웃 버튼
logout_button = Button(welcome_window, text="로그아웃", command=logout)
logout_button.pack()
# 처음에는 로그인 성공 페이지 숨김
welcome_window.withdraw()
# 메인 루프 시작
main_window.geometry("500x300")
main_window.resizable(False, False) # 창 크기 조절 불가능
main_window.mainloop()

37
new_20231010/test.spec Normal file
View File

@ -0,0 +1,37 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['test.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='test',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)

View File

@ -0,0 +1,211 @@
<?php
class Chat{
private $host = '192.168.0.43';
private $user = 'pythonUser';
private $password = "Tjekdfl1324%^";
private $database = "chatphp";
private $chatTable = 'chat';
private $chatUsersTable = 'chat_users';
private $chatLoginDetailsTable = 'chat_login_details';
private $dbConnect = false;
public function __construct(){
if(!$this->dbConnect){
$conn = new mysqli($this->host, $this->user, $this->password, $this->database);
if($conn->connect_error){
die("Error failed to connect to MySQL: " . $conn->connect_error);
}else{
$this->dbConnect = $conn;
}
}
}
private function getData($sqlQuery) {
$result = mysqli_query($this->dbConnect, $sqlQuery);
if(!$result){
die('Error in query: '. mysqli_error());
}
$data= array();
while ($row = mysqli_fetch_array($result)) {
$data[]=$row;
}
return $data;
}
private function getNumRows($sqlQuery) {
$result = mysqli_query($this->dbConnect, $sqlQuery);
if(!$result){
die('Error in query: '. mysqli_error());
}
$numRows = mysqli_num_rows($result);
return $numRows;
}
public function loginUsers($username, $password){
$sqlQuery = "
SELECT userid, username
FROM ".$this->chatUsersTable."
WHERE userid='".$username."' AND password='".$password."'";
return $this->getData($sqlQuery);
}
public function chatUsers($userid){
$sqlQuery = "
SELECT * FROM ".$this->chatUsersTable."
WHERE userid != '$userid'";
return $this->getData($sqlQuery);
}
public function getUserDetails($userid){
$sqlQuery = "
SELECT * FROM ".$this->chatUsersTable."
WHERE userid = '$userid'";
return $this->getData($sqlQuery);
}
public function getUserAvatar($userid){
$sqlQuery = "
SELECT avatar
FROM ".$this->chatUsersTable."
WHERE userid = '$userid'";
$userResult = $this->getData($sqlQuery);
$userAvatar = '';
foreach ($userResult as $user) {
$userAvatar = $user['avatar'];
}
return $userAvatar;
}
public function updateUserOnline($userId, $online) {
$sqlUserUpdate = "
UPDATE ".$this->chatUsersTable."
SET online = '".$online."'
WHERE userid = '".$userId."'";
mysqli_query($this->dbConnect, $sqlUserUpdate);
}
public function insertChat($reciever_userid, $user_id, $chat_message) {
$sqlInsert = "
INSERT INTO ".$this->chatTable."
(reciever_userid, sender_userid, message, status)
VALUES ('".$reciever_userid."', '".$user_id."', '".$chat_message."', '1')";
$result = mysqli_query($this->dbConnect, $sqlInsert);
if(!$result){
return ('Error in query: '. mysqli_error());
} else {
$conversation = $this->getUserChat($user_id, $reciever_userid);
$data = array(
"conversation" => $conversation
);
echo json_encode($data);
}
}
public function getUserChat($from_user_id, $to_user_id) {
$fromUserAvatar = $this->getUserAvatar($from_user_id);
$toUserAvatar = $this->getUserAvatar($to_user_id);
$sqlQuery = "
SELECT * FROM ".$this->chatTable."
WHERE (sender_userid = '".$from_user_id."'
AND reciever_userid = '".$to_user_id."')
OR (sender_userid = '".$to_user_id."'
AND reciever_userid = '".$from_user_id."')
ORDER BY timestamp ASC";
$userChat = $this->getData($sqlQuery);
$conversation = '<ul>';
foreach($userChat as $chat){
$user_name = '';
if($chat["sender_userid"] == $from_user_id) {
$conversation .= '<li class="sent">';
$conversation .= '<img width="22px" height="22px" src="userpics/'.$fromUserAvatar.'" alt="" />';
} else {
$conversation .= '<li class="replies">';
$conversation .= '<img width="22px" height="22px" src="userpics/'.$toUserAvatar.'" alt="" />';
}
$conversation .= '<p>'.$chat["message"].'</p>';
$conversation .= '</li>';
}
$conversation .= '</ul>';
return $conversation;
}
public function showUserChat($from_user_id, $to_user_id) {
$userDetails = $this->getUserDetails($to_user_id);
$toUserAvatar = '';
foreach ($userDetails as $user) {
$toUserAvatar = $user['avatar'];
$userSection = '<img src="userpics/'.$user['avatar'].'" alt="" />
<p>'.$user['username'].'</p>
<div class="social-media">
<i class="fa fa-facebook" aria-hidden="true"></i>
<i class="fa fa-twitter" aria-hidden="true"></i>
<i class="fa fa-instagram" aria-hidden="true"></i>
</div>';
}
// get user conversation
$conversation = $this->getUserChat($from_user_id, $to_user_id);
// update chat user read status
$sqlUpdate = "
UPDATE ".$this->chatTable."
SET status = '0'
WHERE sender_userid = '".$to_user_id."' AND reciever_userid = '".$from_user_id."' AND status = '1'";
mysqli_query($this->dbConnect, $sqlUpdate);
// update users current chat session
$sqlUserUpdate = "
UPDATE ".$this->chatUsersTable."
SET current_session = '".$to_user_id."'
WHERE userid = '".$from_user_id."'";
mysqli_query($this->dbConnect, $sqlUserUpdate);
$data = array(
"userSection" => $userSection,
"conversation" => $conversation
);
echo json_encode($data);
}
public function getUnreadMessageCount($senderUserid, $recieverUserid) {
$sqlQuery = "
SELECT * FROM ".$this->chatTable."
WHERE sender_userid = '$senderUserid' AND reciever_userid = '$recieverUserid' AND status = '1'";
$numRows = $this->getNumRows($sqlQuery);
$output = '';
if($numRows > 0){
$output = $numRows;
}
return $output;
}
public function updateTypingStatus($is_type, $loginDetailsId) {
$sqlUpdate = "
UPDATE ".$this->chatLoginDetailsTable."
SET is_typing = '".$is_type."'
WHERE id = '".$loginDetailsId."'";
mysqli_query($this->dbConnect, $sqlUpdate);
}
public function fetchIsTypeStatus($userId){
$sqlQuery = "
SELECT is_typing FROM ".$this->chatLoginDetailsTable."
WHERE userid = '".$userId."' ORDER BY last_activity DESC LIMIT 1";
$result = $this->getData($sqlQuery);
$output = '';
foreach($result as $row) {
if($row["is_typing"] == 'yes'){
$output = ' - <small><em>Typing...</em></small>';
}
}
return $output;
}
public function insertUserLoginDetails($userId) {
$sqlInsert = "
INSERT INTO ".$this->chatLoginDetailsTable."(userid)
VALUES ('".$userId."')";
mysqli_query($this->dbConnect, $sqlInsert);
$lastInsertId = mysqli_insert_id($this->dbConnect);
return $lastInsertId;
}
public function updateLastActivity($loginDetailsId) {
$sqlUpdate = "
UPDATE ".$this->chatLoginDetailsTable."
SET last_activity = now()
WHERE id = '".$loginDetailsId."'";
mysqli_query($this->dbConnect, $sqlUpdate);
}
public function getUserLastActivity($userId) {
$sqlQuery = "
SELECT last_activity FROM ".$this->chatLoginDetailsTable."
WHERE userid = '$userId' ORDER BY last_activity DESC LIMIT 1";
$result = $this->getData($sqlQuery);
foreach($result as $row) {
return $row['last_activity'];
}
}
}
?>

View File

@ -0,0 +1,13 @@
Running Server :
1. Change host address in index.php and server.php
2. Go to your shell command-line interface
3. type:
php -q c:\path\server.php
4. Using browser, navigate to index.php location to open chat page, have fun!
@Tutorial : http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket
@License : http://opensource.org/licenses/MIT

View File

@ -0,0 +1,42 @@
<?php
session_start();
include ('Chat.php');
$chat = new Chat();
if($_POST['action'] == 'update_user_list') {
$chatUsers = $chat->chatUsers($_SESSION['userid']);
$data = array(
"profileHTML" => $chatUsers,
);
echo json_encode($data);
}
if($_POST['action'] == 'insert_chat') {
$chat->insertChat($_POST['to_user_id'], $_SESSION['userid'], $_POST['chat_message']);
}
if($_POST['action'] == 'show_chat') {
$chat->showUserChat($_SESSION['userid'], $_POST['to_user_id']);
}
if($_POST['action'] == 'update_user_chat') {
$conversation = $chat->getUserChat($_SESSION['userid'], $_POST['to_user_id']);
$data = array(
"conversation" => $conversation
);
echo json_encode($data);
}
if($_POST['action'] == 'update_unread_message') {
$count = $chat->getUnreadMessageCount($_POST['to_user_id'], $_SESSION['userid']);
$data = array(
"count" => $count
);
echo json_encode($data);
}
if($_POST['action'] == 'update_typing_status') {
$chat->updateTypingStatus($_POST["is_type"], $_SESSION["login_details_id"]);
}
if($_POST['action'] == 'show_typing_status') {
$message = $chat->fetchIsTypeStatus($_POST['to_user_id']);
$data = array(
"message" => $message
);
echo json_encode($data);
}
?>

View File

@ -0,0 +1,26 @@
</head>
<body class="">
<div role="navigation" class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button data-target=".navbar-collapse" data-toggle="collapse" class="navbar-toggle" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="http://www.phpzag.com" class="navbar-brand">ONE.SYYE.NET</a>
</div>
<!-- <div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="http://www.phpzag.com">Home</a></li>
</ul>-->
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container" style="min-height:500px;">
<div class=''>
</div>

View File

@ -0,0 +1,725 @@
.chat {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
background: #c8e8d6;
font-family: "proxima-nova", "Source Sans Pro", sans-serif;
/*font-size: 1em;*/
letter-spacing: 0.1px;
color: #32465a;
text-rendering: optimizeLegibility;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
-webkit-font-smoothing: antialiased;
}
#frame {
width: 95%;
min-width: 360px;
max-width: 1000px;
height: 92vh;
min-height: 300px;
max-height: 720px;
background: #E6EAEA;
}
@media screen and (max-width: 360px) {
#frame {
width: 100%;
height: 100vh;
}
}
#frame #sidepanel {
float: left;
min-width: 280px;
max-width: 340px;
width: 40%;
height: 100%;
background: #2c3e50;
color: #f5f5f5;
overflow: hidden;
position: relative;
}
@media screen and (max-width: 735px) {
#frame #sidepanel {
width: 58px;
min-width: 58px;
}
}
#frame #sidepanel #profile {
width: 80%;
margin: 25px auto;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile {
width: 100%;
margin: 0 auto;
padding: 5px 0 0 0;
background: #32465a;
}
}
#frame #sidepanel #profile.expanded .wrap {
height: 210px;
line-height: initial;
}
#frame #sidepanel #profile.expanded .wrap p {
margin-top: 20px;
}
#frame #sidepanel #profile.expanded .wrap i.expand-button {
-moz-transform: scaleY(-1);
-o-transform: scaleY(-1);
-webkit-transform: scaleY(-1);
transform: scaleY(-1);
filter: FlipH;
-ms-filter: "FlipH";
}
#frame #sidepanel #profile .wrap {
height: 60px;
line-height: 60px;
overflow: hidden;
-moz-transition: 0.3s height ease;
-o-transition: 0.3s height ease;
-webkit-transition: 0.3s height ease;
transition: 0.3s height ease;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap {
height: 55px;
}
}
#frame #sidepanel #profile .wrap img {
width: 50px;
border-radius: 50%;
padding: 3px;
border: 2px solid #e74c3c;
height: auto;
float: left;
cursor: pointer;
-moz-transition: 0.3s border ease;
-o-transition: 0.3s border ease;
-webkit-transition: 0.3s border ease;
transition: 0.3s border ease;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap img {
width: 40px;
margin-left: 4px;
}
}
#frame #sidepanel #profile .wrap img.online {
border: 2px solid #2ecc71;
}
#frame #sidepanel #profile .wrap img.away {
border: 2px solid #f1c40f;
}
#frame #sidepanel #profile .wrap img.busy {
border: 2px solid #e74c3c;
}
#frame #sidepanel #profile .wrap img.offline {
border: 2px solid #95a5a6;
}
#frame #sidepanel #profile .wrap p {
float: left;
margin-left: 15px;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap p {
display: none;
}
}
#frame #sidepanel #profile .wrap i.expand-button {
float: right;
margin-top: 23px;
font-size: 0.8em;
cursor: pointer;
color: #435f7a;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap i.expand-button {
display: none;
}
}
#frame #sidepanel #profile .wrap #status-options {
position: absolute;
opacity: 0;
visibility: hidden;
width: 150px;
margin: 70px 0 0 0;
border-radius: 6px;
z-index: 99;
line-height: initial;
background: #435f7a;
-moz-transition: 0.3s all ease;
-o-transition: 0.3s all ease;
-webkit-transition: 0.3s all ease;
transition: 0.3s all ease;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options {
width: 58px;
margin-top: 57px;
}
}
#frame #sidepanel #profile .wrap #status-options.active {
opacity: 1;
visibility: visible;
margin: 75px 0 0 0;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options.active {
margin-top: 62px;
}
}
#frame #sidepanel #profile .wrap #status-options:before {
content: '';
position: absolute;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 8px solid #435f7a;
margin: -8px 0 0 24px;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options:before {
margin-left: 23px;
}
}
#frame #sidepanel #profile .wrap #status-options ul {
overflow: hidden;
border-radius: 6px;
}
#frame #sidepanel #profile .wrap #status-options ul li {
padding: 15px 0 30px 18px;
display: block;
cursor: pointer;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options ul li {
padding: 15px 0 35px 22px;
}
}
#frame #sidepanel #profile .wrap #status-options ul li:hover {
background: #496886;
}
#frame #sidepanel #profile .wrap #status-options ul li span.status-circle {
position: absolute;
width: 10px;
height: 10px;
border-radius: 50%;
margin: 5px 0 0 0;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options ul li span.status-circle {
width: 14px;
height: 14px;
}
}
#frame #sidepanel #profile .wrap #status-options ul li span.status-circle:before {
content: '';
position: absolute;
width: 14px;
height: 14px;
margin: -3px 0 0 -3px;
background: transparent;
border-radius: 50%;
z-index: 0;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options ul li span.status-circle:before {
height: 18px;
width: 18px;
}
}
#frame #sidepanel #profile .wrap #status-options ul li p {
padding-left: 12px;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #profile .wrap #status-options ul li p {
display: none;
}
}
#frame #sidepanel #profile .wrap #status-options ul li#status-online span.status-circle {
background: #2ecc71;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-online.active span.status-circle:before {
border: 1px solid #2ecc71;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-away span.status-circle {
background: #f1c40f;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-away.active span.status-circle:before {
border: 1px solid #f1c40f;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-busy span.status-circle {
background: #e74c3c;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-busy.active span.status-circle:before {
border: 1px solid #e74c3c;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-offline span.status-circle {
background: #95a5a6;
}
#frame #sidepanel #profile .wrap #status-options ul li#status-offline.active span.status-circle:before {
border: 1px solid #95a5a6;
}
#frame #sidepanel #profile .wrap #expanded {
padding: 100px 0 0 0;
display: block;
line-height: initial !important;
}
#frame #sidepanel #profile .wrap #expanded label {
float: left;
clear: both;
margin: 0 8px 5px 0;
padding: 5px 0;
}
#frame #sidepanel #profile .wrap #expanded input {
border: none;
margin-bottom: 6px;
background: #32465a;
border-radius: 3px;
color: #f5f5f5;
padding: 7px;
width: calc(100% - 43px);
}
#frame #sidepanel #profile .wrap #expanded input:focus {
outline: none;
background: #435f7a;
}
#frame #sidepanel #search {
border-top: 1px solid #32465a;
border-bottom: 1px solid #32465a;
font-weight: 300;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #search {
display: none;
}
}
#frame #sidepanel #search label {
position: absolute;
margin: 10px 0 0 20px;
}
#frame #sidepanel #search input {
font-family: "proxima-nova", "Source Sans Pro", sans-serif;
padding: 10px 0 10px 46px;
width: calc(100% - 25px);
border: none;
background: #32465a;
color: #f5f5f5;
}
#frame #sidepanel #search input:focus {
outline: none;
background: #435f7a;
}
#frame #sidepanel #search input::-webkit-input-placeholder {
color: #f5f5f5;
}
#frame #sidepanel #search input::-moz-placeholder {
color: #f5f5f5;
}
#frame #sidepanel #search input:-ms-input-placeholder {
color: #f5f5f5;
}
#frame #sidepanel #search input:-moz-placeholder {
color: #f5f5f5;
}
#frame #sidepanel #contacts {
height: calc(100% - 177px);
overflow-y: scroll;
overflow-x: hidden;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #contacts {
height: calc(100% - 149px);
overflow-y: scroll;
overflow-x: hidden;
}
#frame #sidepanel #contacts::-webkit-scrollbar {
display: none;
}
}
#frame #sidepanel #contacts.expanded {
height: calc(100% - 334px);
}
#frame #sidepanel #contacts::-webkit-scrollbar {
width: 8px;
background: #2c3e50;
}
#frame #sidepanel #contacts::-webkit-scrollbar-thumb {
background-color: #243140;
}
#frame #sidepanel #contacts ul li.contact {
position: relative;
padding: 10px 0 15px 0;
font-size: 0.9em;
cursor: pointer;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #contacts ul li.contact {
padding: 6px 0 46px 8px;
}
}
#frame #sidepanel #contacts ul li.contact:hover {
background: #32465a;
}
#frame #sidepanel #contacts ul li.contact.active {
background: #32465a;
border-right: 5px solid #435f7a;
}
#frame #sidepanel #contacts ul li.contact.active span.contact-status {
border: 2px solid #32465a !important;
}
#frame #sidepanel #contacts ul li.contact .wrap {
width: 88%;
margin: 0 auto;
position: relative;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #contacts ul li.contact .wrap {
width: 100%;
}
}
#frame #sidepanel #contacts ul li.contact .wrap span {
position: absolute;
left: 0;
margin: -2px 0 0 -2px;
width: 10px;
height: 10px;
border-radius: 50%;
border: 2px solid #2c3e50;
background: #95a5a6;
}
#frame #sidepanel #contacts ul li.contact .wrap span.online {
background: #2ecc71;
}
#frame #sidepanel #contacts ul li.contact .wrap span.away {
background: #f1c40f;
}
#frame #sidepanel #contacts ul li.contact .wrap span.busy {
background: #e74c3c;
}
#frame #sidepanel #contacts ul li.contact .wrap span.unread {
background:red;
position: relative;
left: 5px;
}
#frame #sidepanel #contacts ul li.contact .wrap img {
width: 40px;
border-radius: 50%;
float: left;
margin-right: 10px;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #contacts ul li.contact .wrap img {
margin-right: 0px;
}
}
#frame #sidepanel #contacts ul li.contact .wrap .meta {
padding: 5px 0 0 0;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #contacts ul li.contact .wrap .meta {
display: none;
}
}
#frame #sidepanel #contacts ul li.contact .wrap .meta .name {
font-weight: 600;
}
#frame #sidepanel #contacts ul li.contact .wrap .meta .preview {
margin: 5px 0 0 0;
padding: 0 0 1px;
font-weight: 400;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-moz-transition: 1s all ease;
-o-transition: 1s all ease;
-webkit-transition: 1s all ease;
transition: 1s all ease;
}
#frame #sidepanel #contacts ul li.contact .wrap .meta .preview span {
position: initial;
border-radius: initial;
background: none;
border: none;
padding: 0 2px 0 0;
margin: 0 0 0 1px;
opacity: .5;
}
#frame #sidepanel #bottom-bar {
position: absolute;
width: 100%;
bottom: 0;
}
#frame #sidepanel #bottom-bar button {
float: left;
border: none;
width: 50%;
padding: 10px 0;
background: #32465a;
color: #f5f5f5;
cursor: pointer;
font-size: 0.85em;
font-family: "proxima-nova", "Source Sans Pro", sans-serif;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #bottom-bar button {
float: none;
width: 100%;
padding: 15px 0;
}
}
#frame #sidepanel #bottom-bar button:focus {
outline: none;
}
#frame #sidepanel #bottom-bar button:nth-child(1) {
border-right: 1px solid #2c3e50;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #bottom-bar button:nth-child(1) {
border-right: none;
border-bottom: 1px solid #2c3e50;
}
}
#frame #sidepanel #bottom-bar button:hover {
background: #435f7a;
}
#frame #sidepanel #bottom-bar button i {
margin-right: 3px;
font-size: 1em;
}
@media screen and (max-width: 735px) {
#frame #sidepanel #bottom-bar button i {
font-size: 1.3em;
}
}
@media screen and (max-width: 735px) {
#frame #sidepanel #bottom-bar button span {
display: none;
}
}
#frame .content {
float: right;
width: 60%;
height: 100%;
overflow: hidden;
position: relative;
}
@media screen and (max-width: 735px) {
#frame .content {
width: calc(100% - 58px);
min-width: 300px !important;
}
}
@media screen and (min-width: 900px) {
#frame .content {
width: calc(100% - 340px);
}
}
#frame .content .contact-profile {
width: 100%;
height: 60px;
line-height: 60px;
background: #f5f5f5;
}
#frame .content .contact-profile img {
width: 40px;
border-radius: 50%;
float: left;
margin: 9px 12px 0 9px;
}
#frame .content .contact-profile p {
float: left;
}
#frame .content .contact-profile .social-media {
float: right;
}
#frame .content .contact-profile .social-media i {
margin-left: 14px;
cursor: pointer;
}
#frame .content .contact-profile .social-media i:nth-last-child(1) {
margin-right: 20px;
}
#frame .content .contact-profile .social-media i:hover {
color: #435f7a;
}
#frame .content .messages {
height: auto;
min-height: calc(100% - 93px);
max-height: calc(100% - 93px);
overflow-y: scroll;
overflow-x: hidden;
}
@media screen and (max-width: 735px) {
#frame .content .messages {
max-height: calc(100% - 105px);
}
}
#frame .content .messages::-webkit-scrollbar {
width: 8px;
background: transparent;
}
#frame .content .messages::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.3);
}
#frame .content .messages ul li {
display: inline-block;
clear: both;
float: left;
margin: 15px 15px 5px 15px;
width: calc(100% - 25px);
font-size: 0.9em;
}
#frame .content .messages ul li:nth-last-child(1) {
margin-bottom: 20px;
}
#frame .content .messages ul li.sent img {
margin: 6px 8px 0 0;
}
#frame .content .messages ul li.sent p {
background: #435f7a;
color: #f5f5f5;
}
#frame .content .messages ul li.replies img {
float: right;
margin: 6px 0 0 8px;
}
#frame .content .messages ul li.replies p {
background: #f5f5f5;
float: right;
}
#frame .content .messages ul li img {
width: 22px;
border-radius: 50%;
float: left;
}
#frame .content .messages ul li p {
display: inline-block;
padding: 10px 15px;
border-radius: 20px;
max-width: 205px;
line-height: 130%;
}
@media screen and (min-width: 735px) {
#frame .content .messages ul li p {
max-width: 300px;
}
}
#frame .content .message-input {
position: absolute;
bottom: 0;
width: 100%;
z-index: 99;
}
#frame .content .message-input .wrap {
position: relative;
}
#frame .content .message-input .wrap input {
font-family: "proxima-nova", "Source Sans Pro", sans-serif;
float: left;
border: none;
width: calc(100% - 90px);
padding: 11px 32px 10px 8px;
font-size: 0.8em;
color: #32465a;
}
@media screen and (max-width: 735px) {
#frame .content .message-input .wrap input {
padding: 15px 32px 16px 8px;
}
}
#frame .content .message-input .wrap input:focus {
outline: none;
}
#frame .content .message-input .wrap .attachment {
position: absolute;
right: 60px;
z-index: 4;
margin-top: 10px;
font-size: 1.1em;
color: #435f7a;
opacity: .5;
cursor: pointer;
}
@media screen and (max-width: 735px) {
#frame .content .message-input .wrap .attachment {
margin-top: 17px;
right: 65px;
}
}
#frame .content .message-input .wrap .attachment:hover {
opacity: 1;
}
#frame .content .message-input .wrap button {
float: right;
border: none;
width: 50px;
padding: 12px 0;
cursor: pointer;
background: #32465a;
color: #f5f5f5;
}
@media screen and (max-width: 735px) {
#frame .content .message-input .wrap button {
padding: 16px 0;
}
}
#frame .content .message-input .wrap button:hover {
background: #435f7a;
}
#frame .content .message-input .wrap button:focus {
outline: none;
}
ol, ul {
list-style: none;
}
.fa {
display: inline-block;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
font: normal normal normal normal normal normal normal 1 FontAwesome;
}
#frame .content .message-input .wrap .attachment {
position: absolute;
right: 60px;
z-index: 4;
margin-top: 10px;
font-size: 1.1em;
color: #435f7a;
opacity: .5;
cursor: pointer;
}
#frame .content .message-input .wrap button {
float: right;
border: none;
width: 50px;
padding: 12px 0;
cursor: pointer;
background: #32465a;
color: #f5f5f5;
}
.isTyping {
font-size:12px;
}
.badge-notify {
background: red;
position: relative;
top: -20px;
left: -35px;
}
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: 12px;
font-weight: 700;
color: #fff;
line-height: 1;
vertical-align: baseline;
white-space: nowrap;
text-align: center;
background-color: #999;
border-radius: 10px;
}

View File

@ -0,0 +1,73 @@
--
-- Table structure for table `chat_users`
--
CREATE TABLE `chat_users` (
`userid` int(11) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`avatar` varchar(255) NOT NULL,
`current_session` int(11) NOT NULL,
`online` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
--
-- Dumping data for table `chat_users`
--
INSERT INTO `chat_users` (`userid`, `username`, `password`, `avatar`, `current_session`, `online`) VALUES
(1, '이성노', '761127', 'user1.jpg', 3, 1),
(2, '이윤영', '820316', 'user2.jpg', 1, 0),
(3, '이윤서', '081111', 'user3.jpg', 1, 1),
(4, '이은지', '010127', 'user4.jpg', 0, 0),
(5, 'katrina', '123', 'user5.jpg', 0, 0),
(6, 'Rhodes', '123', 'user6.jpg', 0, 0);
--
-- Indexes for table `chat_users`
--
ALTER TABLE `chat_users`
ADD PRIMARY KEY (`userid`);
--
-- Table structure for table `chat`
--
CREATE TABLE `chat` (
`chatid` int(11) NOT NULL,
`sender_userid` int(11) NOT NULL,
`reciever_userid` int(11) NOT NULL,
`message` text NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`status` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
--
-- Indexes for table `chat`
--
ALTER TABLE `chat`
ADD PRIMARY KEY (`chatid`);
--
-- Table structure for table `chat_login_details`
--
CREATE TABLE `chat_login_details` (
`id` int(11) NOT NULL,
`userid` int(11) NOT NULL,
`last_activity` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`is_typing` enum('no','yes') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
--
-- Indexes for table `chat_login_details`
--
ALTER TABLE `chat_login_details`
ADD PRIMARY KEY (`id`);

View File

@ -0,0 +1,6 @@
<div class="insert-post-ads1" style="margin-top:20px;">
</div>
</div>
</body></html>

View File

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- jQuery -->

View File

@ -0,0 +1,131 @@
<?php
error_reporting( E_ALL );
ini_set( "display_errors", 1 );
?>
<?php
session_start();
include('./header.php');
?>
<title></title>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.2/css/font-awesome.min.css'>
<link href="css/style.css" rel="stylesheet" id="bootstrap-css">
<script src="js/chat.js"></script>
<style>
.modal-dialog {
width: 400px;
margin: 30px auto;
}
</style>
<?php include('container.php'); var_dump($_SESSION);?>
<div class="container">
<br>
<?php if(isset($_SESSION['userid']) && $_SESSION['userid']) { ?>
<div class="chat">
<div id="frame">
<div id="sidepanel">
<div id="profile">
<?php
include ('Chat.php');
$chat = new Chat();
$loggedUser = $chat->getUserDetails($_SESSION['userid']);
echo '<div class="wrap">';
$currentSession = '';
foreach ($loggedUser as $user) {
$currentSession = $user['current_session'];
echo '<img id="profile-img" src="userpics/'.$user['avatar'].'" class="online" alt="" />';
echo '<p>'.$user['username'].'</p>';
echo '<i class="fa fa-chevron-down expand-button" aria-hidden="true"></i>';
echo '<div id="status-options">';
echo '<ul>';
echo '<li id="status-online" class="active"><span class="status-circle"></span> <p>Online</p></li>';
echo '<li id="status-away"><span class="status-circle"></span> <p>Away</p></li>';
echo '<li id="status-busy"><span class="status-circle"></span> <p>Busy</p></li>';
echo '<li id="status-offline"><span class="status-circle"></span> <p>Offline</p></li>';
echo '</ul>';
echo '</div>';
echo '<div id="expanded">';
echo '<a href="logout.php">Logout</a>';
echo '</div>';
}
echo '</div>';
?>
</div>
<div id="search">
<label for=""><i class="fa fa-search" aria-hidden="true"></i></label>
<input type="text" placeholder="Search contacts..." />
</div>
<div id="contacts">
<?php
echo '<ul>';
$chatUsers = $chat->chatUsers($_SESSION['userid']);
foreach ($chatUsers as $user) {
$status = 'offline';
if($user['online']) {
$status = 'online';
}
$activeUser = '';
if($user['userid'] == $currentSession) {
$activeUser = "active";
}
echo '<li id="'.$user['userid'].'" class="contact '.$activeUser.'" data-touserid="'.$user['userid'].'" data-tousername="'.$user['username'].'">';
echo '<div class="wrap">';
echo '<span id="status_'.$user['userid'].'" class="contact-status '.$status.'"></span>';
echo '<img src="userpics/'.$user['avatar'].'" alt="" />';
echo '<div class="meta">';
echo '<p class="name">'.$user['username'].'<span id="unread_'.$user['userid'].'" class="unread">'.$chat->getUnreadMessageCount($user['userid'], $_SESSION['userid']).'</span></p>';
echo '<p class="preview"><span id="isTyping_'.$user['userid'].'" class="isTyping"></span></p>';
echo '</div>';
echo '</div>';
echo '</li>';
}
echo '</ul>';
?>
</div>
<div id="bottom-bar">
<button id="addcontact"><i class="fa fa-user-plus fa-fw" aria-hidden="true"></i> <span>Add contact</span></button>
<button id="settings"><i class="fa fa-cog fa-fw" aria-hidden="true"></i> <span>Settings</span></button>
</div>
</div>
<div class="content" id="content">
<div class="contact-profile" id="userSection">
<?php
$userDetails = $chat->getUserDetails($currentSession);
foreach ($userDetails as $user) {
echo '<img src="userpics/'.$user['avatar'].'" alt="" />';
echo '<p>'.$user['username'].'</p>';
echo '<div class="social-media">';
echo '<i class="fa fa-facebook" aria-hidden="true"></i>';
echo '<i class="fa fa-twitter" aria-hidden="true"></i>';
echo '<i class="fa fa-instagram" aria-hidden="true"></i>';
echo '</div>';
}
?>
</div>
<div class="messages" id="conversation">
<?php
echo $chat->getUserChat($_SESSION['userid'], $currentSession);
?>
</div>
<div class="message-input" id="replySection">
<div class="message-input" id="replyContainer">
<div class="wrap">
<input type="text" class="chatMessage" id="chatMessage<?php echo $currentSession; ?>" placeholder="Write your message..." />
<button class="submit chatButton" id="chatButton<?php echo $currentSession; ?>"><i class="fa fa-paper-plane" aria-hidden="true"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
<?php } else { echo("<script>location.replace('login.php');</script>"); ?>
<br>
<br>
<strong><a href="login.php"><h3>Login To Access Chat System</h3></a></strong>
<?php } ?>
<br>
<br>
<div style="margin:50px 0px 0px 0px;">
<a class="btn btn-default read-more" style="background:#3399ff;color:white" href="http://www.phpzag.com/build-live-chat-system-with-ajax-php-mysql/">Back to Tutorial</a>
</div>
</div>
<?php include('./footer.php');?>

View File

@ -0,0 +1,171 @@
$(document).ready(function(){
setInterval(function(){
updateUserList();
updateUnreadMessageCount();
}, 60000);
setInterval(function(){
showTypingStatus();
updateUserChat();
}, 5000);
$(".messages").animate({
scrollTop: $(document).height()
}, "fast");
$(document).on("click", '#profile-img', function(event) {
$("#status-options").toggleClass("active");
});
$(document).on("click", '.expand-button', function(event) {
$("#profile").toggleClass("expanded");
$("#contacts").toggleClass("expanded");
});
$(document).on("click", '#status-options ul li', function(event) {
$("#profile-img").removeClass();
$("#status-online").removeClass("active");
$("#status-away").removeClass("active");
$("#status-busy").removeClass("active");
$("#status-offline").removeClass("active");
$(this).addClass("active");
if($("#status-online").hasClass("active")) {
$("#profile-img").addClass("online");
} else if ($("#status-away").hasClass("active")) {
$("#profile-img").addClass("away");
} else if ($("#status-busy").hasClass("active")) {
$("#profile-img").addClass("busy");
} else if ($("#status-offline").hasClass("active")) {
$("#profile-img").addClass("offline");
} else {
$("#profile-img").removeClass();
};
$("#status-options").removeClass("active");
});
$(document).on('click', '.contact', function(){
$('.contact').removeClass('active');
$(this).addClass('active');
var to_user_id = $(this).data('touserid');
showUserChat(to_user_id);
$(".chatMessage").attr('id', 'chatMessage'+to_user_id);
$(".chatButton").attr('id', 'chatButton'+to_user_id);
});
$(document).on("click", '.submit', function(event) {
var to_user_id = $(this).attr('id');
to_user_id = to_user_id.replace(/chatButton/g, "");
sendMessage(to_user_id);
});
$(document).on('focus', '.message-input', function(){
var is_type = 'yes';
$.ajax({
url:"chat_action.php",
method:"POST",
data:{is_type:is_type, action:'update_typing_status'},
success:function(){
}
});
});
$(document).on('blur', '.message-input', function(){
var is_type = 'no';
$.ajax({
url:"chat_action.php",
method:"POST",
data:{is_type:is_type, action:'update_typing_status'},
success:function() {
}
});
});
});
function updateUserList() {
$.ajax({
url:"chat_action.php",
method:"POST",
dataType: "json",
data:{action:'update_user_list'},
success:function(response){
var obj = response.profileHTML;
Object.keys(obj).forEach(function(key) {
// update user online/offline status
if($("#"+obj[key].userid).length) {
if(obj[key].online == 1 && !$("#status_"+obj[key].userid).hasClass('online')) {
$("#status_"+obj[key].userid).addClass('online');
} else if(obj[key].online == 0){
$("#status_"+obj[key].userid).removeClass('online');
}
}
});
}
});
}
function sendMessage(to_user_id) {
message = $(".message-input input").val();
$('.message-input input').val('');
if($.trim(message) == '') {
return false;
}
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, chat_message:message, action:'insert_chat'},
dataType: "json",
success:function(response) {
var resp = $.parseJSON(response);
$('#conversation').html(resp.conversation);
$(".messages").animate({ scrollTop: $('.messages').height() }, "fast");
},
});
}
function showUserChat(to_user_id){
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'show_chat'},
dataType: "json",
success:function(response){
$('#userSection').html(response.userSection);
$('#conversation').html(response.conversation);
$('#unread_'+to_user_id).html('');
}
});
}
function updateUserChat() {
$('li.contact.active').each(function(){
var to_user_id = $(this).attr('data-touserid');
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'update_user_chat'},
dataType: "json",
success:function(response){
$('#conversation').html(response.conversation);
}
});
});
}
function updateUnreadMessageCount() {
$('li.contact').each(function(){
if(!$(this).hasClass('active')) {
var to_user_id = $(this).attr('data-touserid');
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'update_unread_message'},
dataType: "json",
success:function(response){
if(response.count) {
$('#unread_'+to_user_id).html(response.count);
}
}
});
}
});
}
function showTypingStatus() {
$('li.contact.active').each(function(){
var to_user_id = $(this).attr('data-touserid');
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'show_typing_status'},
dataType: "json",
success:function(response){
$('#isTyping_'+to_user_id).html(response.message);
}
});
});
}

View File

@ -0,0 +1,66 @@
<?php
error_reporting( 1 );
ini_set( "display_errors", 1 );
?>
<?php
SESSION_START();
include('./header.php');
$loginError = '';
if (!empty($_POST['username']) && !empty($_POST['pwd'])) {
include ('Chat.php');
$chat = new Chat();
$user = $chat->loginUsers($_POST['username'], $_POST['pwd']);
//var_Dump($user);
if(!empty($user)) {
$_SESSION['username'] = $user[0]['username'];
$_SESSION['userid'] = $user[0]['userid'];
$chat->updateUserOnline($user[0]['userid'], 1);
$lastInsertId = $chat->insertUserLoginDetails($user[0]['userid']);
$_SESSION['login_details_id'] = $lastInsertId;
header("Location:index.php");
} else {
$loginError = "Invalid username or password!";
}
}
?>
<title>Home</title>
<?php include('./container.php');?>
<div class="container">
<div class="row">
<div class="col-sm-12">
<h4>Chat Login:</h4>
<form method="post">
<div class="form-group">
<?php if ($loginError ) { ?>
<div class="alert alert-warning"><?php echo $loginError; ?></div>
<?php } ?>
</div>
<div class="form-group">
<label for="username">User:</label>
<select type="username" class="form-control input-lg" name="username" required>
<option value="1">이성노</option>>
<option value="2">이윤영</option>>
<option value="3">이윤서</option>>
<option value="4">이은지</option>>
</select>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control input-lg" name="pwd" required>
</div>
<button type="submit" name="login" class="btn btn-info btn-lg">Login</button>
</form>
</div>
</div>
</div>
<?php include('./footer.php');?>

View File

@ -0,0 +1,16 @@
<?php
SESSION_START();
include ('Chat.php');
$chat = new Chat();
$chat->updateUserOnline($_SESSION['userid'], 0);
$_SESSION['username'] = "";
$_SESSION['userid'] = "";
$_SESSION['login_details_id']= "";
header("Location:index.php");
?>

View File

@ -0,0 +1,2 @@
<?php
phpinfo();

View File

@ -0,0 +1,150 @@
<?php
$host = 'localhost'; //host
$port = '9000'; //port
$null = NULL; //null var
//Create TCP/IP sream socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//reuseable port
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
//bind socket to specified host
socket_bind($socket, 0, $port);
//listen to port
socket_listen($socket);
//create & add listning socket to the list
$clients = array($socket);
//start endless loop, so that our script doesn't stop
while (true) {
//manage multipal connections
$changed = $clients;
//returns the socket resources in $changed array
socket_select($changed, $null, $null, 0, 10);
//check for new socket
if (in_array($socket, $changed)) {
$socket_new = socket_accept($socket); //accpet new socket
$clients[] = $socket_new; //add socket to client array
$header = socket_read($socket_new, 1024); //read data sent by the socket
perform_handshaking($header, $socket_new, $host, $port); //perform websocket handshake
socket_getpeername($socket_new, $ip); //get ip address of connected socket
$response = mask(json_encode(array('type'=>'system', 'message'=>$ip.' connected'))); //prepare json data
send_message($response); //notify all users about new connection
//make room for new socket
$found_socket = array_search($socket, $changed);
unset($changed[$found_socket]);
}
//loop through all connected sockets
foreach ($changed as $changed_socket) {
//check for any incomming data
while(socket_recv($changed_socket, $buf, 1024, 0) >= 1)
{
$received_text = unmask($buf); //unmask data
$tst_msg = json_decode($received_text, true); //json decode
$user_name = $tst_msg['name']; //sender name
$user_message = $tst_msg['message']; //message text
$user_color = $tst_msg['color']; //color
//prepare data to be sent to client
$response_text = mask(json_encode(array('type'=>'usermsg', 'name'=>$user_name, 'message'=>$user_message, 'color'=>$user_color)));
send_message($response_text); //send data
break 2; //exist this loop
}
$buf = @socket_read($changed_socket, 1024, PHP_NORMAL_READ);
if ($buf === false) { // check disconnected client
// remove client for $clients array
$found_socket = array_search($changed_socket, $clients);
socket_getpeername($changed_socket, $ip);
unset($clients[$found_socket]);
//notify all users about disconnected connection
$response = mask(json_encode(array('type'=>'system', 'message'=>$ip.' disconnected')));
send_message($response);
}
}
}
// close the listening socket
socket_close($socket);
function send_message($msg)
{
global $clients;
foreach($clients as $changed_socket)
{
@socket_write($changed_socket,$msg,strlen($msg));
}
return true;
}
//Unmask incoming framed message
function unmask($text) {
$length = ord($text[1]) & 127;
if($length == 126) {
$masks = substr($text, 4, 4);
$data = substr($text, 8);
}
elseif($length == 127) {
$masks = substr($text, 10, 4);
$data = substr($text, 14);
}
else {
$masks = substr($text, 2, 4);
$data = substr($text, 6);
}
$text = "";
for ($i = 0; $i < strlen($data); ++$i) {
$text .= $data[$i] ^ $masks[$i%4];
}
return $text;
}
//Encode message for transfer to client.
function mask($text)
{
$b1 = 0x80 | (0x1 & 0x0f);
$length = strlen($text);
if($length <= 125)
$header = pack('CC', $b1, $length);
elseif($length > 125 && $length < 65536)
$header = pack('CCn', $b1, 126, $length);
elseif($length >= 65536)
$header = pack('CCNN', $b1, 127, $length);
return $header.$text;
}
//handshake new client.
function perform_handshaking($receved_header,$client_conn, $host, $port)
{
$headers = array();
$lines = preg_split("/\r\n/", $receved_header);
foreach($lines as $line)
{
$line = chop($line);
if(preg_match('/\A(\S+): (.*)\z/', $line, $matches))
{
$headers[$matches[1]] = $matches[2];
}
}
$secKey = $headers['Sec-WebSocket-Key'];
$secAccept = base64_encode(pack('H*', sha1($secKey . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11')));
//hand shaking header
$upgrade = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" .
"Upgrade: websocket\r\n" .
"Connection: Upgrade\r\n" .
"WebSocket-Origin: $host\r\n" .
"WebSocket-Location: ws://$host:$port/demo/shout.php\r\n".
"Sec-WebSocket-Accept:$secAccept\r\n\r\n";
socket_write($client_conn,$upgrade,strlen($upgrade));
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB