рд╣рдо PHP рдкрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡реЗрдм 2.0 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ

рд╣рдо PHP рдкрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡реЗрдм 2.0 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ

рддреЛ, рдЖрдк рдПрдХ рд╡реЗрдм 2.0 рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИрдВред рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреБрдЫ рдореВрд▓ рдФрд░ рддрд╛рдЬрд╛ рд▓реЗрдХрд░ рдЖрдП рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╢рд╛рдирджрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦрддреЗ рд╣реИрдВред рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдХреНрд░рд╛рдВрддрд┐ рд▓рд╛рдПрдЧреАред рдпрджрд┐ рдпреЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡реНрдпрд╡рд╕рд╛рдп рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╡реНрдпрд╡рд╕рд╛рдп рдирд┐рдпреЛрдЬрди рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд╢рд╛рд╕рди рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рд╛рд╣рд┐рддреНрдп рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреА рдорджрдж рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЬрд┐рддрдирд╛ рдмреБрд░рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрд╕рдХреЗ рдкрддрди рдХреЗ рдЬреЛрдЦрд┐рдо рдЙрддрдиреЗ рд╣реА рдЕрдзрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред



рд╣рд╛рд▓рд╛рдВрдХрд┐, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЖрдХрд░реНрд╖рдХ рд╡реНрдпрд╡рд╕рд╛рдп рдпреЛрдЬрдирд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреЗ 2 рд╕рд╛рд▓ рдмрд╛рдж рд╕реЗ рдЖрддреНрдордирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдк рдЗрд╕рдХреА рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╡рд╛рд░реНрд╖рд┐рдХ 50% рдХреА рд╡реГрджреНрдзрд┐ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред MS-Visio рдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╣рд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рддреИрдпрд╛рд░ рдХрд┐рдП рд╣реИрдВред рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ, рдЖрдкрдХреЗ рдбрд┐рдЬрд╛рдЗрдирд░, рдлреИрд╢рдиреЗрдмрд▓ рдиреЗрддреГрддреНрд╡ рд╕реЗ рд▓реИрд╕, рд░рд┐рдХреЙрд░реНрдб рд╕рдордп рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рддрд╛рдХрд┐ рдЯреЗрдмрд▓-рд▓реЗ-рдЖрдЙрдЯ рд▓реЗрдЖрдЙрдЯ рдХреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░рдВрдкрд░рд╛рдУрдВ рдореЗрдВ рдмрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреГрд╖реНрда, рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЙрдирдХреЗ рдЙрдЪреНрдЪ рдмрд┐рдВрджреБ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд░реВрдкрд░реЗрдЦрд╛



рдореИрдВ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдкреНрд░рд┐рдп рд╕рд╛рдореВрд╣рд┐рдХ рдмреНрд▓реЙрдЧ habrahabr.ru рдХреЗ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЖрдк рд╢рд╛рдпрдж рд╣реА рдХрд┐рд╕реА рдкреНрд░рд╕рд┐рджреНрдз рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реЛрдВред рдЖрдк рдПрдХ рд╕рд┐рджреНрдз рдкрде рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ flicr.com рдХреА рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдлреЛрдЯреЛ рдмреНрд▓реЙрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ a-la facebook.com, ma.gnolia.com рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдорд╛рдЬрд┐рдХ рдмреБрдХрдорд╛рд░реНрдХ рдпрд╛ digg.com рдХреА рдкрд░рдВрдкрд░рд╛ рдореЗрдВ рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕рдорд╛рдЪрд╛рд░ред рд╢рд╛рдпрдж рдЖрдк рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдШреБрдорд╛рд╡рджрд╛рд░ рд░рд╛рд╕реНрддрд╛ рдЪреБрдирддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рд╡реЗрдм 2.0 рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдореЗрдВ рдЖрдПрдВрдЧреЗ, рдЬреИрд╕реЗ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА, рд░реЗрдЯрд┐рдВрдЧ, рдЯреИрдЧрд┐рдВрдЧ, рдЯреВрд▓рдЯрд┐рдкреНрд╕ рдЗрддреНрдпрд╛рджрд┐ред рд▓реЗрдЦ рдлрд╝реАрдб рдпрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ рдХреЗ рд▓рд┐рдП, рдпреЗ рдирд┐рд░реНрдгрдп рд╡рд╕реНрддреБрддрдГ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИрдВред



рдпреЛрдЬрдирд╛



рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реВрдЪрдирд╛ рдкреГрд╖реНрда рд╣реИрдВ ("рд╕рд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ", "рд╕рд╣рд╛рдпрддрд╛"), рдПрдХ рд▓реЗрдЦ рдлрд╝реАрдб, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ ("рдкрдВрдЬреАрдХрд░рдг", "рдкреНрд░рд╛рдзрд┐рдХрд░рдг"), рд▓реЗрдЦ рдлрд╝реАрдб рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рдПрдХ рдЯреИрдЧ рдХреНрд▓рд╛рдЙрдб рдФрд░ рд╣рд╛рд▓ рд╣реА рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдлрд╝реАрдбред



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рд╡реЗрдм рдкреЗрдЬ рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдкрддреНрд░реЛрдВ (рдкрдВрдЬреАрдХрд░рдг, рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛) рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╕рдВрднрд╡ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП рдФрд░ "рдЦреАрдВрдЪрд╛ рдФрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛" (рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк) рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╣ рдХрдм рдФрд░ рдХрд┐рддрдиреЗ рд╕рдордп рд╕реЗ рд╡реНрдпрд╕реНрдд рд╣реИред



рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдм рдХрд╛рд░реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдмрд╛рдХреА рд╣реИред



рдордВрдЪ рдХрд╛ рдЪрдпрди



