mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
[ticket/10411] Catch exceptions from grouppositions
PHPBB3-10411
This commit is contained in:
parent
e0df593448
commit
9e70f7a4e0
2 changed files with 108 additions and 49 deletions
|
@ -851,53 +851,66 @@ class acp_groups
|
||||||
{
|
{
|
||||||
|
|
||||||
$group_position = $phpbb_container->get('groupposition.' . $field);
|
$group_position = $phpbb_container->get('groupposition.' . $field);
|
||||||
$group_position->set_admin_back_link($this->u_action);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($field == 'teampage')
|
if ($field == 'teampage')
|
||||||
{
|
{
|
||||||
switch ($action)
|
try
|
||||||
{
|
{
|
||||||
case 'add':
|
switch ($action)
|
||||||
$group_position->add_group_teampage($group_id, $category_id);
|
{
|
||||||
break;
|
case 'add':
|
||||||
|
$group_position->add_group_teampage($group_id, $category_id);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'add_category':
|
case 'add_category':
|
||||||
$group_position->add_category_teampage($request->variable('category_name', '', true));
|
$group_position->add_category_teampage($request->variable('category_name', '', true));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
$group_position->delete_teampage($teampage_id);
|
$group_position->delete_teampage($teampage_id);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'move_up':
|
case 'move_up':
|
||||||
$group_position->move_up_teampage($teampage_id);
|
$group_position->move_up_teampage($teampage_id);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'move_down':
|
case 'move_down':
|
||||||
$group_position->move_down_teampage($teampage_id);
|
$group_position->move_down_teampage($teampage_id);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang($exception->getMessage()) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ($field == 'legend')
|
else if ($field == 'legend')
|
||||||
{
|
{
|
||||||
switch ($action)
|
try
|
||||||
{
|
{
|
||||||
case 'add':
|
switch ($action)
|
||||||
$group_position->add_group($group_id);
|
{
|
||||||
break;
|
case 'add':
|
||||||
|
$group_position->add_group($group_id);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
$group_position->delete_group($group_id);
|
$group_position->delete_group($group_id);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'move_up':
|
case 'move_up':
|
||||||
$group_position->move_up($group_id);
|
$group_position->move_up($group_id);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'move_down':
|
case 'move_down':
|
||||||
$group_position->move_down($group_id);
|
$group_position->move_down($group_id);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang($exception->getMessage()) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -2606,8 +2606,15 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
||||||
$teampage = $phpbb_container->get('groupposition.teampage');
|
$teampage = $phpbb_container->get('groupposition.teampage');
|
||||||
if ($group_id)
|
if ($group_id)
|
||||||
{
|
{
|
||||||
$current_legend = $legend->get_group_value($group_id);
|
try
|
||||||
$current_teampage = $teampage->get_group_value($group_id);
|
{
|
||||||
|
$current_legend = $legend->get_group_value($group_id);
|
||||||
|
$current_teampage = $teampage->get_group_value($group_id);
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang($exception->getMessage()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($group_attributes['group_legend']))
|
if (!empty($group_attributes['group_legend']))
|
||||||
|
@ -2626,7 +2633,14 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
||||||
else if ($group_id && ($current_legend != phpbb_groupposition_legend::GROUP_DISABLED))
|
else if ($group_id && ($current_legend != phpbb_groupposition_legend::GROUP_DISABLED))
|
||||||
{
|
{
|
||||||
// Group is removed from the legend
|
// Group is removed from the legend
|
||||||
$legend->delete_group($group_id, true);
|
try
|
||||||
|
{
|
||||||
|
$legend->delete_group($group_id, true);
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang($exception->getMessage()));
|
||||||
|
}
|
||||||
$group_attributes['group_legend'] = phpbb_groupposition_legend::GROUP_DISABLED;
|
$group_attributes['group_legend'] = phpbb_groupposition_legend::GROUP_DISABLED;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2733,7 +2747,14 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
||||||
// which is currently displayed.
|
// which is currently displayed.
|
||||||
if (!$group_teampage && $group_id && $current_teampage != phpbb_groupposition_teampage::GROUP_DISABLED)
|
if (!$group_teampage && $group_id && $current_teampage != phpbb_groupposition_teampage::GROUP_DISABLED)
|
||||||
{
|
{
|
||||||
$teampage->delete_group($group_id);
|
try
|
||||||
|
{
|
||||||
|
$teampage->delete_group($group_id);
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang($exception->getMessage()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$group_id)
|
if (!$group_id)
|
||||||
|
@ -2746,21 +2767,28 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($group_teampage && $current_teampage == phpbb_groupposition_teampage::GROUP_DISABLED)
|
try
|
||||||
{
|
{
|
||||||
$teampage->add_group($group_id);
|
if ($group_teampage && $current_teampage == phpbb_groupposition_teampage::GROUP_DISABLED)
|
||||||
}
|
|
||||||
|
|
||||||
if ($group_teampage)
|
|
||||||
{
|
|
||||||
if ($current_teampage == phpbb_groupposition_teampage::GROUP_DISABLED)
|
|
||||||
{
|
{
|
||||||
$teampage->add_group($group_id);
|
$teampage->add_group($group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($group_teampage)
|
||||||
|
{
|
||||||
|
if ($current_teampage == phpbb_groupposition_teampage::GROUP_DISABLED)
|
||||||
|
{
|
||||||
|
$teampage->add_group($group_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ($group_id && ($current_teampage != phpbb_groupposition_teampage::GROUP_DISABLED))
|
||||||
|
{
|
||||||
|
$teampage->delete_group($group_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ($group_id && ($current_teampage != phpbb_groupposition_teampage::GROUP_DISABLED))
|
catch (phpbb_groupposition_exception $exception)
|
||||||
{
|
{
|
||||||
$teampage->delete_group($group_id);
|
trigger_error($user->lang($exception->getMessage()));
|
||||||
}
|
}
|
||||||
unset($teampage);
|
unset($teampage);
|
||||||
|
|
||||||
|
@ -2887,13 +2915,31 @@ function group_delete($group_id, $group_name = false)
|
||||||
while ($start);
|
while ($start);
|
||||||
|
|
||||||
// Delete group from legend and teampage
|
// Delete group from legend and teampage
|
||||||
$legend = $phpbb_container->get('groupposition.legend');
|
try
|
||||||
$legend->delete_group($group_id);
|
{
|
||||||
unset($legend);
|
$legend = $phpbb_container->get('groupposition.legend');
|
||||||
|
$legend->delete_group($group_id);
|
||||||
|
unset($legend);
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
// The group we want to delete does not exist.
|
||||||
|
// No reason to worry, we just continue the deleting process.
|
||||||
|
//trigger_error($user->lang($exception->getMessage()));
|
||||||
|
}
|
||||||
|
|
||||||
$teampage = $phpbb_container->get('groupposition.teampage');
|
try
|
||||||
$teampage->delete_group($group_id);
|
{
|
||||||
unset($teampage);
|
$teampage = $phpbb_container->get('groupposition.teampage');
|
||||||
|
$teampage->delete_group($group_id);
|
||||||
|
unset($teampage);
|
||||||
|
}
|
||||||
|
catch (phpbb_groupposition_exception $exception)
|
||||||
|
{
|
||||||
|
// The group we want to delete does not exist.
|
||||||
|
// No reason to worry, we just continue the deleting process.
|
||||||
|
//trigger_error($user->lang($exception->getMessage()));
|
||||||
|
}
|
||||||
|
|
||||||
// Delete group
|
// Delete group
|
||||||
$sql = 'DELETE FROM ' . GROUPS_TABLE . "
|
$sql = 'DELETE FROM ' . GROUPS_TABLE . "
|
||||||
|
|
Loading…
Add table
Reference in a new issue