рдЪрд░рдг рджрд░ рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ phpBB рдлреЛрд░рдо рдХреЛ Yii рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдордВрдЪ рдХреЛ Yii рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдордВрдЪ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ рдмреЛрдирд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡реИрдз рд╕рд╛рдЗрдЯ рд╣реИ рдЬреЛ рд╡рд╛рдИ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рдлрд┐рд░ рдЖрдкрдХреЛ рдордВрдЪ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдордВрдЪ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ phpBB рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рджрд░рд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "/ рдордВрдЪ " рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝реЛрд░рдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ рджрд░рд╛рд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХрд╛ рднреА рдкрд╛рд▓рди рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╕реЗ рджрд░рд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реИрдВред Russification, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рджрд░рд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ)
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ Yourite.com/forum/index.php рдЦреЛрд▓реЗрдВ, рдЖрдкрдХреЛ рдлрд╝реЛрд░рдо рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреГрд╖реНрда рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ " / рдордВрдЪ / рдЗрдВрд╕реНрдЯреЙрд▓ " рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдлрд╝реЛрд░рдо рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ " /forum/config.php " рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:
@define('DEBUG', true); @define('DEBUG_EXTRA', true);
рдпрд╣ рдлреЛрд░рдо рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдЧрд╛ рдФрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред - Yii рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ ( рдореВрд▓ рдпрд╣рд╛рдВ рд╣реИ ), рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рддрдп рдХрд┐рдпрд╛ред
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ "" / рд╕рдВрд░рдХреНрд╖рд┐рдд / рдПрдХреНрд╕рдЯреЗрдВрд╢рди / phpBB "рдлрд╝рд╛рдЗрд▓ рдореЗрдВ" /protected/config/main.php "рдЬреЛрдбрд╝реЗрдВред
'components'=>array( 'phpBB'=>array( 'class'=>'ext.phpBB.phpBB', 'path'=>'webroot.forum', ), 'user'=>array( 'class'=>'PhpBBWebUser', 'loginUrl'=>array('/site/login'),
- рдЕрдЧрд▓рд╛, рд╣рдо рд╕рдм рдХреБрдЫ рдЙрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ , рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдмрд╛рдд рд▓рд┐рдЦреВрдВрдЧрд╛, рдХреЗрд╡рд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рдмреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ред
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреА Yii рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:
- рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ " / рд╕рдВрд░рдХреНрд╖рд┐рдд / рдШрдЯрдХ " рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ " PhpBBWebUser.php ", рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде:
<?php class PhpBBWebUser extends WebUser{ private $_identity; public function login($identity, $duration=0) { $this->_identity = $identity; return parent::login($identity, $duration); } protected function afterLogin($fromCookie) { if ($this->_identity !== null) { if (Yii::app()->phpBB->login($this->_identity->username, $this->_identity->password) != 'SUCCESS') { Yii::log(" ({$this->_identity->username})", CLogger::LEVEL_ERROR); } } parent::afterLogin($fromCookie); } protected function afterLogout() { Yii::app()->phpBB->logout(); parent::afterLogout(); } }
- рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ (Yii) рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
protected function afterSave() { if ($this->isNewRecord) {
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ рдХреА рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
Yii::app()->phpBB->changePassword($user_login, $user_new_password);
- рдпрджрд┐ рдЖрдкрдХреЛ рдордВрдЪ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ " /forum/ucp.php " рдореЗрдВ рд╣рдо рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ:
case 'register': header('location: /site/registration'); exit(); case 'login': header('location: /site/login'); exit(); case 'logout': header('location: /site/logout'); exit();
рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдореЗрдВ рдлрд╝реЛрд░рдо рдХреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЖрдЧреЗ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрдИрдлрд╝реНрд░реЗрдо рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдФрд░ рдмрд┐рдирд╛ рджреЛ-рдкрд╣рд┐рдпрд╛ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдВрджрд░ рдлреЛрд░рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╣рдо Yii рдХреЛ рд╕реАрдзреЗ рдордВрдЪ рд╕реЗ рдЬреЛрдбрд╝реЗрдВрдЧреЗ:
- рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ " /forum/yiiapp.php " рдмрдирд╛рдПрдБ:
<?php
- рдлрд╝рд╛рдЗрд▓ рдореЗрдВ " /forum/index.php " (рдордВрдЪ рдХрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда), рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрд╣реБрдд рдиреАрдЪреЗ рдЬреЛрдбрд╝реЗрдВ:
include "yiiapp.php"; $controller = new Controller('bbforum');
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЧреЗ рдкреЗрдЬ_рдлреБрдЯреЗрд░ () рдкреГрд╖реНрда рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ (рдЕрдиреНрдп рдлрд╝реЛрд░рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ)ред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ (), рд╣рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ " /forum/includes/functions.php " рдЦреЛрд▓реЗрдВ, рд╡рд╣рд╛рдВ рдкреЗрдЬ_рдлреВрдЯрд░ () рдлрд╝рдВрдХреНрд╢рди рдвреВрдВрдвреЗрдВ рдФрд░ рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
function page_footer($run_cron = true) {
рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд▓рд╛рдЗрди
Yii :: app () -> рдХрдВрдЯреНрд░реЛрд▓рд░-> рд░реЗрдВрдбрд░рдкрд╛рд░реНрдЯрд┐рдпрд▓ рд╣реИ , рд╣рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдордВрдЪ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХрд╛рдо рдХрд╛ рдкреВрд░рд╛ рдкрд░рд┐рдгрд╛рдо Yii рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рдордВрдЪ рдХрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдЖрдкрдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рдордЧреНрд░реА рднрд╛рдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧрд╛
/ рд▓реЗрдЖрдЙрдЯ / рдореБрдЦреНрдп !
рдЖрдкрдХреЛ рдордВрдЪ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
viewforum.php ,
viewtopic.php ) рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдордВрдЪ рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреА рд╡рд╛рдИрдЖрдИ-рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рдКрдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдХрд╛рдо рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджреЗрдирд╛ рдерд╛;;
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдЕрдкрдиреЗ Yii- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдВрджрд░ рдмрд┐рд▓реНрдХреБрд▓ "рдХрд┐рд╕реА рднреА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!рдЕрджреНрдпрддрди: рдпрд╣рд╛рдБ рд▓реЗрдЦ рдХрд╛
рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг:
http://ivan-orlov.com/ru/articles/integraciya-phpbb-v-yii-framework