рдмрд╕ рдЙрдард╛рдХрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХрд┐ рдмрдврд╝рддреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдХрд┐ "рдЕрдВрддрд╣реАрди рдмреАрдЯрд╛" "рдЕрдВрддрд╣реАрди рдЕрд▓реНрдлрд╛" рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдирдП рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдпрд╛ "рдУрдкрди рдПрдкреАрдЖрдИ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЖрдк рдареЛрдХрд░ рдЦрд╛ рд░рд╣реЗ рд╣реИрдВред рдХрд┐рд╕реА рд╕рд┐рджреНрдз рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЕрдиреБрднрд╡ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рд╕рдорд╛рдзрд╛рди рд▓реЛрдХрдкреНрд░рд┐рдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: Zend рдлреНрд░реЗрдорд╡рд░реНрдХ , рдкреНрд░рд╛рдбреЛ , CakePHP , рд╕рд┐рдореНрдлрдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ , рд╕реАрдЧрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ , WACT , PHP on TRAX , ZooP рдлреНрд░реЗрдорд╡рд░реНрдХ , eZ Components, рдпрд╛ CodeIgniter ред



рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА рддрд╛рдХрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди PHP рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рд▓рд╛рдн рд╣реИред рдкреНрд░рд╛рдбреЛ - рдПрдХ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЬреИрд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШреЛрд╖рдгрд╛ рдореЙрдбрд▓ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, CakePHP рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рдЪреАрд▓рд╛рдкрди рдФрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЧреБрдг рд╣реИрдВред рд╕рднреА рдЪреМрдЦрдЯреЗ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рднрд┐рдиреНрди DBMS рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ ред рд╡реЗ рд╕рднреА PHP5 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА PHP4 рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ)ред рдЙрди рд╕рднреА рдореЗрдВ рдбреЗрдЯрд╛ рд╕рддреНрдпрд╛рдкрди рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдФрд░ рд▓рдЧрднрдЧ рд╕рднреА рдПрдорд╡реАрд╕реА (рдореЙрдбрд▓-рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓рд░) рдХреЗ рдореЙрдбрд▓ рдкрд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рд╕реВрдЪреА рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреА рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди (рдФрд░ рдпреЗ рд╕рднреА рдврд╛рдВрдЪреЗ рдХрд╛рдлреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИрдВ) рдХреА рддреБрд▓рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд┐рдЬреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред ред рдареАрдХ рд╣реИ, рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рддреЛ, рд╣рдо PHP 5.2 рдФрд░ MySQL 4/5 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдкрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ рдХрд┐ рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ PHP PDO ( PHP рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ ) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдЕрдореВрд░реНрдд рдкрд╣реБрдВрдЪ рдХреЗ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рджреВрд╕рд░реЗ DBMS рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реЗрдЧреАред



рдШрдЯрдХ рдореЙрдбрд▓



рдЕрдм рдПрдХ рдШрдЯрдХ рдореЙрдбрд▓ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде) рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдПрдХ рд╕рдлрд▓ рдШрдЯрдХ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реЗрдВрдЧреА, рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред



рддреЛ, рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ ред php , рдЬрд┐рд╕реЗ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдЪрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрдк рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдВрдЧреА рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИрдВред рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдирд┐рдпрдВрддреНрд░рдХ , рдореЙрдбрд▓ , рджреГрд╢реНрдп рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡рд╣реА рдПрдорд╡реАрд╕реА рдореЙрдбрд▓ рд╣реИред рдХрд┐рд╕реА рднреА рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреБрдХреНрдд рдореЙрдбрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░, рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдлреЙрд░реНрдо рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдореЙрдбрд▓ рдФрд░ рджреГрд╢реНрдп рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдкрд╣рд▓реЗ POST рдпрд╛ GET рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕реБрд╕реНрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред MVC рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ ajax_ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдХрд╛ рднреА рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ (AJAX) рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗред



рдШрдЯрдХ рдореЙрдбрд▓



рд╣рдо рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ JS рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ ( css / images / js ) рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░ рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдБ рдЬрд╣рд╛рдБ рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдПрдЧреА ред рдЗрдВрдХред php ред рдЗрд╕рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ HTTP_PATH рдФрд░ ROOT_PATH, рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓ рдФрд░ рдЕрдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░рд╛рдВрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред Libs рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реЛрдЧреАред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрдиреНрдЯрд┐рдиреЗрдВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╕рдорд╛рдзрд╛рди, рдЬреИрд╕реЗ рдХрд┐ FCKEditor , LastRSS , MediaPlayers , YUI , рдХреЛ рд╡реЗрдВрдбрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред



рдпрд╣ рд╕рд░реНрдХрд┐рдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╡реЗрдмрдкреГрд╖реНрда рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ / рдмреНрд▓реЙрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ред



рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд .htaccess рдлрд╝рд╛рдЗрд▓ рдиреЗ index.php рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛



.htaccess



  DirectoryIndex index.php
 ErrorDocument 404/404 /
 рд╡рд┐рдХрд▓реНрдк + Followsymlinks

 <IfModule mod_rewrite.c>
	 рд░реЗрд╡реЗрд░рд┐рдЯреЗрдВрдЧрд┐рди рдкрд░
	 % ReriteCond% {REQUEST_FILENAME}! -F 
	 % ReriteCond% {REQUEST_FILENAME}! -D
	 RewriteRule ^ (ред *) $ Index.php?% {QUERY_STRING} [L]
 </ IfModule> 




Index.php config.php рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдЯреЙрдЧрд▓ () ред рдЕрдЧрд▓рд╛, рдкреИрдЯрд░реНрди ( рдкреИрдЯрд░реНрдиред рдЗрдВрдХ рдкреАрдПрдЪрдкреА ) рдХрд╛ рд╕реЗрдЯ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( initред рдЗрдВрдХ ред рдкреАрдПрдЪрдкреА )ред рд╕рд░рд▓рддрдо рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ $ _SERVER ['REQUEST_URI'] рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪрд░ $ CTRLPATH, $ RECORD_ID рдФрд░ $ APPPATH рдХреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреИрд╕реЗ? рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ / рдирд┐рдпрдВрддреНрд░рдХ / рдкрддрд╛ - $ CTRLPATH рдорд╛рди "рдкрддрд╛" рд▓реЗрддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ / рдкрддрд╛ / 000023 (рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореБрдЦреМрдЯрд╛ / \ d {7} /) - $ RECORD_ID 23 рдорд╛рди рд▓реЗрддрд╛ рд╣реИред $ APPPATH - рд╣рдореЗрд╢рд╛ рдорд╛рди "рдкрддрд╛" рд▓реЗрддрд╛ рд╣реИред



