рдкрд░рд┐рдЪрдп
рдореБрдЭреЗ рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдореЗрдВ рдПрдХ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХреА рд╡рд┐рднрд┐рдиреНрди рд╢рд╣рд░реЛрдВ рдореЗрдВ 10 рд╕реЗ рдЕрдзрд┐рдХ рд╢рд╛рдЦрд╛рдПрдБ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЕрд╕реНрдерд┐рд░ рдФрд░ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЪреИрдирд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ред рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдХрдВрдкрдиреА рдореЗрдВ рд╕реВрдЪрдирд╛ рд╡рд┐рдирд┐рдордп рдХрд╛ рдЖрдзрд╛рд░ рдИрдореЗрд▓ рдерд╛ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ, рдкреНрд░рдзрд╛рди рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ, рдПрдХ рдореЗрд▓ рд╕рд░реНрд╡рд░ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╢рд╛рд╕рдХ рджреНрд╡рд╛рд░рд╛ рдореЗрд▓ рдЦрд╛рддреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдореЗрд▓ рд╕рд░реНрд╡рд░ FreeBSD + Postfix + SpamAssassin + amavisd-new + Courier-IMAP рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред
рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдкрдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдИрдореЗрд▓ рдкрддреЗ рдХреА рдПрдХ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ, рдФрд░ рдорд╛рдзреНрдпрдорд┐рдХ рдореБрдЦреНрдп рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдИрдореЗрд▓ рдкрддреЗ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╢рд╛рдЦрд╛ рдХреЛ рдкрддреНрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдВрдкрдиреА рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдкрддрд╛ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЪреИрдирд▓ рдЕрд╕реНрдерд┐рд░ рд╣реИрдВ, рдЕрдХреНрд╕рд░ "рдЧрд┐рд░рд╛рд╡рдЯ" рд╣реЛрддреА рд╣реИ, рдЙрдирдХреА рдЧрддрд┐ рдЖрдорддреМрд░ рдкрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ рдЖрдкрдХреЛ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдЗрддрд┐рд╣рд╛рд╕
рдореЗрд▓ рдЯреЛрдкреЛрд▓реЙрдЬреА, рдпрджрд┐ рдЖрдк рдХрдВрдкрдиреА рдХреЗ рдореЗрд▓ рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд░рд┐рд╢реНрддреЗ рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╕реНрдЯрд╛рд░ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдкрд╛рд░рдЧрдорди рд╕рд░реНрд╡рд░ рд╣реИ, рдЬреЛ рдмрд╛рд╣рд░ рд╕реЗ рд╕реБрд▓рдн рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкрдиреА рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдФрд░ рд╕рд╛рде рд╣реА рдХрдВрдкрдиреА рдФрд░ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдореЗрд▓ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡рд╛рдпрд░рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдмрд╛рд╣рд░ рд╕реЗ рднреА рд╕реНрдкреИрдо рд╣реИрдВред рд╕рд░реНрд╡рд░ рдкрд░ рдХреЛрдИ рдореЗрд▓рдмреЙрдХреНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╣ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдПрд╕рдПрдордЯреАрдкреА рд░рд┐рд▓реЗ рд╣реИред
рд╢реЗрд╖ рд╕рд░реНрд╡рд░ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╢рд╛рдЦрд╛ рдХрд╛рд░реНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рдФрд░ рдПрдХ рдкреНрд░рдзрд╛рди рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрдирдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдПрдВрдб-рдпреВрдЬрд╝рд░ рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рд╣реИред
рд╕рднреА рд╕рд░реНрд╡рд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдВрд╕реНрдХрд░рдг 7.x - 8.x рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕рдПрдордЯреАрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреВрд░рд┐рдпрд░-рдЖрдИрдПрдордПрдкреА рдХреЛ рдкреАрдУрдкреА 3 / рдЖрдИрдПрдордПрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрд▓ рдЦрд╛рддреЗ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдиреАрдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ PHP рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ, 2005 рдореЗрдВ рдореЗрд░рд╛ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рд╡рд┐рдХрд╛рд╕ рд╣реБрдЖред PHP 4 рдореЗрдВ, рд╣реЗрдб рдСрдлрд┐рд╕ рдореЗрдВ, AJAX рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реБрдВрджрд░ Yii рдПрдкреНрд▓рд┐рдХреЗрд╢рдиред рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдирд┐рд░реНрдгрдп
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ HTML рдкреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрджреНрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдИрдореЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдереАред рд╕рдордп рдХреЗ рд╕рд╛рде, рдпрд╣ рдирд┐рд░реНрдгрдп рдорд╣рддреНрд╡ рдХреЗ рдШрдЯрддреЗ рдХреНрд░рдо рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдореБрдЭреЗ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЧрдпрд╛:
- рд╕реНрдкреИрдорд░реНрд╕ред рд▓реЛрдЧ рд╕рд░рд▓ рдФрд░ рдЖрд▓рд╕реА рд╣реИрдВ, рдХрдВрдкрдиреА рдореЗрдВ рдмрд╣реБрдд рд╕реЗ, рдЬрдм рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдкреГрд╖реНрда рдХреЛ рдмрдЪрд╛рдпрд╛ рдФрд░ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ред рдИрдореЗрд▓ рдкрддреЗ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрджреНрднреБрдд рдЧрддрд┐ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛
- рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ред рдХреНрд░реЛрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдкрд░ рджрд┐рди рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рдереА, рдлрд┐рд░ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░, рдХреНрд░реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рдерд╛ рдФрд░ рдмрд╣реБрдд HTML рдкреГрд╖реНрда рдХрд╛ рдЧрдарди рдХрд░рддрд╛ рдерд╛ред рдпрджрд┐ рдХреЛрдИ рдЪреИрдирд▓ рдирд╣реАрдВ рдерд╛, рддреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдЧрд▓реА рд░рд╛рдд рд╕рдВрдЪрд╛рд░ рдХреА рдХрдореА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд┐рдЫрд▓реА рдХреЙрдкреА рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдЦрд╛ рд╕реНрдерд╛рди рдкрд░ рдЕрдВрддрд░рд╛рд▓ рд╣реЛ рдЧрдпрд╛ред рдмреЗрд╢рдХ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╣реЛрд╢рд┐рдпрд╛рд░ рд╣реЛ рдЧрдИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рд╕реБрдВрджрд░ рдирд╣реАрдВ рдерд╛ред
- рд╕реБрд╡рд┐рдзрд╛ред рдпрд╣ рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╣реВрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдореБрдЭреЗ рдорд╕реНрдЬрд┐рдж рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдврд╝ рд░рд╣реА рдереА, рдЦреЗрддреЛрдВ рдХреЛ рдШрд░реЗрд▓реВ рдФрд░ рд╢рд╣рд░ рдХреЗ рдЯреЗрд▓реАрдлреЛрди рдирдВрдмрд░, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкрджреЛрдВ, рдЗрдХрд╛рдЗрдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпрд╛рд▓рдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рднрд░рд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдерд╛ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рднреА рдПрдХ рдЯреЗрд▓реАрдлреЛрди рдмрди рдЧрдИред рдРрд╕реА рд╕реВрдЪреА рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЧрдпрд╛ред рдзреАрдореА рдЪреИрдирд▓реЛрдВ рд╡рд╛рд▓реА рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ, рдЗрд╕рдХреА рд▓реЛрдбрд┐рдВрдЧ рд▓рдВрдмреА рдФрд░ рд▓рдВрдмреА рд╣реЛ рдЧрдИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреБрдЫ рдкрдХ рд░рд╣рд╛ рдерд╛ред
рдкрд░рд┐рд╡рд╣рди рдХрд╛ рд╡рд┐рдХрд▓реНрдк
рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, MySQL рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддреЗ рд╣реИрдВред рдЬрд╡рд╛рдм, рдЗрд╕ рд╕рдордп, рд╕рднреА рдкрд╛рд╕ рдЦрдбрд╝реЗ рдереЗ рдФрд░ рдореБрд╕реНрдХреБрд░рд╛ рд░рд╣реЗ рдереЗред рдХреНрдпрд╛ рдпрд╣ рд╕рдм рдИрдореЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдЦреИрд░, рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░рд┐рд╡рд╣рди рд╣реИред рд╣рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рдЕрдВрд╢ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд░реАрдпрд▓рдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХ рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдЪреИрдирд▓ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЪреИрдирд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХрддрд╛рд░ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдХреЗрд╡рд▓ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рдХреА рд╣рдорд╛рд░реА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдИрдореЗрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдПрдХ рддрд░рдлрд╝рд╛ рд╣реЛрдЧрд╛, рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХрд░реЗрдВрдЧреЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреЗрдВрджреНрд░реАрдп рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬреЗрдВ, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд┐рдд рд╣реЛрдЧреАред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдкрд╣рд▓рд╛ рдЪрд░рдг рдЖрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдкрддреНрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдВрджреЗрд╢ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд╛рда / рд╕рд╛рджрд╛ рд╣реЛрдЧреА, рдХреЛрдИ рдЕрдиреБрд▓рдЧреНрдирдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдмреЗрд╕ 64 рдпрд╛ рдЙрджреНрдзреГрдд-рдореБрджреНрд░рдг рдпреЛрдЧреНрдп рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдорд▓реНрдЯреАрдорд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдкрддреНрд░ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ (рд╢рд╛рдЦрд╛) рдХрд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдХреЛрдб рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВрдЧреЗред рдЕрдЧрд░ рдпреВрдирд┐рдЯ рдХреЛрдб (рдмрд▓реНрдХрд┐ рдкрд░рд┐рд╖реНрдХреГрдд) рдХреЛ рдЬрд╛рдиреЗ рдмрд┐рдирд╛, рд╡реЗ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЖрдЬрд╝рдорд╛рддреЗ рд╣реИрдВ, рддреЛ "рдЧреБрдВрдбреЗ" рдХреЗ рдЦрд┐рд▓рд╛рдл рдпрд╣ рдереЛрдбрд╝реА рд╕реБрд░рдХреНрд╖рд╛ рднреА рд╣реИ, рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдХреЛрдб рд╡рд╛рд▓реЗ рдкрддреНрд░ рдХреЛ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрддреНрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдлрд╛рд░реНрдо рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:
_cmd=insert:type=mbox:name= :eml=ivanov@company.ru:vis=1:gor=88-02-93:mer=38-32-93:sot=:of=214:post= :sdiv=
_cmd=update:type=mbox:eml=petrov@company.ru:name= :act=1:vis=1:post=:of=822:mer=27-71:gor=88-02-49:sot=:sdiv= .
_cmd=delete:type=mbox:eml=sidorov@company.ru
рдЬреИрд╕рд╛ рдХрд┐ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдИрдореЗрд▓ рдкрддреЗ рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВрдЧреЗред рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкрддреНрд░ рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб (рд▓рд╛рдЗрди) рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЬрдорд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░реЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдХреНрд╖рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЖрджреЗрд╢ рдкрд░реНрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреАред рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕реБрд▓рдн рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП (FreeBSD рдкрд░ рдкреЛрд╕реНрдЯрдлрд╝рд┐рдХреНрд╕), рдореИрдВрдиреЗ рдмрд╕ рдЗрд╕ рдореЗрд▓ рдЙрдкрдирд╛рдо рдХреЛ / etc / mail / рдЙрдкрдирд╛рдо рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИ:
userdir: "|/home/admin/directory/userdir.pl"
рдпрд╣рд╛рдБ рдореИрдВ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ userdir.pl рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рджреВрдВрдЧрд╛, рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдбрд╝реЗ рд▓реЗрдЦ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рди рдХрд░реВрдБ:
#! / usr / bin / perl -w
рдЙрдкрдпреЛрдЧ рдИрдореЗрд▓ :: рд╕рд░рд▓ ;
MIME рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :: Base64 ( ) ;
рдбреАрдмреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ;
...
# рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЛ SQL рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреАрд▓реНрдб рдирд╛рдореЛрдВ рдХрд╛ рд╣реИрд╢
рдореЗрд░реЗ % fnames = (
рдирд╛рдо => 'рдирд╛рдо' ,
рдЧреЛрд░ => 'рдЬреАрдПрд╕рдЯреА' ,
...
) ;
...
# рдпрд╣ рд╕рдВрджреЗрд╢ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ
# рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВ
рдЬрдмрдХрд┐ ( <> )
{
$ рд╕рдВрджреЗрд╢ ред = $ _ ;
}
# рдПрдХ рдЪрд░ рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛, рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛
рдореЗрд░рд╛ $ рдИрдореЗрд▓ = рдирдпрд╛ рдИрдореЗрд▓ :: рд╕рд░рд▓ ( $ рд╕рдВрджреЗрд╢ ) ;
рдореЗрд░рд╛ $ = = рдИрдореЗрд▓ рд╕реЗ -> рд╢реАрд░реНрд╖ рд▓реЗрдЦ ( "рд╕реЗ" ) ;
рдореЗрд░реЗ $ рд╕реЗ = $ рдИрдореЗрд▓ -> рд╢реАрд░реНрд╖ рд▓реЗрдЦ ( "рдЯреВ" ) ;
рдореЗрд░реЗ $ рд╕рдмрдЬ = $ рдИрдореЗрд▓ -> рд╣реЗрдбрд░ ( "рд╡рд┐рд╖рдп" ) ;
...
# рдкрддреНрд░ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рд╣рдо рдЗрдХрд╛рдИ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВ
рдореЗрд░рд╛ $ sth = $ dbh -> рддреИрдпрд╛рд░ ( "div рд╕реЗ рдЬрд╣рд╛рдБ id = рдХреЛрдб рдЪреБрдиреЗрдВ?" ) ;
рдЕрдЧрд░ ( $ sth -> рдирд┐рд╖реНрдкрд╛рджрд┐рдд ( $ subj ) )
{
if ( рдкрд░рд┐рднрд╛рд╖рд┐рдд ( $ div_code = $ sth -> fetchrow ( ) ) ) { $ div_id = $ div_code ; }
}
$ sth -> рдЦрддреНрдо ( ) ;
...
рдЕрдЧрд░ ( $ div_id ne 'рдЦрд╛рд▓реА' )
{
$ cmd = ~ s / n // ;
# $ cmd = ~ tr / // g;
my @lines = рд╡рд┐рднрд╛рдЬрди ( /; /; $ cmd ) ;
...
$ рд▓рд╛рдЗрди рдкрд░ рдкрд╣реБрдВрдЪреЗрдВ ( @lines )
{
# рдпрд╣рд╛рдВ рдХрдорд╛рдВрдб рдХреЛ рд╕реАрдзреЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
chomp ( $ рд▓рд╛рдЗрди ) ;
$ рд▓рд╛рдЗрди = ~ рдПрд╕ / рдПрди // ;
рдЕрдЧрд░ ( $ рд▓рд╛рдЗрди = ~ / ^ _ cmd / )
{
my @ рдлреАрд▓реНрдбреНрд╕ = рд╕реНрдкреНрд▓рд┐рдЯ ( /: / , $ рд▓рд╛рдЗрди ) ;
рдореЗрд░реЗ $ debug_str = '' ;
foreach $ рдлрд╝реАрд▓реНрдб ( @ рдлрд╝реАрд▓реНрдб )
{
my @prms = рд╡рд┐рднрд╛рдЬрди ( / = / , $ рдлрд╝реАрд▓реНрдб ) ;
if ( $ # prms == 1 ) { $ params { $ prms [ 0 ] } = $ prms [ 1 ] ; }
$ debug_str ред = "$ prms [0] = $ params {$ prms [0]};" ;
}
}
# рдЕрдЧрд▓рд╛, рдкреНрд░рд╛рдкреНрдд рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ
if ( $ params { '_cmd' } eq 'insert' ) ############################ INSERT cmd
{
рдореЗрд░реА $ qry = '' ;
рдореЗрд░реА $ qry_valid = 0 ;
if ( $ params { 'type' } eq 'mbox' ) ######## рдореЗрд▓рдмреЙрдХреНрд╕
{
$ qry = "рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдбрд╛рд▓реЗрдВ" ( ;
рдореЗрд░реЗ $ dfields = '' ;
рдореЗрд░реЗ $ рдлрд╝реАрд▓реНрдб_рдХрдВрдЯ = 0 ;
рдЬрдмрдХрд┐ ( ( $ рдХреБрдВрдЬреА , $ рдореВрд▓реНрдп ) = рдкреНрд░рддреНрдпреЗрдХ ( % рдкрд░рдо ) )
{
рдЕрдЧрд░ ( рдкрд░рд┐рднрд╛рд╖рд┐рдд ( $ fnames { $ key } ) && $ params { $ key } ne '' )
{
...
}
}
...
}
elsif ( $ params { 'type' } eq 'alias' )
...
}
...
# рдЗрд╕рдХреЗ рдмрд╛рдж, рдмрд╛рдХреА рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
# рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реЗрдЦрди
}
}
рдЕрдм рд╡рд╣ рд╕рдм рдХреБрдЫ рдореЗрд▓ рдЦрд╛рддреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЯреАрдо рдмрдирд╛рдиреЗ рдФрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд░рд┐рд╕реАрд╡рд░ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рдИрдЖрдИрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдж рдХреЗ рдореЙрдбрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
/ *
рдкреНрд░реЙрдкрд░реНрдЯреА рдереНрд░реВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдкрдХреЛ рдпрд╣ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджрд░реНрдЬ рдХрд░рдиреА рд╣реЛрдВрдЧреА
'рдШрдЯрдХ' => рд╕рд░рдгреА (
...
'Userdir' => рд╕рд░рдгреА (
'рдХреНрд▓рд╛рд╕' => 'рдпреВрдЬрд░рдбреА',
'divId' => '0001',
'userdirAddr' => 'admin@company.ru',
)
...
)
* /
рд╡рд░реНрдЧ Userdir CApplicationComponent рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ
{
рдирд┐рдЬреА $ _divId ;
рдирд┐рдЬреА $ _userdirAddr ;
рдирд┐рдЬреА $ _isLoaded = false ;
рдирд┐рдЬреА $ _transNames = рд╕рд░рдгреА (
'рдирд╛рдо' => 'рдирд╛рдо' ,
'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо' => 'eml' ,
'рдкреЛрд╕реНрдЯ' => 'рдкреЛрд╕реНрдЯ' ,
'phone_gor' => 'gor' ,
...
) ;
рдирд┐рдЬреА $ _cmdLine = '' ;
// рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ getDivId ( )
{
$ рдпрд╣ рд▓реМрдЯрд╛рдПрдБ -> _divId ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ setDivId ( $ рдореВрд▓реНрдп )
{
$ рдпрд╣ -> _divId = $ рдореВрд▓реНрдп ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ getUserdirAddr ( )
{
$ рдпрд╣ рд▓реМрдЯрд╛рдПрдБ -> _userdirAddr ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ setUserdirAddr ( $ рдореВрд▓реНрдп )
{
$ рдпрд╣ -> _userdirAddr = $ рдореВрд▓реНрдп ;
}
// рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЗ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЛрдб ( $ attrs , $ cmd , $ рдкреНрд░рдХрд╛рд░ = 'mbox' )
{
$ рдпрд╣ -> _cmdLine = '_cmd =' ред $ рд╕реЗрдореА ред ': рдЯрд╛рдЗрдк =' ред $ рдкреНрд░рдХрд╛рд░ ;
foreach ( $ рдХреЗ рд░реВрдк рдореЗрдВ $ рдХреБрдВрдЬреА => $ рдореВрд▓реНрдп )
{
рдЕрдЧрд░ ( isset ( $ рдпрд╣ -> _transNames [ $ key ] ) )
{
$ рдПрдиреНрдХреЛрдбреЗрдб рд╡реЗрд▓реНрдпреВ = рдЖрдЗрдХрдирд╡ ( 'UTF-8' , 'cp1251' , $ рдореВрд▓реНрдп ) ;
$ рдпрд╣ -> _cmdLine ред = ':' ред $ рдпрд╣ -> _transNames [ $ рдХреБрдВрдЬреА ] ред '=' ред $ рдПрдиреНрдХреЛрдбреЗрдбрд╡реИрд▓реНрдпреВ ;
}
}
$ рдпрд╣ -> _cmdLine ред = "n" ;
$ рдпрд╣ -> _isLoaded = true ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рднреЗрдЬреЗрдВ ( $ params = null )
{
рдЕрдЧрд░ ( $ рдпрд╣ -> _isLoaded )
{
рд░рд┐рдЯрд░реНрди рдореЗрд▓ ( $ рдпрд╣ -> _userdirAddr , рдпрд╣ $ -> _divId , $ рдпрд╣ -> _cmdLine ) ;
}
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}
}
AfterSave рдореЗрдВ рд╣рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
// Userdir рдкреНрд░рддрд┐рдХреГрддрд┐
$ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = Yii :: рдПрдкреНрд▓рд┐рдХреЗрд╢рди ( ) -> рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ;
$ userdir -> setDivId ( $ div_id = рдбреЛрдореЗрди :: рдореЙрдбрд▓ ) -> рдЦреЛрдЬреЗрдВ ( "рдбреЛрдореЗрди = ' $ рдпрд╣- > рдбреЛрдореЗрди '" ) -> userdir_id ) ;
$ _userdirModes = рд╕рд░рдгреА (
'рдлрд╝реЛрди' => 'рдЕрдкрдбреЗрдЯ' ,
'рдЕрдкрдбреЗрдЯ' => 'рдЕрдкрдбреЗрдЯ' ,
'create' => 'insert' ,
'рд╣рдЯрд╛рдПрдБ' => 'рд╣рдЯрд╛рдПрдБ' ,
'рд╕рдХреНрд░рд┐рдп' => 'рдЕрдкрдбреЗрдЯ' ,
) ;
рдЕрдЧрд░ ( isset ( $ _userdirModes [ $ рдпрд╣ -> рдкрд░рд┐рджреГрд╢реНрдп ] ) )
{
/ * рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ * /
$ userdir -> рд▓реЛрдб ( $ рдпрд╣ -> рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ , $ _userdirModes [ $ рдпрд╣ -> рдкрд░рд┐рджреГрд╢реНрдп ] ) ;
}
рдЕрдЧрд░ ( ! $ рд░реЗрдЯрдХреЛрдб = $ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ -> рднреЗрдЬреЗрдВ ( ) ) $ рд░реЗрдЯрдХреЛрдб рд╡рд╛рдкрд╕ рдХрд░реЗрдВ ;
рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ рдФрд░ рддреАрд╕рд░реЗ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рдЧрдбрд╝рдмрдбрд╝ рд▓рд┐рдЦрд╛, рдЗрд╕реЗ рдХрд╛рдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВ рдХрд┐рд╕реА рднреА рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ред