[feature/controller] Move main controller to controller directory

A few minor improvements to variables etc. were also added.

B3P-114
This commit is contained in:
Marc Alexander
2013-01-09 17:44:51 +01:00
parent d419c19324
commit 48bce54c48

View File

@@ -1,21 +1,85 @@
<?php <?php
/**
*
* @package Board3 Portal 2.1
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
class phpbb_ext_board3_portal_controller extends phpbb_extension_controller class phpbb_ext_board3_portal_controller_main extends phpbb_extension_controller
{ {
// extension root path /**
private $root_path = ''; * Auth object
* @var phpbb_aut
*/
private $auth;
/**
* phpBB Config object
* @var phpbb_config
*/
private $config;
/**
* Template object
* @var phpbb_template
*/
private $template;
/**
* User object
* @var phpbb_user
*/
private $user;
/**
* phpBB root path
* @var string
*/
private $phpbb_root_path;
/**
* PHP file extension
* @var string
*/
private $php_ext;
/**
* Portal root path
* @var string
*/
private $root_path;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
* the dependencies defined in the services.yml file for this service.
* @param phpbb_auth $auth Auth object
* @param phpbb_config $config phpBB Config object
* @param phpbb_template $template Template object
* @param phpbb_user $user User object
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
*/
public function __construct($auth, $config, $template, $user, $phpbb_root_path, $php_ext)
{
$this->auth = $auth;
$this->config = $config;
$this->template = $template;
$this->user = $user;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
$this->root_path = $phpbb_root_path . '/ext/board3/portal/portal/';
}
/** /**
* Extension front handler method. This is called automatically when your extension is accessed * Extension front handler method. This is called automatically when your extension is accessed
* through index.php?ext=example/foobar * through index.php?ext=example/foobar
* @return null * @return null
*/ */
public function handle() public function handle()
{ {
global $phpbb_root_path, $phpEx;
$this->root_path = $phpbb_root_path . '/ext/board3/portal/portal/';
$this->check_permission(); $this->check_permission();
// We defined the phpBB objects in __construct() and can use them in the rest of our class like this // We defined the phpBB objects in __construct() and can use them in the rest of our class like this
//echo 'Welcome, ' . $this->user->data['username']; //echo 'Welcome, ' . $this->user->data['username'];
@@ -45,11 +109,9 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
// check if user should be able to access this page // check if user should be able to access this page
private function check_permission() private function check_permission()
{ {
global $config, $auth, $phpbb_root_path, $phpEx; if (!isset($this->config['board3_enable']) || !$this->config['board3_enable'] || !$this->auth->acl_get('u_view_portal'))
if (!isset($config['board3_enable']) || !$config['board3_enable'] || !$auth->acl_get('u_view_portal'))
{ {
redirect(append_sid($phpbb_root_path . 'index.' . $phpEx)); redirect(append_sid($this->phpbb_root_path . 'index.' . $this->php_ext));
} }
} }
@@ -60,8 +122,6 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
*/ */
private function display_modules() private function display_modules()
{ {
global $template, $phpbb_root_path;
/** /**
* get initial data * get initial data
*/ */
@@ -94,7 +154,7 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
$class_name = 'portal_' . $row['module_classname'] . '_module'; $class_name = 'portal_' . $row['module_classname'] . '_module';
if (!class_exists($class_name)) if (!class_exists($class_name))
{ {
include("{$this->root_path}modules/portal_{$row['module_classname']}.$phpEx"); include("{$this->root_path}modules/portal_{$row['module_classname']}.{$this->php_ext}");
} }
if (!class_exists($class_name)) if (!class_exists($class_name))
{ {
@@ -117,7 +177,7 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
{ {
$user->add_lang_ext('board3/portal', 'mods/portal/' . $module->language); $user->add_lang_ext('board3/portal', 'mods/portal/' . $module->language);
} }
if ($row['module_column'] == column_string_num('left') && $config['board3_left_column']) if ($row['module_column'] == column_string_num('left') && $this->config['board3_left_column'])
{ {
$template_module = $module->get_template_side($row['module_id']); $template_module = $module->get_template_side($row['module_id']);
$template_column = 'left'; $template_column = 'left';
@@ -129,7 +189,7 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
$template_column = 'center'; $template_column = 'center';
++$module_count['center']; ++$module_count['center'];
} }
if ($row['module_column'] == column_string_num('right') && $config['board3_right_column']) if ($row['module_column'] == column_string_num('right') && $this->config['board3_right_column'])
{ {
$template_module = $module->get_template_side($row['module_id']); $template_module = $module->get_template_side($row['module_id']);
$template_column = 'right'; $template_column = 'right';
@@ -153,7 +213,7 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
// Custom Blocks that have been defined in the ACP will return an array instead of just the name of the template file // Custom Blocks that have been defined in the ACP will return an array instead of just the name of the template file
if (is_array($template_module)) if (is_array($template_module))
{ {
$template->assign_block_vars('modules_' . column_num_string($row['module_column']), array( $this->template->assign_block_vars('modules_' . column_num_string($row['module_column']), array(
'TEMPLATE_FILE' => 'portal/modules/' . $template_module['template'], 'TEMPLATE_FILE' => 'portal/modules/' . $template_module['template'],
'IMAGE_SRC' => $this->root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/' . $template_module['image_src'], 'IMAGE_SRC' => $this->root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/' . $template_module['image_src'],
'TITLE' => $template_module['title'], 'TITLE' => $template_module['title'],
@@ -165,7 +225,7 @@ class phpbb_ext_board3_portal_controller extends phpbb_extension_controller
} }
else else
{ {
$template->assign_block_vars('modules_' . column_num_string($row['module_column']), array( $this->template->assign_block_vars('modules_' . column_num_string($row['module_column']), array(
'TEMPLATE_FILE' => 'portal/modules/' . $template_module, 'TEMPLATE_FILE' => 'portal/modules/' . $template_module,
'IMAGE_SRC' => $this->root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/' . $row['module_image_src'], 'IMAGE_SRC' => $this->root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/' . $row['module_image_src'],
'IMAGE_WIDTH' => $row['module_image_width'], 'IMAGE_WIDTH' => $row['module_image_width'],