index.php



  <?
 if (preg_match ("/ \ред (gif | jpg | bmp | js | css) \ /; $ / рд╣реИ", $ _SERVER ['REQUEST_URI']]) рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ;
 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "config / config.inc.php");
 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рдмреЗрд╕рд┐рдХреНрд╕ред www.php");
 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "app / pattern.inc.php");
 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / init.inc.php");

 $ db = Lib :: factory ('db');
 $ db-> applyAuthorization ();

 // рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
 рдЕрдЧрд░ ($ CTRLPATH) {
	 // рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдПрдХ рдХреИрд╢ рдЫрд╡рд┐ рд╣реИ
	 if (file_exists (ROOT_PATHред "cache /"ред md5 ("ajax_controllers {$ CTRLPATH}") "ред tmp")ред 
		 $ OUT = file_get_contents (ROOT_PATHред "рдХреИрд╢ /"ред 
		 md5 ("ajax_controllers {$ CTRLPATH}")ред "tmp"); 
	 рдФрд░ { 
		 $ ctrl = Lib :: factory ('рдХрдВрдЯреНрд░реЛрд▓рд░');
		 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / ajax_controllers {$ CTRLPATH} index.inc.php");
	 }
 } {
	 // рдпрджрд┐ рдкреГрд╖реНрда рдХреА рдХреЛрдИ рдХреИрд╢ рдЫрд╡рд┐ рд╣реИ, рддреЛ рдЙрд╕реЗ рджрд┐рдЦрд╛рдПрдВ 
	 рдЕрдЧрд░ (file_exists (ROOT_PATHред "рдХреИрд╢ /"ред md5 ($ APPPATAT)) "ред tmp")ред 
	 $ OUT = file_get_contents (ROOT_PATHред "рдХреИрд╢ /"ред Md5 ($ APPPATH)ред "Tmp"); 
 рдФрд░ {
	 // рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
	 $ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ = ($ RECORD_ID? "рд░рд┐рдХреЙрд░реНрдб": "рдЗрдВрдбреЗрдХреНрд╕")ред "ред рдЗрдВрдХред рдПрдлрдкреАрдкреА";
	 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рдХрдВрдЯреНрд░реЛрд▓рд░ / рдХреЙрдорди.рдЗрдирдХреЙрдореНрдкреА");
	 рдЕрдЧрд░ (file_exists (ROOT_PATHред "рдРрдк / рдХрдВрдЯреНрд░реЛрд▓рд░ {$ APPPATH}"ред $ $рд╕реНрдХреНрд░рд┐рдкреНрдЯ) 
		 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рдХрдВрдЯреНрд░реЛрд▓рд░ {$ APPPATH}"ред $ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ)ред
	 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рдореЙрдбрд▓ / common.inc.php");
	 рдЕрдЧрд░ (file_exists (ROOT_PATHред "рдРрдк / рдореЙрдбрд▓ {$ APPPATH}"ред $ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ) 
		 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рдореЙрдбрд▓ {$ APPPATH}"ред $ InterfaceScript);
	 рдЕрдЧрд░ (file_exists (ROOT_PATHред "app / views {$ APPPATH}"ред $ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ) 
		 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рд╡рд┐рдЪрд╛рд░ {$ APPPATH}"ред $ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ);
	 рдЕрдиреНрдпрдерд╛ 
		 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ROOT_PATHред "рдРрдк / рд╡рд┐рдЪрд╛рд░ / _404 / index.inc.php");
 }
 }

 рд╢реАрд░реНрд╖ рд▓реЗрдЦ ("рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / html; рдЪрд╛рд░рд╕реЗрдЯ = рдпреВрдЯреАрдПрдл -8");
 $ OUT рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ;
 рдЕрдЧрд░ (isset ($ _ GET ["createcache"]))
	 file_put_contents (ROOT_PATHред "рдХреИрд╢ /"ред md5 ($ APPPATAT))ред "tmp", $ OUT);
 ?> 




app / pattern.inc.php



  <?
 рдХрдХреНрд╖рд╛ рд▓рд┐рдм {
	 // рдкреИрд░рд╛рдореАрдЯрд░рд╛рдЗрдЬреНрдб рдлреИрдХреНрдЯрд░реА рд╡рд┐рдзрд┐
	 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдХрд╛рд░рдЦрд╛рдирд╛ ($ рдкреНрд░рдХрд╛рд░) {
		 if (рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ ROOT_PATH.'libs / 'ред $ рдкреНрд░рдХрд╛рд░ред' .lib.php '{{
			 $ classname = $ рдкреНрд░рдХрд╛рд░;
			 рдирдпрд╛ $ classname рд╡рд╛рдкрд╕ рдХрд░реЗрдВ;
		 } {
			 рдирдпрд╛ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХреЗрдВ ('рдбреНрд░рд╛рдЗрд╡рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛');
		 }
	 }
 }
 ?> 




рддрдм рд╕рд┐рд╕реНрдЯрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХреГрдд рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЪреВрдВрдХрд┐ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕реВрдЪреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдорддрджрд╛рди рдирд╣реАрдВ рд╣реЛрдЧреА



рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдирд┐рдпрдВрддреНрд░рдХ / рдмреНрд▓реЙрдЧ / index.inc.php

рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдореЙрдбрд▓ / рдмреНрд▓реЙрдЧ / index.inc.php

рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдмреНрд▓реЙрдЧ / index.inc.php



POST рдФрд░ GET рдореЗрдВ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЙрдбрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдРрдк / рдореЙрдбрд▓ / рдмреНрд▓реЙрдЧ / index.inc.php рдореЗрдВ, рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлреЙрд░реНрдо рдРрдк / рд╡рд┐рдЪрд╛рд░реЛрдВ / рдмреНрд▓реЙрдЧ / index.inc.php рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдпрд╣ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдореЙрдбрд▓ / рдмреНрд▓реЙрдЧ / index.inc.php



  <?
 $ рдХрдВрдЯреЗрдВрдЯ ["WINDOW_TITLE"] = "рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк: рдмреНрд▓реЙрдЧреНрд╕";
 $ рдиреЗрд╡рд┐рдЧреЗрд╢рди ["рд╕реАрдорд╛"] = 5;
 $ рдорд┐рд▓ = Lib :: factory ('get');
	 $ DATA ["MEDIALIST"] = $ get-> articleList ();
	 $ DATA ["PAGINATION"] = $ get-> рдкреГрд╖реНрдард╛рдВрдХрди ();
 ?> 




рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдмреНрд▓реЙрдЧ / index.inc.php



  <?
 $ рдХрдВрдЯреЗрдВрдЯ ["рдмреЙрдбреА"] = '';
	 foreach ($ DATA ["MEDIALIST"] $ рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ) {
	 $ rec_url = HTTP_PATHред $ MEDIATYPES [$ рдкрдВрдХреНрддрд┐ ["media_type"]] ["var"]ред
	  '/'.GetIDUrl($row["media_id"]).'/';
	 $ рдХрдВрдЯреЗрдВрдЯ ["рдмреЙрдбреА"]ред = '
	 <div class = "media_line">
	 <div class = "info"> 'рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред $ рдкрдВрдХреНрддрд┐ ["fullname"]ред,' рджреЗрдЦреА 'ред
		 (int) $ рдкрдВрдХреНрддрд┐ ["рджреМрд░рд╛ рдХрд┐рдпрд╛"]ред '  рд╕рдордп </ div>
	 <div class = "text"> 'ред $ рдкрдВрдХреНрддрд┐ ["рд╡рд┐рд╡рд░рдг"]ред </ div>
	 <div class = "footer"> 'ред ($ row ["cache_commentnumber"]?' <a href = ''ред
		 $ rec_urlред ""> 'ред $ рдкрдВрдХреНрддрд┐ ["cache_commentnumber"]ред
		 'рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ </a>': '<a href = "'ред
		 $ rec_urlред ""> рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ </a> ')ред'
	 </ Div>
	 </ div> ';
 }

 рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ (INCLUDEPATHред "header.inc.php");
 $ OUTред = '
	 <div class = "left_col">
	 'ред  $ рдХрдВрдЯреЗрдВрдЯ ["рдмреЙрдбреА"]ред $ рдХреЙрдиреНрдЯреЗрдВрдЯ ["рдкреЗрдЬрд┐рдиреЗрд╢рди"]ред
	 </ Div>
	 <div class = "right_col">
	 <div id = "UserPanel"> </ div>
	 <div id = "TagCloud"> </ div>
	 <div id = "LastestComments"> </ div>
	 <script type = "text / javascript">
	 showBlock ("UserPanel");
	 рд╢реЛрдмреНрд▓реЙрдХ ("рдЯреИрдЧрдХреНрд▓рд╛рдЙрдб");
	 showBlock ("LastestComments");
	 </ Script>
	 </ Div>
 ';
 рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ (INCLUDEPATHред "footer.inc.php");
 ?> 




рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХреНрд▓рд╛рд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдХреЗрд╡рд▓ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдЪрд▓рдХрд░ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЦреБрдж рдХреЛ рдиреНрдпреВрдирддрдо рдореЗрдореЛрд░реА рдЦрдкрдд рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд▓реЗрдВред рдЖрдЗрдП рд╕рднреА рдбреЗрдЯрд╛ рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдбрд╛рд▓реЗрдВ рдЬреЛ рдХрд┐ рдЧреЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВрдЧреЗред рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░рдЦрд╛рдиреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╣реА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдХрд┐рд╕реА рдХрд╕реНрдЯрдо рдЯрд┐рдкреНрдкрдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред



рдЬреИрд╕рд╛ рдХрд┐ рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╛рдПрдВ рд╕реНрддрдВрдн рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓рд╛ рдПрдХ рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╣реА рдХреЙрд▓рдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓, рдЯреИрдЧ рдХреНрд▓рд╛рдЙрдб, рд╣рд╛рд▓ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВред рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЕрдм рддрдХ рд╣рдо рдХреЗрд╡рд▓ рдЗрди рдкреИрдирд▓реЛрдВ рдХреЗ рдХрдВрдЯреЗрдирд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢реЛрдмреНрд▓реЙрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдЗрди рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреИрдирд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдбрд╛рд▓реЗрдВрдЧреЗред



рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓реАред рдЕрдм рдЖрдкрдХреЛ рдЗрд╕ рд╕реВрдЪреА рд╕реЗ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдЪрд░ $ RECORD_ID рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд┐рд╕реНрдЯрдо рдХрд┐рд╕реА рднреА рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдореЙрдбрд▓ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░реЗрдЧрд╛ред рдореЙрдбрд▓ рдРрдк / рдореЙрдбрд▓ / рдмреНрд▓реЙрдЧ / record.inc.php рдкрд░ рдорд┐рд▓реЗрдЧрд╛ред $ RECORD_ID рд▓реЗрдЦ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред



  $ рдорд┐рд▓рддрд╛ рд╣реИ-> рд▓реЗрдЦ ($ RECORD_ID); 




рд╕рд┐рд╕реНрдЯрдо рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдмреНрд▓реЙрдЧ / record.inc.php рдкрд░ рдПрдХ рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред



рдЖрд▓реЗрдЦ рд╕реВрдЪреА рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕реВрдЪрдирд╛ рдкреГрд╖реНрда (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА / рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ) рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдлреЙрд░реНрдо (рдРрдк / рд╡рд┐рдЪрд╛рд░ / рд╡рд┐рдЪрд╛рд░) рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЗрдЬ рдбреЗрдЯрд╛ (рдРрдк / рдореЙрдбрд▓ / рд▓рдЧрднрдЧ / index.inc.php) рдореЙрдбрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред about / index.inc.php) рд▓реЗрдЖрдЙрдЯ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдореГрджреНрдз рдХрд░рдирд╛



рдХрд╛рд░реНрдп рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рд┐рд╕реНрдЯрдо рдХреЛ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╢реИрд▓реА рдХреЛ рдЪрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╛рд╣реВ рдХреЗ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА ( http://developer.yahoo.com/yui/container/panel/ ) рд╕реЗ рдкреИрдирд▓ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд JS рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рдЧрднрдЧ 100Kb рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдлрд╝рдВрдХреНрд╢рди showSystemMessage () рдФрд░ hideSystemMessage () рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ (рдбреЙрдХреНрдпреВрдореЗрдВрдЯ .getElementById ("window_id")ред Style.display = "рдмреНрд▓реЙрдХ") рдХреА рдЫрд┐рдкреА рд╣реБрдИ рдкрд░рдд рджрд┐рдЦрд╛рдПрдЧрд╛ рдФрд░ рд╕рдВрджреЗрд╢ рдХреЛ рдлрдВрдХреНрд╢рди рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (document.getElementById ("window_content_is")ред InnerHTML = message)ред рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджреЗрд╢ рдЫрд┐рдкрд╛рдПрдЧрд╛ (document.getElementById ("window_id")ред Style.display = "рдХреЛрдИ рдирд╣реАрдВ")ред рдкрд░рдд рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рджреЗрдирд╛ рднреА рдЙрдЪрд┐рдд рд╣реИред



рдареАрдХ рд╣реИ, рдЕрдм рд╣рдо рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ? рдмрд╕ рд╡рд┐рдВрдбреЛ рд▓реЗрдпрд░ рдореЗрдВ рдорд╛рдЙрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдбрд┐рд╕реНрдкреИрдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:



<div id = "window_id" onmousedown = "windowMouseDown ('window_id', рдШрдЯрдирд╛)" onmouseup = "windowMouseUp ('window_id')"> ... </ div>



рдФрд░ рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬреЗрдПрд╕ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред



js / рдкреИрдирд▓.рдЬреЗрдПрд╕



 // рд╡рд╕реНрддреБ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдБрдЪ
 рдлрд╝рдВрдХреНрд╢рди $ (divName) {рд░рд┐рдЯрд░реНрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ .getElementById (divName);  }

 // рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ
 if (document.implementation && document.implementation.createDocument) varMozilla = true;
 рд╡рд░ рд╡рд░ рдЗрд╕реНрдореЛрдЬрд┐рд▓рд╛ = рдЕрд╕рддреНрдп;

 // рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБ рдФрд░ рдЙрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрдХрдбрд╝реЛ
 рдлрдВрдХреНрд╢рди рд╡рд┐рдВрдбреЛрдорд╛рдЙрд╕рдбрд╛рдЙрди (divNamePref, ev) { 
	 if (isMozilla) {рдШрдЯрдирд╛ = ev;  }
	 currentWindowDivNamePref = divNamePref; 
	 // рдСрдлрд╕реЗрдЯ рд╕рд╣реЗрдЬреЗрдВ
	 currentWindow [divNamePref] = {
	 "x": event.clientX + document.body.scrollLeft - 
		 $ (divNamePref) .style.left.replace ("px", "")
	 "y": event.clientY + document.body.scrollTop - 
		 $ (divNamePref) .style.top.replace ("px", ""
	 };
 }
 // рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ
 рд╕рдорд╛рд░реЛрд╣ windowMouseMove (ev) {
	 рдЕрдЧрд░ (currentWindowDivNamePref) рдЧрд▓рдд рд╣реИ;
	 рдЕрдЧрд░ (рдХрд░рдВрдЯрд╡рд┐рдВрдбреЛ [currentWindowDivNamePref]) рдЧрд▓рдд рд╣реИ;
	 if (isMozilla) {рдШрдЯрдирд╛ = ev;  }
	 $ (currentWindowDivNamePref) .style.left = (event.clientX +) 
		 document.body.scrollLeft - currentWindow [currentWindowDivNamePref] .x) + "px";
	 $ (currentWindowDivNamePref) .style.top = (event.clientY +) 
		 document.body.scrollTop - currentWindow [currentWindowDivNamePref] .y) + "xx";
	 рдЭреВрдареЗ рд▓реМрдЯрдирд╛;
 }

 // рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд╛рд░реА рдХрд░реЗрдВ
 рд╕рдорд╛рд░реЛрд╣ windowMouseUp (divNamePref) { 
	 currentWindow [divNamePref] = рдЕрд╢рдХреНрдд; 
	 currentWindowDivNamePref = false; 
 } 

 рдЕрдЧрд░ (isMozilla) {document.captureEvents (Event.MOUSEMOVE);  }
 document.onmousemove = windowMouseMove; 




рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рд╡рд┐рдВрдбреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдкрд╛рд░рднрд╛рд╕реА рдкрд░рдд рдХреЛ рдЦрд┐рдбрд╝рдХреА рдХреА рдкрд░рдд рдХреЗ рдиреАрдЪреЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЧреНрд░реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреВрд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЕрд╕реНрдерд╛рдпреА "рдардВрдб" рдХрд╛ рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдореЗрдВ, рдЖрдк рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдЫрд╡рд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддреА рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ рдХреА рдкрд░рдд рдХреЛрдб рдореЗрдВ рдХреНрд▓реЛрдЬ рдмрдЯрди рдХреЛ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рд╡рд┐рдВрдбреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред



рдЕрдм рд╣рдо рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдкреИрдирд▓ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдШрдЯрдХ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдпрд╛ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╛рдиреА рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рднрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╛ рддреЛ рдПрдХ рднрд░рдиреЗ рдХреА рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдХрд╣рддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреИрдкреНрдЪрд╛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреЛрдб рдЧрд▓рдд рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛), рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ рдФрд░, рдлрд┐рд░ рд╕реЗ, рдкрд░рд┐рдгрд╛рдо рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рдЕрдм рд╣рдо рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЗрдПрд╕ рдЕрдиреБрд░реЛрдз (рд╢реЛрдмреНрд▓реЙрдХ () рдлрд╝рдВрдХреНрд╢рди) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реЗрдм рдкреЗрдЬ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рд╕реЗ рдЖрдк AJAX рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд┐рд░ рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП YUI ( http://developer.yahoo.com/yui/connection/ ) рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрдХ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рджреЗрдЦреЗрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рджреЛ рд▓рд┐рдкрд┐рдпреЛрдВ рдпрд╛рд╣реВ-рдорд┐.рдЬ рдФрд░ рдХрдиреЗрдХреНрд╢рди-рдорд╛рдЗрди.рдЬреЗрдПрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╢реЛрдмреНрд▓реЙрдХ рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд╕рд╣рд╛рдпрдХ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдЬреЗрдПрд╕ / рдЖрдоред js



  // AJAX рдлрд╝рдВрдХреНрд╢рдВрд╕

 // рд╡рд╕реНрддреБ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдБрдЪ
 рдлрд╝рдВрдХреНрд╢рди $ (divName) {рд░рд┐рдЯрд░реНрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ .getElementById (divName);  }

 // рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ
 рд╢реЛ рд╢реЛрдмреНрд▓реЙрдХ (рдмреНрд▓реЙрдХрдЖрдИрдбреА) {
	 YAHOO.util.Connect.asyncRequest ('POST', "http: // рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ / рд╕рд╛рдЗрдЯ" + 
		 BlockID.toLowerCase () + "/", 
	 рдХреЙрд▓рдмреИрдХ, "ctrl_action = getComponent");
 }

 // рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВ 
 var рдХреЙрд▓рдмреИрдХ =
 {
	 рд╕рдлрд▓рддрд╛: CtrlRespond,
	 рд╡рд┐рдлрд▓рддрд╛:
	 рддрд░реНрдХ: ['рдлреВ', 'рдмрд╛рд░']
 };

 // рдЕрд╕рдлрд▓ рдЙрддреНрддрд░
 var рд╕рд╛рдорд╛рдиреНрдпрд╣реЗрд▓рдлрд╝реЗрд▓реНрдпреЛрд░ = рдлрд╝рдВрдХреНрд╢рди (рдУ) { 
	 рдЕрдЧрд░ (o.responseText! == рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд) {
	 showSystemMessage ("рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐");
 }
 };

 // рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
 var CtrlRespond = function (obj) {
 if (obj.responseText == undefined) рдЭреВрдареЗ рд▓реМрдЯреЗрдВ;
 if (obj.responseText.substr (0,1) == "{") {
	 var responseStructure = eval ('(' + obj.responseText + ')'); 
	 // рдирд┐рдпрдВрддреНрд░рдХ рдПрдХ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ
	 if (responseStructure.ErrorMsg) showSystemMessage ("ERROR:" + рд▓реМрдЯреЗрдВ 
		 respondStructure.ErrorMsg); 
	 // рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛрдб рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ
	 if (responseStructure.ActionCode == 1) {$ (responseStructure.ID) .innerHTML = 
	 respondStructure.Body;  рд╕рдЪ рд▓реМрдЯрдирд╛; 
	 }
	 // рдирд┐рдпрдВрддреНрд░рдХ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ
	 if (responseStructure.Body) showSystemMessage (responseStructure.Body); 
	 } рдФрд░ рдЕрд▓рд░реНрдЯ (obj.responseText);  // рдЙрддреНрддрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреАрдмрдЧ рдХрд░реЗрдВ 
	 // JSON рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрдирд╛ рдЧрд▓рдд рд╣реИ
	 };




app / ajax_controllers / userpanel / index.inc.php





  <?
 // рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ
 рдХрдХреНрд╖рд╛ рдЖрд░рдбреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ {
	 рдирд┐рдЬреА $ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛;
	
	 рдлрд╝рдВрдХреНрд╢рди __construct () {
	 $ рдпрд╣-> рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рд▓реАрдм :: рдХрд╛рд░рдЦрд╛рдирд╛ ('рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛');
	 }

	 рдлрд╝рдВрдХреНрд╢рди getComponent () {
		 $ рдпрд╣-> рдЖрдИрдбреА = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдкреЗрд▓";
		 $ рдпрд╣-> рдПрдХреНрд╢рдирдХреЛрдб = 1;
		 $ рдпрд╣-> рдмреЙрдбреА = ".. рдкреИрдирд▓ рдХреЗ рдЕрдиреБрд░реВрдк ..";
	 }
 }

 $ рдЖрд░рдбреА = рдирдпрд╛ рдЖрд░рдбреА ();

 рдЕрдЧрд░ (isset ($ _ POST ["ctrl_action"])) {
	 call_user_method ($ _ POST ["ctrl_action"], $ rd);
 }
 $ rd-> рдЙрддреНрддрд░ ();
 ?> 




рд▓рд┐рдмрд╛рд╕ / рдХрдВрдЯреНрд░реЛрд▓рд░ред lib.php





  <?
 // рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ
 рд╡рд░реНрдЧ рдирд┐рдпрдВрддреНрд░рдХ {
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ $ рдПрдХреНрд╢рдирдХреЛрдб = 1;
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ $ ErrorMsg = "";
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ $ рд╢рд░реАрд░ = "";
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ $ ID = "";


 рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ ($ рд╕рдВрджреЗрд╢ = "", $ рдЗрд░реНрд░реЙрдореНрд╕рдЧ = "") {
	 if ($ рд╕рдВрджреЗрд╢) $ this-> рдмреЙрдбреА = $ рд╕рдВрджреЗрд╢;
	 if ($ рдЧрд▓реНрдд) рдЗрд╕ $ -> ErrorMsg = $ рдЗрд░реЛрд░рдореЙрдЧ;
		 $ рдмрд╛рд╣рд░ = '{
		 "рдПрдХреНрд╢рдирдХреЛрдб": "'ред $ рдпрд╣-> рдПрдХреНрд╢рдирдХреЛрдбред" "
		 "ID": "'ред $ рдпрд╣-> IDред" "
		 "ErrorMsg": "'ред ($ рдпрд╣-> ErrorMsg; Addslashes (preg_replace" ("/ [[\ r \ n] /",)
		 	 "", $ рдпрд╣-> ErrorMsg)): "") '' ''ред
		 "рдмреЙрдбреА": "'ред ($ рдпрд╣-> рдмреЙрдбреА? рдПрдбрд▓реНрдбрд▓реИрд╢ (рдкреНрд░реАрдЧ_рд░реЗрдкреНрд▓реЗрд╕) (" / [\ r \ n] / ", 
			 "", $ рдпрд╣-> рдмреЙрдбреА)): "")ред '' ''
		 } ';
	 рд╢реАрд░реНрд╖ рд▓реЗрдЦ ("рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / html; рдЪрд╛рд░рд╕реЗрдЯ = рдпреВрдЯреАрдПрдл -8");
	 $ рдмрд╛рд╣рд░ рдкреНрд░рд┐рдВрдЯ; 
	 рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ;
	 }
 } 
 ?> 




