
    ht              
          d dl mZmZmZmZ d dlmZ d dl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Z e            Z ed	
          Z e e                      Ze                    d           ed           ed           ed           ee          fdedededefd            Ze                    d          d ee          fdededefd            ZdS )    )	APIRouterRequestDependsForm)Jinja2Templates)RedirectResponse)
open_mysqlget_mysql_credsget_pingconf_vars)get_current_user)	xor_bytes)HTTP_303_SEE_OTHERNz"/wd/v2025.freedom4um.com/templates)	directoryz/mailcomposett. to_listsubjectCommentcurrent_userc                    |sddiS |d         }d |                      d          D             }t          |                    d                    }t          |                    d                    }t          t                    5 }|                    d          }	|rtd                    d	gt          |          z            }
|	                    d
|
 d|           |		                                }d                    d |D                       }nd}d}|	                    |||||f           |
                                 |	j        }d}|	                    |||df           |D ]}|	                    |||df           |
                                 d d d            n# 1 swxY w Y   d}t          |t                    S )NerrorUnauthorizedHandleIDc                 x    g | ]7}|                                                                 (t          |          8S  )stripisdigitint).0xs     0/wd/v2025.freedom4um.com/routes/mailcomposett.py
<listcomp>z&mailcomposett_post.<locals>.<listcomp>   s7    HHHAGGII4E4E4G4GHc!ffHHH    ,utf-8T
dictionary%sz.SELECT Handle FROM Handles WHERE HandleID IN ()c                     g | ]
}|d          S )Handler   )r   rs     r    r!   z&mailcomposett_post.<locals>.<listcomp>%   s    @@@(@@@r"   r   z
            INSERT INTO PrivateMail (FromHandleID, ToLine, PostDate, Subject, MailBodyBlob)
            VALUES (%s, %s, NOW(), %s, %s)
        z
            INSERT INTO PrivateMailPing (PMailNum, ToHandleID, MailStatus, Folder)
            VALUES (%s, %s, 'N', %s)
        SIz/maillist?folder=S)urlstatus_code)splitr   encoder	   mysql_credscursorjoinlenexecutefetchallcommit	lastrowidr   r   )r   r   r   r   	sender_idto_idsencoded_bodyencoded_subjectconnr3   placeholders
recipientsto_linesql_mailnew_pmail_numsql_pingto_idredirect_urls                     r    mailcomposett_postrG      s     )((Z(IHHgmmC00HHHFW^^G4455Lw 7 788O	K	 	  !D--  	88TFS[[$899LNN[L[[[]cddd**Jhh@@Z@@@AAGGG 	x)Wo|!TUUU( 	x-C!@AAA  	B 	BENN8mUC%@AAAAC! ! ! ! ! ! ! ! ! ! ! ! ! ! !F )L:LMMMMs   DF%%F),F)requestPMNc           	      "   |st          d          S d }g }|rWt          t                    5 }|                    d          }|                    d|f           |                                }|r|                    d|f           d |                                D             }|d         |vr-|d         |d         k    rt          d          cd d d            S |r^d	                    d
gt          |          z            }	|                    d|	 d|           d |                                D             }t          |d         pd          
                    dd          }
g d}g dg dd}t          j        |
||d          |d<   |                    d|d         f           |                                }|r|d         nd|d<   t          |                    d                    pd}|
                    dd          }|                    d          sd|z   }t          j        |g dd           |d<   d!|d"<   |}t          |           d d d            n# 1 swxY w Y   t                               d#| ||||d$          S )%Nz/signinTr%   z
                SELECT PMailNum, FromHandleID, ToLine, PostDate, Subject, MailBodyBlob
                FROM PrivateMail
                WHERE PMailNum = %s
            zCSELECT DISTINCT ToHandleID FROM PrivateMailPing WHERE PMailNum = %sc                     g | ]
}|d          S )
ToHandleIDr   r   rows     r    r!   z%mailcomposett_get.<locals>.<listcomp>[   s    III#l+IIIr"   r   FromHandleIDr#   r'   z8SELECT HandleID, Handle FROM Handles WHERE HandleID IN (r(   c                 0    g | ]}|d          |d         dS )r   r*   )r   Namer   rM   s     r    r!   z%mailcomposett_get.<locals>.<listcomp>d   s)    rrrY\S_c(m T Trrrr"   MailBodyBlobr"   r$   replace)errors)biubrpimgiframe)srcalttitle)r\   widthheightframeborderallowfullscreen)rZ   r[   )tags
attributesr   z6SELECT Handle AS Name FROM Handles WHERE HandleID = %srQ   UnknownFromNameSubjectzRe:zRe: )rU   rV   rW   )rc   r   private_mailtypezmailcomposett.html)rH   r   context_item	pmail_numto_users)r   r	   r2   r3   r6   fetchoner7   r4   r5   r   decodebleachcleanget
startswithprint	templatesTemplateResponse)rH   rI   r   rj   rl   r>   r3   mailr;   r?   	body_textallowed_tagsallowed_attrsfrom_rowsubject_bytessubject_texts                   r    mailcomposett_getr}   D   sd    +	***LH
 7$$ 6	[[D[11F NN  	  
 ??$$D +dgjflmmmIIv7H7HIII
+699l:>VZ^_mZn>n>n+I66#6	 6	 6	 6	 6	 6	 6	 6	(  s#&88TFS[[,@#A#ALNN#m^j#m#m#mouvvvrr`f`o`o`q`qrrrH &d>&:&AcBBII'ZcIdd	JJJ222ZZZ! ! (.|%,	( ( (^$ WZ^_mZnYpqqq!??,,7?#N8F#3#3YZ  !*$((9*=*= > > E#,33GI3NN#..u55 9#)L#8L"(,|///Y]"^"^"^Y-V#dm6	 6	 6	 6	 6	 6	 6	 6	 6	 6	 6	 6	 6	 6	 6	p %%(( 	
 	
	 	 	s   B$I%E;I%%I),I))fastapir   r   r   r   fastapi.templatingr   fastapi.responsesr   utils.pingdatar	   r
   r   
utils.authr   	utils.xorr   starlette.statusr   ro   routerrt   r2   poststrdictrG   rq   r   r}   r   r"   r    <module>r      s   5 5 5 5 5 5 5 5 5 5 5 5 . . . . . . . . . . . . I I I I I I I I I I ' ' ' ' ' '       / / / / / / 	O&JKKK	o//1122499488499 !122	2N 2N2N2N 2N 	2N 2N 2N 2Nj 37ggVfNgNg I Iw IS It I I I I I Ir"   