XenForo: рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдлреЛрд░рдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди

рд╢реБрдн рджреЛрдкрд╣рд░



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдирдП рдордВрдЪ рдЗрдВрдЬрди XenForo, VBulletin рдФрд░ IPB рдХреЗ рдПрдХ рдирдП рдкреНрд░рддрд┐рдпреЛрдЧреА рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рдХреЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдореИрдВ рдХрд┐рддрдирд╛ рд╕рдлрд▓ рд╣реЛрдЧрд╛ред XenForo рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, VBulletin3, рд╕рд╛рдЗрд░рд╕ рдФрд░ рдорд╛рдЗрдХ рдХреЗ рдкреВрд░реНрд╡ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдереЛрдбрд╝рд╛ рд▓рд┐рдЦрд╛ рдерд╛ ред









рдЖрдпрд╛рдо



XenForo рдХреЛрдб рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХрд╛ рдЖрдХрд╛рд░ 3.24 рдПрдордмреА (3 405 312 рдмрд╛рдЗрдЯреНрд╕) рд╣реИред рдПрдХ рдФрд░ 8.31 рдПрдордмреА (8 724 429 рдмрд╛рдЗрдЯреНрд╕) рдЬрд╝реЗрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХреНрд╕рдирдлрд╝реЛрд░реЛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред



MVC



XenForo рдкреВрд░реА рддрд░рд╣ рд╕реЗ MVC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдореЙрдбрд▓, рд╡рд┐рдЪрд╛рд░ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВред рд░реВрдЯ рдЗрдВрдбреЗрдХреНрд╕ред рдПрдлрдкреА рдЖрдХрд╛рд░ рдореЗрдВ 467 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

$fc = new XenForo_FrontController(new XenForo_Dependencies_Public()); $fc->run();
      
      





рдмреЗрд╢рдХ, рдХреНрд▓рд╛рд╕ рдСрдЯреЛрд▓реИрдбрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИред ZF рдореЗрдВ рдХреНрд▓рд╛рд╕ рдирд╛рдордХрд░рдг рдкреНрд░рдгрд╛рд▓реАред



MVC рд╕реНрд╡рдпрдВ рдЕрднреА рднреА рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ Zend рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ XenForo_Controller рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд ZF рд╡рд░реНрдЧреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред



рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ: рд╡рд░реНрдЧ XenForo_ControllerPublic_Forum, XenForo_ControllerPublic_Abstract рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рдореНрдлрдиреА рдХреЗ рдмрд╛рдж, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕рдХреА рдЖрджрдд рдбрд╛рд▓ рд▓реЗрддреЗ рд╣реИрдВред



рд░реВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдВрдбрд▓рд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЗ рд▓рд┐рдП URL рдЙрдкрд╕рд░реНрдЧ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдПрд╕рдИрдУ, рдмрд┐рд▓реНрдХреБрд▓ред рдХреЛрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд╕рд╛рдордЧреНрд░реА рдореЙрдбрд▓



XenForo рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ :) рд╡реИрд╕реЗ рднреА, рдлреЛрд░рдо рдЗрдВрдЬрди рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░, рдореИрдВ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рдордЭрджрд╛рд░ рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдЖрдпрд╛ рдерд╛, рдбреНрд░реБрдкрд▓ рдХреА рдпрд╛рдж рддрд╛рдЬрд╛ рдХрд░рддреА рд╣реИ ("рд╕рдм рдХреБрдЫ рдПрдХ рдиреЛрдб рд╣реИ, рдпрд╛рдж рд╣реИ?)ред" рдЕрдм рддрдХ XenForo рдореЗрдВ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИ: рд╢реНрд░реЗрдгреА, рдордВрдЪ рдЕрдиреБрднрд╛рдЧ, рдкреГрд╖реНрда рдФрд░ рд▓рд┐рдВрдХ (рдирд┐рдпрдорд┐рдд рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд)ред рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдиреЛрдб рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреЛрдб рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкреВрд░реНрд╡рдЬ / рд╡рдВрд╢рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╕реНрдлреЛрдЯрдХ рдорд┐рд╢реНрд░рдг, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреГрд╖реНрда рдФрд░ рдЗрд╕рдХреЗ рдордВрдЪ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, :) рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдХреА HTML рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ PHP рд╣реИрдВрдбрд▓рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛, рдкреГрд╖реНрда рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛, рдЗрд╕рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдЧрд╛, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рднреА рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИред PHP рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рд╣рд░ рдЬрдЧрд╣ PHP рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд░реНрдЧ рдФрд░ рд╡рд┐рдзрд┐ рдирд╛рдореЛрдВ рд╕реЗред рдЬрдм рд╣реБрдХ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕ рдХреЛ рдСрдЯреЛрд▓реИрдбрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред



рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдЕрднреА рднреА рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рд╣реИрдВ; рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЙрдирдХреЗ рдирд╛рдо рднреА рд╕реНрдерд╛рдиреАрдп рдирд╣реАрдВ рд╣реИрдВред



рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛



XenForo рдХреГрдкрд╛рдг рдФрд░ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕реЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рдХреЛрдб рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐

 ............ /*require_once('Zend/Loader/Autoloader.php'); $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->pushAutoloader(array($this, 'autoload'));*/ spl_autoload_register(array($this, 'autoload'));
      
      





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



ZF рд╕реЗ рдмрд╣реБрдд рдХрдо рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ, Zend_Registry (рдПрдХ XenForo_Db рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рдВрдЧрд▓рдЯрди рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ), Zend_Config, Zend_Cache (рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреИрд╢, XenForo_Model рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), Zend_Service_ReCaptcha, Zend_Hon.ch



рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо XenForo_DB рд╡рд░реНрдЧ рдореЗрдВ рд▓рд┐рдкрдЯреЗ Zend_DB рдмрдВрдбрд▓ (Zend_Db_Adapater_Abstract and Co.) рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдлрд┐рд░ рд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмрд╛рдж рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред



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



рдПрдбрдСрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░



рдордВрдЪ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╣реИрдВрдбрд▓рд░ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд░реНрдЧ рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬреЛ рдЖрдкрдХреЛ рдПрдкреАрд╕реА рдЬреИрд╕реЗ рддреНрд╡рд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдРрдб-рдСрди рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╣реИрдВрдбрд▓рд░ рдХреА рд╕реВрдЪреА рдХреЛ * .xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд▓рд┐рдЦрд╛рд╡рдЯ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдпрд╣ рдлреЛрд░рдо рдкрд░ рдбрд┐рдмрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, PHP рдПрдбрдСрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рдЙрдкрдпреБрдХреНрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред XenForo рд╡рд░реНрдЧ / рдкреБрд╕реНрддрдХрд╛рд▓рдп / XenForo рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХрд╛ / рдкреБрд╕реНрддрдХрд╛рд▓рдп / VasyaCorp рдореЗрдВ рд╣реЛрдЧрд╛ред рдореИрдВ рдЗрд╕рд╕реЗ рдЦреБрд╢ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рдлреА рдмрд╛рд░ рдореИрдВ VBBletin рд╕реЗ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред



рдЪреВрдВрдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдРрдбрдСрди рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣реБрдХ рдХреЗ рд╕рд╛рде рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде * .xml рдкреНрд▓рдЧрдЗрди рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ XenForo рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред рдЖрдк рдЙрдиреНрд╣реЗрдВ XenForo рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдордирдорд╛рдиреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ VBulletin рдореЗрдВ рдерд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



рд╣реБрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореИрдВ рдереЛрдбрд╝рд╛ рд╣реИрд░рд╛рди рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ VBulletin рдореЗрдВ рд╣реБрдХ рдХреА рдЧрдЧрдирднреЗрджреА рдорд╛рддреНрд░рд╛ рд╕рднреА рдХреЛ рдпрд╛рдж рд╣реИ рдЬреЛ рд╕рд┐рд░ рдореЗрдВ рднреА рдирд╣реАрдВ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ? XenForo рдореЗрдВ рдХреЗрд╡рд▓ 17 рд╣реБрдХ рд╣реИрдВ! рдЗрд╕ рддрд░рд╣ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЙрдирдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЙрдирдХреЗ рдирд╛рдо рд╣реИрдВ:







рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХреЛрдб рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ load_class_ * рд╣реБрдХ рдкрд░рд┐рд╡рд╛рд░ рдХреЛ XenForo рд╡рд░реНрдЧ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЛрдб рд╣реИ:



 public static function resolveDynamicClass($class, $type, $fakeBase = false) { if (!XenForo_Application::autoload($class)) { if ($fakeBase) { $fakeNeeded = true; } else { return false; } } else { $fakeNeeded = false; } if (!empty(self::$_classCache[$class])) { return self::$_classCache[$class]; } $createClass = $class; $extend = array(); XenForo_CodeEvent::fire('load_class_' . $type, array($class, &$extend)); if ($fakeNeeded) { if (!$extend) { return false; } eval('class ' . $class . ' extends ' . $fakeBase . ' {}'); } if ($extend) { try { foreach ($extend AS $dynamicClass) { // XenForo Class Proxy, in case you're wondering $proxyClass = 'XFCP_' . $dynamicClass; eval('class ' . $proxyClass . ' extends ' . $createClass . ' {}'); XenForo_Application::autoload($dynamicClass); $createClass = $dynamicClass; } } catch (Exception $e) { self::$_classCache[$class] = $class; throw $e; } } self::$_classCache[$class] = $createClass; return $createClass; }
      
      







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



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣реБрдХ рдХреА рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдЙрдирдХреА рд╢рдХреНрддрд┐ рд╕реЗ рдХрд╛рдлреА рдореБрдЖрд╡рдЬрд╛ рд▓рдЧрддреА рд╣реИред



рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рдгрд╛рд▓реА



рд╕рднреА рдЖрдзреБрдирд┐рдХ рдордВрдЪреЛрдВ рдХреА рддрд░рд╣, XenForo рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВред рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ (рдиреАрдЪреЗ рдЕрдВрд╢ рджреЗрдЦреЗрдВ), рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред PHPTAL ("nameless" XML / HTML) рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, platform_list рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ forum_list, node_list (рдЗрд╕реЗ forum_list рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ), node_list.css, sidebar.css, sidebar_online_users рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ xen рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ: рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рднреА рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



 <xen:require css="node_list.css" /> <xen:if hascontent="true"> <fieldset> <ol class="nodeList sectionMain" id="forums"> <xen:contentcheck> <xen:foreach loop="$renderedNodes" value="$node">{xen:raw $node}</xen:foreach> </xen:contentcheck> </ol> </fieldset> </xen:if> ------------------------------------- <xen:edithint template="node_link.css" /> ------------------------------------- <xen:contentcheck> <xen:foreach loop="$onlineUsers.records" value="$user"> <xen:if is="{$user.is_moderator} OR {$user.is_admin}"> <li> <xen:avatar user="$user" size="s" img="true" /> <a href="{xen:link members, $user}" class="username">{xen:helper richUserName, $user}</a> <div class="muted">{xen:helper userTitle, $user}</div> </li> </xen:if> </xen:foreach> </xen:contentcheck>
      
      







рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╕рд╣рд╛рдпрдХ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рд┐рдореНрдлрдиреА рдореЗрдВ рд╣реИ, рд╕рд┐рд░реНрдл рдПрдХ рдХреНрд▓рд╛рд╕ рдкрджреНрдзрддрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рд╕рд╣рд╛рдпрдХ рд╣реЗрд▓реНрдкрд░рд▓рд┐рдВрдХ рд╕рд╣рд╛рдпрдХ рдХреЛрдб рд╣реИ:

 public static function helperUserLink(array $user) { return '<a href="' . XenForo_Link::buildPublicLink('members', $user) . '" class="username">' . htmlspecialchars($user['username']) . '</a>'; }
      
      







рдЦреЛрдЬ рдЗрдВрдЬрди



XenForo рдореЗрдВ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рдкрд░реАрдд рдЬрд┐рд╕реЗ рдореИрдВ VB рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рднреНрд░рдорд┐рдд рдереЗ, рд╡реЗ рдмрд╕ рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), XenForo_Search_SourceHandler_Abstract рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ - MySqlFt.php (рд╡рд░реНрдЧ XenForo_Search_SourceHandler_MySqlFt, XenForo_Search_SourceHandler_Abstract рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Sphinx рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлреИрд╢рди рдЖрдЬ рдРрд╕рд╛ рд╣реИ :) рдлрд╝реЛрд░рдо рдкрд╣рд▓реЗ рдЬреИрд╕реЗ рдирд╣реАрдВ рд╣реИрдВред рдЫрд▓рд╛рдВрдЧ рдФрд░ рд╕реАрдорд╛ рд╕реЗ рдмрдврд╝рдирд╛ ...



рдХрд┐рд╕реА рдЕрдиреНрдп рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдмреАрдЯрд╛ рд╣реИред



рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА



рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ VBulletin рд╕реЗ рдЕрдкрдиреЗ рдПрдирд╛рд▓реЙрдЧ рдХреЛ рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рддреА рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╕рдореВрд╣ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣рд╛рдБ рдЕрдВрдЧреНрд░реЗрдЬреА рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рд╣реИ:

 <?xml version="1.0" encoding="utf-8"?> <phrases> <phrase title="1_more_message" global_cache="0" version_id="1000017" version_string="1.0.0 Alpha 7"><![CDATA[1 more message]]></phrase> <phrase title="about" global_cache="0" version_id="1000015" version_string="1.0.0 Alpha 5"><![CDATA[About]]></phrase>
      
      







рдкреНрд░рддреНрдпреЗрдХ рдРрдбрдСрди рдХреЗ рдЕрдкрдиреЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рд╕реАрдзреЗ рдРрдб-рдСрди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд╡реИрд╕реЗ, XenForo рдХрд╛ рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд▓рдЧрднрдЧ рддреИрдпрд╛рд░ рд╣реИ ред



рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА



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



рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА



рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдХрд╣реЛ, рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╕реЗ? рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд╕рд╛рде WP рд╕реЗ XenForo рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ! рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ XenForo_Authentication_Abstract рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ XenForo рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ xf_user_authenticate рддрд╛рд▓рд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ рдЖрдкрдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред



рд╕рдВрдЪрд╛рд░ рд╕реЗрд╡рд╛рдПрдВ



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

 <?php class XenForo_Model_IdentityService_Icq extends XenForo_Model_IdentityService_Abstract { protected function _getIdentityServiceId() { return 'icq'; } static public function verifyAccountName(&$accountName, &$error) { if (!preg_match('/^\d+$/', $accountName)) { $error = new XenForo_Phrase('please_enter_valid_icq_uin_using_numeric_characters_only'); return false; } return true; } }
      
      







рдЕрдм рдХреЛрдИ рднреА рдЕрдкрдиреА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ ICQ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд╛рдЗрди "рдКрди рдХреЗ рдореЛрдЬрд╝реЗ рдмреЗрдЪрдиреЗ" рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ :)



рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА



рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣ рдХреЗ рдкрд╛рд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВред рд╕рд╛рде рд╣реА, рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЛрдб рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╣реИрдВред



рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИрдВред рдЗрдирд╣реЗрд░рд┐рдЯ, рдЕрдиреБрдорддрд┐, рдирд┐рд░рд╕реНрдд, рдЕрд╕реНрд╡реАрдХрд╛рд░ред рдЕрдм рддрдХ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдпрд╛ рд╣реВрдВ рдХрд┐ рд░реЗрд╡реЛрдХ, рдбреЗрдиреА рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд┐рд╡реЛрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдореВрд╣ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред



рдлреЛрд░рдо рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдРрдб-рдСрди рдЙрдиреНрд╣реЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ)ред рдХреЛрдб рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 $users[$userId]['canCleanSpam'] = (XenForo_Permission::hasPermission($visitor['permissions'], 'general', 'cleanSpam') && $this->getModelFromCache('XenForo_Model_User')->couldBeSpammer($users[$userId]));
      
      







рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдкреНрд░реЗрд╢рди



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



рд╡реИрд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ PHPBB3 рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рдерд╛, рдореИрдВ рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ XenForo рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕реНрдкрд╖реНрдЯ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддреА рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВрдиреЗ PHPBB3 рдореЗрдВ рдХрднреА рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╣рдо рд╕рд┐рдореНрдлрдиреА 2 рдкрд░ рдЪрд╛рд░ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗ ...



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



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



All Articles