рдЬрдм рдирд┐рд░реНрджреЗрд╢ showBlock рд╡реЗрдм рдкреЗрдЬ ("UserPanel") рдХреЗ HTML рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдХ рдРрдк / ajax_controllers / userpanel / index.inc.php рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Ctrl_action рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд░реЛрдзрд┐рдд рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЪрд░ рдЖрдИрдбреА, рдПрдХреНрд╢рдирдХреЛрдб, рдмреЙрдбреА рдХреЗ рд╕рд╛рде рдПрдХ JSON рд╕рдВрд░рдЪрдирд╛ рджреЗрддрд╛ рд╣реИред JS рдлрд╝рдВрдХреНрд╢рди CtrlRespond () рдкрд░рд┐рдгрд╛рдореА рдЪрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИредActionCode == 1 рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде BODY рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд░рдд рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред



рдЬреИрд╕реЗ рд╣реА рд╣рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ рдорд┐рд▓рд╛, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред



js / рд╕рд╛рдорд╛рдиреНрдп.рдЬреЗрдПрд╕





 // рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬреЗрдВ
рдлрд╝рдВрдХреНрд╢рди рд░рдЬрд┐рд╕реНрдЯрд░рдпреВрдЬрд╝рд░ (obj) {
	if (obj.login.value == '' || obj.password.value == '' || 
	obj.email.value == '' || obj.fullname.value == '' || obj.gencode.value == ''
	) showSystemMessage ('рдлреЙрд░реНрдо рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ' рдореЗрдВ рднрд░рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП);
	рд╡рд░рдирд╛ YAHOO.util.Connect.asyncRequest ('POST', "http: // рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ / рдирд┐рдпрдВрддреНрд░рдХ / userpanel /") 
		рдХреЙрд▓рдмреИрдХ, "ctrl_action = createUser & login =" +
		obj.login.value + "рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб =" + obj.password.value +
		"&email="+obj.email.value+ "&fullname="+
		obj.fullname.value+"&gencode="+obj.gencode.value);
 }

 ...

