phpBB

Code Changes

File: includes/acp/acp_extensions.php

  Unmodified   Added   Modified   Removed
Line 53Line 53
		$this->phpbb_container = $phpbb_container;
$this->php_ini = $this->phpbb_container->get('php_ini');


		$this->phpbb_container = $phpbb_container;
$this->php_ini = $this->phpbb_container->get('php_ini');


		$this->user->add_lang(array('install', 'acp/extensions', 'migrator'));

		$this->user->add_lang(array('install', 'acp/extensions', 'acp/modules', 'migrator'));


$this->page_title = 'ACP_EXTENSIONS';



$this->page_title = 'ACP_EXTENSIONS';


Line 150Line 150
				$this->list_enabled_exts();
$this->list_disabled_exts();
$this->list_available_exts();

				$this->list_enabled_exts();
$this->list_disabled_exts();
$this->list_available_exts();

 

$this->tpl_name = 'acp_ext_list';


$this->template->assign_vars(array(
'U_VERSIONCHECK_FORCE' => $this->u_action . '&action=list&versioncheck_force=1',
'FORCE_UNSTABLE' => $this->config['extension_force_unstable'],
'U_ACTION' => $this->u_action,
));


$this->template->assign_vars(array(
'U_VERSIONCHECK_FORCE' => $this->u_action . '&action=list&versioncheck_force=1',
'FORCE_UNSTABLE' => $this->config['extension_force_unstable'],
'U_ACTION' => $this->u_action,
));


$this->tpl_name = 'acp_ext_list';

 
			break;

case 'enable_pre':

			break;

case 'enable_pre':

Line 180Line 180
					redirect($this->u_action);
}


					redirect($this->u_action);
}


				if (confirm_box(true))
{
redirect($this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_ENABLE_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'enable_pre',
'ext_name' => $ext_name,
)));
}

				$this->tpl_name = 'acp_ext_enable';

$this->template->assign_vars([
'S_PRE_STEP' => true,
'CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_ENABLE_CONFIRM', $md_manager->get_metadata('display-name')),
'U_ENABLE' => $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name),
]);







			break;

case 'enable':

			break;

case 'enable':

Line 217Line 211
						// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
if ((time() - $start_time) >= $safe_time_limit)
{

						// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
if ((time() - $start_time) >= $safe_time_limit)
{

 
							$this->template->assign_var('S_NEXT_STEP', true);


							meta_refresh(0, $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name));

							meta_refresh(0, $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name));

							trigger_error('EXTENSION_ENABLE_IN_PROGRESS', E_USER_NOTICE);

 
						}
}


						}
}


Line 234Line 229
				}
catch (\phpbb\db\migration\exception $e)
{

				}
catch (\phpbb\db\migration\exception $e)
{

					trigger_error($this->user->lang('MIGRATION_EXCEPTION_ERROR', $e->getLocalisedMessage($this->user)), E_USER_WARNING);

					$this->template->assign_var('MIGRATOR_ERROR', $e->getLocalisedMessage($this->user));

				}


				}


				if ($this->request->is_ajax())
{
$actions = $this->output_actions('enabled', [
'DISABLE' => $this->u_action . '&action=disable_pre&ext_name=' . urlencode($ext_name),

				$this->tpl_name = 'acp_ext_enable';

$this->template->assign_vars([
'U_RETURN' => $this->u_action . '&action=list',

					]);

					]);


$data = [
'EXT_ENABLE_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];

$json_response = new \phpbb\json_response;
$json_response->send($data);
}

trigger_error($this->user->lang('EXTENSION_ENABLE_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);

 
			break;

case 'disable_pre':

			break;

case 'disable_pre':

Line 265Line 245
					redirect($this->u_action);
}


					redirect($this->u_action);
}


				if (confirm_box(true))
{
redirect($this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_DISABLE_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'disable_pre',
'ext_name' => $ext_name,
)));
}

				$this->tpl_name = 'acp_ext_disable';

$this->template->assign_vars([
'S_PRE_STEP' => true,
'CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DISABLE_CONFIRM', $md_manager->get_metadata('display-name')),
'U_DISABLE' => $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name),
]);







			break;

case 'disable':

			break;

case 'disable':

Line 294Line 268
						$this->template->assign_var('S_NEXT_STEP', true);

meta_refresh(0, $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name));

						$this->template->assign_var('S_NEXT_STEP', true);

