MODX рдФрд░ Livestreet рдмрдВрдбрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВ modLivestreet рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ:
livestreet-0.3.0-rc.transport.zipрдирдпрд╛ рдХреНрдпрд╛ рд╣реИ рд╣рд╛рдВ, рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ :-) рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
1. LiveStreet рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрд░реНрдХ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╕реБрдзрд╛рд░)ред
2. MODX рдФрд░ LiveStreet рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдгред рдЕрдм MODX рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реБрдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ LiveStreet рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LiveStreet рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрдВрдЬреАрдХрд░рдг MODX рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рджреЛрдиреЛрдВ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрдЯ-рдСрдл рдХреЗ рддрд╣рдд, рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ MODX рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛рдПрдВ (рд╕рд░рд▓реАрдХреГрдд) рдФрд░ modLivestreet рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХрд┐ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде MODX рдФрд░ Livestreet рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВ рдмрд╛рдж рдореЗрдВ MODX рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ) рдХреА рдпреЛрдЬрдирд╛ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб рднреАред
UPD: github рдкрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг:
github.com/Fi1osof/modx-livestreetрдорд╛рдирдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдФрд░ modLivestreet рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ MODX рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рддреЛ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
1. рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рдЧрдЗрди рдХреЛ рджреЛ рдШрдЯрдирд╛рдУрдВ - onHandleRequest рдФрд░ onPageNotFound рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ Livestreet рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ (рдФрд░ Livestreet рдЪрд░ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдерд┐рд░ Livestreet рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ (рдЬреИрд╕реЗ рдХреИрдкреНрдЪрд╛) рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рд╣реИред
рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдФрд░ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдпрджрд┐, рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, MODX рдиреЗ рд▓реИрдВрдбрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд╛рдпрд╛, рддреЛ onPageNotFound рдШрдЯрдирд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдФрд░ рд▓рд╛рдЗрд╡рд╡реЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ livestreet.run рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ MODX рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ LiveStreet рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ MODX рдХреЛ рдХреЗрд╡рд▓ LiveStreet рдкрд░ рдЯрд╛рдИ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо MODX рдкрд░ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╕рд╛рдЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ / рдордВрдЪ / рдЕрдиреБрднрд╛рдЧ (рдпрд╛ рдПрдХ рдЕрд▓рдЧ forum.site.ru рдЙрдкрдбреЛрдореЗрди) рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдХреЙрд▓ [[! Livestreet.ru]] рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрдбрд╝ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд╕рд╛рдЗрдЯ), рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ livestreet.url_perfix '/ forum /' рдФрд░ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред /Forum/.* рдорд╛рд╕реНрдХ рдХреЗ рд╕рднреА рдЕрдиреБрд░реЛрдз LiveStreet рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╣рдореЗрдВ рд╣рдорд╛рд░рд╛ рдмреНрд▓реЙрдЧ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рдЖрдк рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд▓реЙрдЧ рдереНрд░реЗрдб рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред
рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ onPageNotFound рдШрдЯрдирд╛ рдХреЛ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ URL Livestreet рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ Livestreet рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реИред рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ: рдпрджрд┐ рдпрд╣ рдПрдХ Livestreet рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ, рддреЛ рдкрдВрдЬреАрдХрд░рдг рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ snippet.livestreet.ajax-registration.php рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдкреНрд▓рдЧрдЗрди рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╣реИ<?php switch($modx->context->key){ case 'web': break; default: return; } switch($modx->event->name){
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдХреЛрдИ рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
2. Snippet snippet.livestreet.run рдХрд╛ рдЙрдкрдпреЛрдЧ LiveStreet рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ <?php if($request_uri){ $_SERVER['REQUEST_URI'] = $request_uri; } ob_start(); @include $modx->getOption('livestreet.livestreet_path').$modx->getOption('livestreet.index_file'); $output = ob_get_contents(); ob_end_clean(); return $output;
рд╡рд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред Stupidly LiveStreet рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдмрдлрд░ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣, рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ MODX рдФрд░ LiveSteet рдореЗрдВ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЛ MODX рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рд▓рд┐рд╡рд╕реНрдЯреНрд░реАрдЯ рдореЗрдВ)ред
рдлрд┐рд░ рд╕реЗ рдЖрд░рдХреНрд╖рдг рд╣реИред Livestreet рдореЗрдВ, рд╕рд╛рдордЧреНрд░реА рдЖрдЙрдЯрдкреБрдЯ рдХреНрд▓рд╛рд╕ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдЬрд╛рдХреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рдореЗрдВ, рдПрд▓рдПрд╕ рдмреЗрд╡рдХреВрдлреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ (); рдЬреЛ рдкреВрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд░рд╛рд╕ рдореЗрдВ, рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдлрд╝рд╛рдЗрд▓ рдШрдЯрдХреЛрдВ рдореЗрдВ / livestreet / рдбреЙрдХреНрд╕ / forLiveStreet / рд╕реНрд░реЛрдд / рдЗрдВрдЬрди / рдореЙрдбреНрдпреВрд▓ / рджрд░реНрд╢рдХ / Viewer.club.pp
DisplayAjax рдореЗрдердб ($ sType = 'json') рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЬрдЧрд╣ (); рд╡рд╛рдкрд╕реА рдкрд░;
рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЗрдердб ($ sTemplate) рдХреЛ рдмрджрд▓реЗрдВ
if ($this->sResponseAjax) { $this->DisplayAjax($this->sResponseAjax); }
рдкрд░
if ($this->sResponseAjax) { $this->DisplayAjax($this->sResponseAjax); return; }
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ Livesreet рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рдо рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рддрд░реНрдХ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛ред
3. рд╕реНрдирд┐рдкреЗрдЯ livestreet.ajax- рдкрдВрдЬреАрдХрд░рдгред
рдпрд╣ рд╕реНрдирд┐рдкреЗрдЯ Livestreet рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкрдВрдЬреАрдХрд░рдг рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рд╕реНрдирд┐рдкреЗрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рд▓рд╛рдЗрд╡рд╕реНрдЯреНрд░реАрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рд▓рд┐рд╡реЗрд╕реНрдЯреНрд░реАрдЯ рдФрд░ рдЙрд╕ рд╕рднреА рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкрдВрдЬреАрдХрд░рдг рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз Livestreet рдХреЛ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ MODX (рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ / рдШрдЯрдХреЛрдВ / livestreet / рдкреНрд░реЛрд╕реЗрд╕рд░ / рд╕реБрд░рдХреНрд╖рд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / ajaxCreate.class.php рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд░реНрдЧ modUserCreateProcessor рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рд░ рд╕рд░рд▓ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрд╕реЗрд╕рд░ modx / рдкреНрд░реЛрд╕реЗрд╕рд░ / рд╕реБрд░рдХреНрд╖рд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / create.class.php рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ MODX рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛
рдЗрд╕ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╕реАрдзреЗ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдирдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ, рд╣рдо рдмрд╕ рдЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ
рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдЗрд╕
рддрдХрдиреАрдХ рдкрд░
рдЯрд┐рдк рдХреЗ рд▓рд┐рдП
bezumkin рдХреЗ рд▓рд┐рдП
рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж)ред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ <?php $file = MODX_PROCESSORS_PATH.'security/user/create.class.php'; if(!file_exists($file)){ class modLivestreetUserCreateErrorProcessor extends modProcessor { public function process() { $err = 'processor security/user/create not found'; $this->modx->log(modX::LOG_LEVEL_ERROR, $err); return $this->failure($err); } } return 'modLivestreetUserCreateErrorProcessor'; } require_once $file; class modLivestreetUserCreateProcessor extends modUserCreateProcessor { public $permission = ''; } return 'modLivestreetUserCreateProcessor';
рдЦреИрд░, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ MODX рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо OnBeforeUserFormSave рдЗрд╡реЗрдВрдЯ рдкрд░ рдЕрдкрдиреЗ livestreet_users рдкреНрд▓рдЧрдЗрди рдХреЛ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ <?php switch($modx->event->name){ case 'OnBeforeUserFormSave': switch($scriptProperties['mode']){
MODX рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдХреНрд╖рдг рдореЗрдВ, рд╕рднреА рдЬрд╛рдВрдЪреЛрдВ рдХреЗ рдмрд╛рдж (рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ), рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ LiveStreet рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рдпрд╛рд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо LiveStreet рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ MODX рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рдЕрдВрдд рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ MODX рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ MODX рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдлреНрд░рдВрдЯрдПрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ, рд╣рдо рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ MODX рдФрд░ LiveStreet рджреЛрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдПрд▓рдПрд╕ рдореЗрдВ рдИрдореЗрд▓ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдХреБрдВрдЬреА рд╣реИ)ред
рдпрд╣ рд╕рдм :-)
рдЗрд╕рд▓рд┐рдП рдореИрдВ MODX рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ :-) рд╣рдордиреЗ рдЗрдВрдЬрди рдХреЗ рдХреЛрдб рдХреЗ рдмрд╛рдЗрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдЗрдВрдЬрди рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди MODX рдХреЗ рддрд╣рдд рдХреЛрдИ рд╕рд╛рдорд╛рдЬрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди Livestreet рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ MODX рдЬреИрд╕реА API рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рднреА рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рде, рдпреЗ рдЗрдВрдЬрди рдПрдХ рдорд╣рд╛рди рдЙрддреНрдкрд╛рдж рджреЗ рд╕рдХрддреЗ рд╣реИрдВ! рдореИрдВ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред
UPD 2: рдирдИ рд░рд┐рд▓реАрдЬрд╝ рд░рд┐рд▓реАрдЬрд╝:
modlivestreet-0.4.1-rc.transport.zipрдирдИ:
1. рд╕рднреА рддрддреНрд╡реЛрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЕрдм modLivestreet рдЙрдкрд╕рд░реНрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдирдП рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрдХреАрдирди рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдПрдХ рдирдП рдореЗрдВ рдбрд╛рд▓рдиреЗ рдФрд░ рдореБрдЦреНрдп рдкреГрд╖реНрда рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
2. рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ /, / рдЕрдкрд▓реЛрдб /, рдЖрджрд┐ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб .p, рдЖрджрд┐ рдирд╣реАрдВред
рдмреЗрд╢рдХ, рдРрд╕реА рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдРрд╕реА рдлрд╛рдЗрд▓ / рд╕реНрдХрд┐рди / рдХреЙрдиреНрдлрд┐рдЧрд░ / рдореЗрдВ рд╣реЛрддреА рд╣реИред
UPD 3: рд╕реБрд░рдХреНрд╖рд╛ рдиреЛрдЯ:
modxlivestreet.ru/blog/modLivestreet_security/7.html