//   
var CtrlRespond = function(obj){
 ...
	if( respondStructure.ActionCode==2 ) return showSystemMessage(respondStructure.Body); 
 ...
 }; 




app/ajax_controllers/userpanel/index.inc.php





 <?
//    
class RD extends controller {
 ...
	function createUser() {
	if(!$_POST) { $this->ErrorMsg = "   ";  рдЭреВрдареЗ рд▓реМрдЯрдирд╛;  }
	if(!$this->user->add($data)) { $this->ErrorMsg = 
		"   ";  рдЭреВрдареЗ рд▓реМрдЯрдирд╛;  }
	$this->ActionCode = 2;
	$this->Body = "  ";
	 }
 ...
 }
 ?> 




рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рдореЗрдВ рдПрдХ рдмрдЯрди рд╣реЛрддрд╛ рд╣реИ <рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ = "рдмрдЯрди" рдореВрд▓реНрдп = "рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдВ" onclick = "рд░рдЬрд┐рд╕реНрдЯрд░ рдпреВрдЬрд░ (рдпрд╣)">ред рдЬрдм рдЖрдк рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рдкрддреНрд░ рд╕реЗ рдбреЗрдЯрд╛ рдРрдк / ajax_controllers / userpanel / index.inc.php рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП createUser () рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрджреНрдзрддрд┐ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, ErrorMsg рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢, ActionCode рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЛрдб рдпрд╛ рдмреЙрдбреА рд╕рдВрджреЗрд╢ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдлрд▓ рдирд┐рд░реНрдорд╛рдг рдкрд░, рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ред