meta_refresh(0, $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name));

						trigger_error('EXTENSION_DISABLE_IN_PROGRESS', E_USER_NOTICE);

 
					}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_DISABLE', time(), array($ext_name));


					}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_DISABLE', time(), array($ext_name));


				if ($this->request->is_ajax())
{
$actions = $this->output_actions('disabled', [
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($ext_name),
'DELETE_DATA' => $this->u_action . '&action=delete_data_pre&ext_name=' . urlencode($ext_name),

				$this->tpl_name = 'acp_ext_disable';

$this->template->assign_vars([
'U_RETURN' => $this->u_action . '&action=list',


					]);

					]);


$data = [
'EXT_DISABLE_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];

$json_response = new \phpbb\json_response;
$json_response->send($data);
}

trigger_error($this->user->lang('EXTENSION_DISABLE_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);

 
			break;

case 'delete_data_pre':

			break;

case 'delete_data_pre':

Line 328Line 285
					redirect($this->u_action);
}


					redirect($this->u_action);
}


				if (confirm_box(true))
{
redirect($this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_DELETE_DATA_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'delete_data_pre',
'ext_name' => $ext_name,
)));
}

				$this->tpl_name = 'acp_ext_delete_data';

$this->template->assign_vars([
'S_PRE_STEP' => true,
'CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DELETE_DATA_CONFIRM', $md_manager->get_metadata('display-name')),
'U_PURGE' => $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name),
]);







			break;

case 'delete_data':

			break;

case 'delete_data':

Line 359Line 310
							$this->template->assign_var('S_NEXT_STEP', true);

meta_refresh(0, $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name));

							$this->template->assign_var('S_NEXT_STEP', true);

meta_refresh(0, $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name));

							trigger_error('EXTENSION_DELETE_DATA_IN_PROGRESS', E_USER_NOTICE);

 
						}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_PURGE', time(), array($ext_name));
}
catch (\phpbb\db\migration\exception $e)
{

						}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_PURGE', time(), array($ext_name));
}
catch (\phpbb\db\migration\exception $e)
{

					trigger_error($this->user->lang('MIGRATION_EXCEPTION_ERROR', $e->getLocalisedMessage($this->user)), E_USER_WARNING);

					$this->template->assign_var('MIGRATOR_ERROR', $e->getLocalisedMessage($this->user));

				}


				}


				if ($this->request->is_ajax())
{
$actions = $this->output_actions('disabled', [
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($ext_name),

				$this->tpl_name = 'acp_ext_delete_data';

$this->template->assign_vars([
'U_RETURN' => $this->u_action . '&action=list',

					]);

					]);


$data = [
'EXT_DELETE_DATA_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];

$json_response = new \phpbb\json_response;
$json_response->send($data);
}

trigger_error($this->user->lang('EXTENSION_DELETE_DATA_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);

 
			break;

case 'details':

			break;

case 'details':

Line 667Line 602
	*
* @param string $block
* @param array $actions

	*
* @param string $block
* @param array $actions

	* @return array List of actions to be performed on the extension

 
	*/
private function output_actions($block, $actions)
{

	*/
private function output_actions($block, $actions)
{

		$vars_ary = array();
foreach ($actions as $lang => $options)

		foreach ($actions as $lang => $url)


		{

		{

			$url = $options;
if (is_array($options))
{
$url = $options['url'];
}

$vars = array(

			$this->template->assign_block_vars($block . '.actions', [







				'L_ACTION'			=> $this->user->lang('EXTENSION_' . $lang),
'L_ACTION_EXPLAIN' => (isset($this->user->lang['EXTENSION_' . $lang . '_EXPLAIN'])) ? $this->user->lang('EXTENSION_' . $lang . '_EXPLAIN') : '',
'U_ACTION' => $url,

				'L_ACTION'			=> $this->user->lang('EXTENSION_' . $lang),
'L_ACTION_EXPLAIN' => (isset($this->user->lang['EXTENSION_' . $lang . '_EXPLAIN'])) ? $this->user->lang('EXTENSION_' . $lang . '_EXPLAIN') : '',
'U_ACTION' => $url,

				'ACTION_AJAX'		=> 'ext_' . strtolower($lang),
);

if (isset($options['color']))
{
$vars['COLOR'] = $options['color'];

			]);






			}

			}


$this->template->assign_block_vars($block . '.actions', $vars);

$vars_ary[] = $vars;
}

return $vars_ary;

 
	}

/**

	}

/**