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,10 +851,11 @@ class acp_groups
|
|||
{
|
||||
|
||||
$group_position = $phpbb_container->get('groupposition.' . $field);
|
||||
$group_position->set_admin_back_link($this->u_action);
|
||||
}
|
||||
|
||||
if ($field == 'teampage')
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ($action)
|
||||
{
|
||||
|
@ -879,7 +880,14 @@ class acp_groups
|
|||
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')
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ($action)
|
||||
{
|
||||
|
@ -900,6 +908,11 @@ class acp_groups
|
|||
break;
|
||||
}
|
||||
}
|
||||
catch (phpbb_groupposition_exception $exception)
|
||||
{
|
||||
trigger_error($user->lang($exception->getMessage()) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch ($action)
|
||||
|
|
|
@ -2605,10 +2605,17 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
|||
$legend = $phpbb_container->get('groupposition.legend');
|
||||
$teampage = $phpbb_container->get('groupposition.teampage');
|
||||
if ($group_id)
|
||||
{
|
||||
try
|
||||
{
|
||||
$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']))
|
||||
{
|
||||
|
@ -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))
|
||||
{
|
||||
// Group is removed from the legend
|
||||
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;
|
||||
}
|
||||
else
|
||||
|
@ -2732,9 +2746,16 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
|||
// Remove the group from the teampage, only if unselected and we are editing a group,
|
||||
// which is currently displayed.
|
||||
if (!$group_teampage && $group_id && $current_teampage != phpbb_groupposition_teampage::GROUP_DISABLED)
|
||||
{
|
||||
try
|
||||
{
|
||||
$teampage->delete_group($group_id);
|
||||
}
|
||||
catch (phpbb_groupposition_exception $exception)
|
||||
{
|
||||
trigger_error($user->lang($exception->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
if (!$group_id)
|
||||
{
|
||||
|
@ -2746,6 +2767,8 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
|||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if ($group_teampage && $current_teampage == phpbb_groupposition_teampage::GROUP_DISABLED)
|
||||
{
|
||||
$teampage->add_group($group_id);
|
||||
|
@ -2762,6 +2785,11 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
|||
{
|
||||
$teampage->delete_group($group_id);
|
||||
}
|
||||
}
|
||||
catch (phpbb_groupposition_exception $exception)
|
||||
{
|
||||
trigger_error($user->lang($exception->getMessage()));
|
||||
}
|
||||
unset($teampage);
|
||||
|
||||
// Set user attributes
|
||||
|
@ -2887,13 +2915,31 @@ function group_delete($group_id, $group_name = false)
|
|||
while ($start);
|
||||
|
||||
// Delete group from legend and teampage
|
||||
try
|
||||
{
|
||||
$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()));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$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
|
||||
$sql = 'DELETE FROM ' . GROUPS_TABLE . "
|
||||
|
|
Loading…
Add table
Reference in a new issue