рдЗрд╕реА рддрд░рд╣, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рд▓реЙрдЧрд┐рди рдпрд╛ рдИрдореЗрд▓ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдХреНрд░рдорд╢рдГ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдРрдк / ajax_controllers / userpanel / index.inc.php checkLogin рдФрд░ checkEmail рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗред рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕реНрд╡рдпрдВ BODY рдЪрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдПрдХ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛, рдЖрдк рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлрд╝реЙрд░реНрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЙрд╕рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШрдЯрдХреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП AJAX рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред



рдЯреИрдЧ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред



рдЯреИрдЧ рдореЗрдШ



 <?
рдлрд╝рдВрдХреНрд╢рди cmp_tag ($ a, $ b) {
	if ($ [["рдЯреИрдЧ"] == $ b ["рдЯреИрдЧ"]) рд╡рд╛рдкрд╕реА 0;
	рд╡рд╛рдкрд╕реА strcmp ($ [["рдЯреИрдЧ"], $ b ["рдЯреИрдЧ"]);
 }
рдлрд╝рдВрдХреНрд╢рди getClouds () {
	рд╡реИрд╢реНрд╡рд┐рдХ $ db;
	$ рд▓рд╛рдЗрдиреЗрдВ = рд╕рд░рдгреА ();
	$sizes = array( "x-small", "small", "medium", "large", "x-large" );
	$sql = "SELECT * FROM ".TAGCLOUDINDEXTABLE." LIMIT 0,20";
	$sth = $db->prepare($sql);
	$sth->execute();
	$result = $sth->fetchAll(PDO::FETCH_ASSOC);
	if(!$result) return false;
	$indexes = array();
	$tags = array();
	foreach ($result as $line) {
		$tags[trim($line["tag"])] = $line["tag_index"];
		$indexes[] = $line["tag_index"];
	 } 
	$min = min($indexes);
	$max = max($indexes);
	$range = ($max-$min);
	foreach ($tags as $tag => $index) {
		$lines[$tag]["tag"] = $tag;
		$lines[$tag]["tag_index"] = $index;
		$lines[$tag]["size"] = $sizes[sprintf("%d", ($index-$min)/$range*4 )];
		$ рд▓рд╛рдЗрдиреЗрдВ [$ рдЯреИрдЧ] ["рд╢реАрд░реНрд╖рдХ"] = "рдЯреИрдЧ"ред $ рдЯреИрдЧред "рдкрд╛рдпрд╛"ред $ рдЗрдВрдбреЗрдХреНрд╕ред ' рд╕рдордп ';
	 }
	usort ($ рд▓рд╛рдЗрдиреЗрдВ, "cmp_tag");
	$ рд▓рд╛рдЗрдиреЗрдВ рд▓реМрдЯрд╛рдПрдВ;
 } 

 ?> 




рдкреЙрдк-рдЕрдк рд╕рдВрджрд░реНрдн рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдИ рдЧрдИ рдереА, рдХреЗрд╡рд▓ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рдордп рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реАрдзреЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдореЗрд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдерд┐рд╕реЙрд░рд╕ ( http://www.phpclasses.org/browse/package/3505.html ) рдореЗрдВ рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ, рдбрд┐рд╕реНрдкреНрд▓реЗрд┐рдВрдЧ рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдЯрд┐рдкреНрд╕ рдХреЗ рдХрд╛рдо рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред



рдЯреВрд▓рдЯрд┐рдк рдЙрджрд╛рд╣рд░рдг



рдЕрдиреБрдХреВрд▓рди



рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рддрд╣рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЙрдЪреНрдЪ рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред



рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдиреБрд╕реВрдЪрдХ (CRONTAB) рдХреЛ "рд╣рд░ 30 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░" рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдВред GET рдХреНрд░рд┐рдПрдЯрдЪреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ (/ usr / bin / php -f / full address / index.php "& createcache = on") рдХреЗ рд╕рд╛рде index.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рд┐рд╕реНрдЯрдо рд╣рд░ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдЫрд╡рд┐ рдмрдирд╛рдПрдЧрд╛ред рдпрд╛рддреНрд░рд╛рдУрдВ рдХреА рдЙрдЪреНрдЪрддрдо рдЖрд╡реГрддреНрддрд┐ рдЖрдорддреМрд░ рдкрд░ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд╣реЛрддреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ HTML рд▓реМрдЯрд╛ рджреЗрдЧреА, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░, рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧреА рдЖрджрд┐ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣рд╛рдпрдХ рдШрдЯрдХреЛрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдирд▓ рдФрд░ рдЕрдиреНрдп) рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛ред рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рднреА рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ GET рдЪрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:



 рдЕрдЧрд░ (isset ($ _ GET ["ctrl_action"]))) {
	call_user_method ($ _ GET ["ctrl_action"], $ rd);
 } 




рд╕реНрд░реЛрдд рд╡рд░реНрдЧ рдХреЗ рдкреНрд░рддрд┐рд╕рд╛рдж рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╢ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рдЬреЛрдбрд╝реЗрдВ:



 $ рдмрд╛рд╣рд░ рдкреНрд░рд┐рдВрдЯ; 
рдЕрдЧрд░ (isset ($ _ GET ["createcache"]))
	file_put_contents (ROOT_PATHред "рдХреИрд╢ /"ред md5 ("ajax_controllers {$ CTRLPATH}")ред "ред tmp", $ OUT);
рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ; 




рдЕрдм, рдЬрдм рд╕реАрдзреЗ рдХрдВрдЯреНрд░реЛрд▓рд░, рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ / рдХрдВрдЯреНрд░реЛрд▓рд░ / рдЯреИрдЧрдХреНрд▓рд╛рдЙрдб рдкрд░ рдкрд╣реБрдБрдЪ рд░рд╣рд╛ рд╣реИ ? ctrl_action = getComponent & createcache = on рдЗрд╕рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдмрдирд╛рдПрдЧрд╛ред

рдпрд╣ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ (/ usr / bin / php -f / full address / index.php "& ctrl_action = getComponent & createcache = on & request/uri// рдирд┐рдпрдВрддреНрд░рдХ / tagcloud /") рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реИ (рдХрд╣рддреЗ рд╣реИрдВ, рдЯреИрдЧ рдХреНрд▓рд╛рдЙрдб рдХреЛ рд╣рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ 2 рдШрдВрдЯреЗ)ред рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ рдХрд┐ рдЖрд░рдВрднрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдРрдк / init.inc.php рдореЗрдВ GET request_uri рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рд╣реИред рдпрджрд┐ рдПрдХ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ $ _SERVER ['REQUEST_URI'] рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдирд┐рд╖реНрдХрд░реНрд╖



рдЗрд╕ рдкрд╛рдЧрд▓ рд╕рдордп рдореЗрдВ, рдЬрдм рд╡реЗрдм 2.0 рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдореВрд▓реНрдп рд▓рд╛рдЦреЛрдВ рдбреЙрд▓рд░ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░реВрд╕ рдореЗрдВ рднреА, рдЗрд╕ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЦреБрдж рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИред рдмрд╛рдЬрд╛рд░ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖, рдЗрд╕рдХрд╛ рдкреВрдВрдЬреАрдХрд░рдг рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрддреНрдкрд╛рдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рд╡реЗрдм 2.0 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧрд╛рдЗрдб рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдк рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдкрде рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВред рдореИрдВ рдпрд╣рд╛рдВ рдпрд╣ рднреА рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐, рдПрдХ рдкрдХрдбрд╝ рдкрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕рдордп рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм 2.0 рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЛ "рдкреБрдирд░реНрдЬреАрд╡рд┐рдд" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рдЖрдкрдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдЖрдЧреЗ рдмрдврд╝реЛ рдФрд░, рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЖрдкрдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдВрдЧ рдореЗрдВ рд╣реЛрдЧрд╛, рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЛ рдЙрдореНрдореАрдж рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд▓рд╛рдПрдЧрд╛ред рд╡реЗрдм 2.0 рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕, рдорд╛рдирд╡ рдирд┐рд░реНрдорд┐рдд рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕ рдХреА рднрд╛рд░реА рд╕рдлрд▓рддрд╛ рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╣рд╛рдирд┐рдпрд╛рдВ рд╣реИрдВ,рдХрд┐рд╕рдиреЗ рд╣рд┐рдореНрдордд рдХреАред рд╢рд╛рдпрдж рд╕рдордп рдореЗрдВ рдЖрдкрдХреА рд╕рдлрд▓рддрд╛ рдХреА рдХрд╣рд╛рдиреА рд╡рд╣рд╛рдБ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд╕реМрднрд╛рдЧреНрдп! ..



рдореВрд▓ рд▓реЗрдЦ рдкреАрдбреАрдПрдл рдореЗрдВ



All Articles