
    ~Oi                     .   d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ  ed	d
g          Z ed          Z e e                      Z eeddge
          e                    d	          d ee           ee          fdededefd                        Ze                    de
           ed           ed           ed           ee          fdedededee          fd            Z!dS )    )	APIRouterRequestFormDependsHTTPException)Jinja2Templates)RedirectResponseHTMLResponse)
open_mysqlget_mysql_credsget_pingconf_vars)get_current_user)	xor_bytes)nav_context)add_dual_routez	/maillistmaillist)prefixtags	templates)	directory GET)methodsresponse_classIrequestfoldercurrent_userc           
         |st          d          S |d         }g }t          t                    5 }|                    d          }|dk    r,|                    d|f           |                                }nc|dk    r,|                    d|f           |                                }n1|d	k    r+|                    d
|f           |                                }d d d            n# 1 swxY w Y   t          t                    5 }|                    d          }|D ]}|                    d          pd}	t          |	t                    r|		                    d          }	t          |	                              dd          |d<   |                    d          pd}
t          |
t                    r|
	                    d          }
	 t          |
                              d          |d<   # t          $ r d|d<   Y w xY w	 d d d            n# 1 swxY w Y   dddd                    |d          }t                              d| ||t          |          ||d|          S )Nz/signinHandleIDT)
dictionaryr   a  
                SELECT p.PMailNum, p.FromHandleID, h.Handle AS FromName,
                       p.Subject, p.PostDate, pp.MailStatus, p.ToLine
                FROM PrivateMail p
                JOIN PrivateMailPing pp ON pp.PMailNum = p.PMailNum
                JOIN Handles h ON p.FromHandleID = h.HandleID
                WHERE pp.ToHandleID = %s AND pp.Folder = 'I'
                ORDER BY p.PMailNum DESC
            Sa  
                SELECT p.PMailNum, p.FromHandleID, h.Handle AS FromName,
                       p.Subject, p.PostDate, p.ToLine
                FROM PrivateMail p
                JOIN PrivateMailPing pp ON pp.PMailNum = p.PMailNum
                JOIN Handles h ON p.FromHandleID = h.HandleID
                WHERE pp.ToHandleID = %s AND pp.Folder = 'S'
                ORDER BY p.PMailNum DESC
            Aa  
                SELECT p.PMailNum, p.FromHandleID, h.Handle AS FromName,
                       p.Subject, p.PostDate, MailStatus, p.ToLine
                FROM PrivateMail p
                JOIN PrivateMailPing pp ON pp.PMailNum = p.PMailNum
                JOIN Handles h ON p.FromHandleID = h.HandleID
                WHERE pp.ToHandleID = %s AND pp.Folder = 'A'
                ORDER BY p.PMailNum DESC
            ToLine    zutf-8replace)errorsToNamesSubjectz(Unreadable Subject)Inboxz	Sent MailArchive)r   r"   r#   zmaillist.html)r   r   messagesmessage_countfolder_codefolder_title)r	   r   mysql_credscursorexecutefetchallget
isinstancestrencoder   decodeUnicodeDecodeErrorr   TemplateResponselen)r   r   r   nav	handle_idr,   connr1   msgto_linesubjr/   s               +/wd/v2025.freedom4um.com/routes/maillist.pyr   r      s0     +	***Z(IH	K	 	  ()D-- S==NN     ((HH s]]NN     ((HH s]]NN     ((HQ() () () () () () () () () () () () () () ()V 
K	 	  8D-- 	8 	8Cggh''.3G'3'' 2!..11&w//66wy6QQC	N779%%,D$$$ ,{{7++8!*4!7!7!@!@I% 8 8 8!7I8	88 8 8 8 8 8 8 8 8 8 8 8 8 8 86 !{CCGGPWXXL%%(  ]]!(	
 	
 	
  sI   B,C((C,/C,CH%G21H2HHHHHH)r   .actionselected_messagesc                   K   |st          dd          t          t                    5 }|                                }d                    dgt          |          z            }d| d}|                    |g ||d         R            d	 |                                D             }	t          |          	                    |	          st          d
d          |dk    r*d| d}
|                    |
g ||d         |R            nA|dk    r*d| d}|                    |g ||d         |R            nt          dd          |
                                 d d d            n# 1 swxY w Y   d| }t          |d          S )Ni  zNot authenticated)status_codedetail,z%szQ
            SELECT PMailNum FROM PrivateMailPing
            WHERE PMailNum IN (z) AND ToHandleID = %s
        idc                     h | ]
}|d          S )r    ).0rows     rB   	<setcomp>z&handle_mail_actions.<locals>.<setcomp>   s    :::c!f:::r%   i  zForbidden: Invalid message IDsarchivezl
                UPDATE PrivateMailPing
                SET Folder = 'A'
                WHERE PMailNum IN (z1) AND ToHandleID = %s AND Folder= %s
            deletezP
                DELETE FROM PrivateMailPing
                WHERE PMailNum IN (i  zInvalid actionz/maillist?folder=i/  )urlrF   )r   r   r0   r1   joinr;   r2   r3   setissubsetcommitr	   )r   r   rC   rD   userr>   r1   placeholderssql
valid_msgs
update_sql
delete_sqlredirect_urls                rB   handle_mail_actionsr]   o   s8       I4GHHHH 
K	 	  Dxx->)?)? ?@@ ,   	s</<d<<===::(9(9:::
$%%..z:: 	ZC8XYYYYY %1  J
 NN:'O):'ODJ'O'O'OPPPPx$0  J NN:'O):'ODJ'O'O'OPPPPC8HIIII=              B 0v//L#>>>>s   D8E..E25E2N)"fastapir   r   r   r   r   fastapi.templatingr   fastapi.responsesr	   r
   utils.pingdatar   r   r   
utils.authr   	utils.xorr   	utils.navr   utils.routesr   routerr   r0   r4   r6   dictr   postlistintr]   rK   r%   rB   <module>rk      s)   D D D D D D D D D D D D D D . . . . . . < < < < < < < < I I I I I I I I I I ' ' ' ' ' '       ! ! ! ! ! ! ' ' ' ' ' '	+ZL	9	9	9Ok222	o//1122 UGLIIIK-0wwO_G`G`fmfmnyfzfz Z Zg Zs Z Z Z Z  JIZz R-- $s))$s))#'499	!	"	"-? -?-?-? -? Cy	-? -? -? .--? -? -?r%   