
рддреЛ, рдЖрдк рдПрдХ рд╡реЗрдм 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 рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕, рдорд╛рдирд╡ рдирд┐рд░реНрдорд┐рдд рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕ рдХреА рднрд╛рд░реА рд╕рдлрд▓рддрд╛ рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╣рд╛рдирд┐рдпрд╛рдВ рд╣реИрдВ,рдХрд┐рд╕рдиреЗ рд╣рд┐рдореНрдордд рдХреАред рд╢рд╛рдпрдж рд╕рдордп рдореЗрдВ рдЖрдкрдХреА рд╕рдлрд▓рддрд╛ рдХреА рдХрд╣рд╛рдиреА рд╡рд╣рд╛рдБ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд╕реМрднрд╛рдЧреНрдп! ..рдореВрд▓ рд▓реЗрдЦ рдкреАрдбреАрдПрдл рдореЗрдВ