1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

Merge pull request #1620 from EXreaction/ticket/11745

Group join approved notification
This commit is contained in:
David King
2013-09-12 21:25:00 -07:00
7 changed files with 176 additions and 35 deletions

View File

@@ -38,7 +38,8 @@ class phpbb_notification_type_group_request extends phpbb_notification_type_base
public function is_available()
{
// Leader of any groups?
$sql = 'SELECT group_id FROM ' . USER_GROUP_TABLE . '
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_id = ' . (int) $this->user->data['user_id'] . '
AND group_leader = 1';
$result = $this->db->sql_query_limit($sql, 1);
@@ -74,7 +75,8 @@ class phpbb_notification_type_group_request extends phpbb_notification_type_base
'ignore_users' => array(),
), $options);
$sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . '
$sql = 'SELECT user_id
FROM ' . USER_GROUP_TABLE . '
WHERE group_leader = 1
AND group_id = ' . (int) $group['group_id'];
$result = $this->db->sql_query($sql);

View File

@@ -0,0 +1,118 @@
<?php
/**
*
* @package notifications
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
class phpbb_notification_type_group_request_approved extends phpbb_notification_type_base
{
/**
* {@inheritdoc}
*/
public function get_type()
{
return 'group_request_approved';
}
/**
* {@inheritdoc}
*/
public function is_available()
{
return false;
}
/**
* {@inheritdoc}
*/
public static function get_item_id($group)
{
return (int) $group['group_id'];
}
/**
* {@inheritdoc}
*/
public static function get_item_parent_id($group)
{
return 0;
}
/**
* {@inheritdoc}
*/
public function find_users_for_notification($group, $options = array())
{
$users = array();
$group['user_ids'] = (!is_array($group['user_ids'])) ? array($group['user_ids']) : $group['user_ids'];
foreach ($group['user_ids'] as $user_id)
{
$users[$user_id] = array('');
}
return $users;
}
/**
* {@inheritdoc}
*/
public function get_title()
{
return $this->user->lang('NOTIFICATION_GROUP_REQUEST_APPROVED', $this->get_data('group_name'));
}
/**
* {@inheritdoc}
*/
public function get_url()
{
return append_sid($this->phpbb_root_path . 'memberlist.' . $this->php_ext, "mode=group&g={$this->item_id}");
}
/**
* {@inheritdoc}
*/
public function create_insert_array($group, $pre_create_data = array())
{
$this->set_data('group_name', $group['group_name']);
return parent::create_insert_array($group, $pre_create_data);
}
/**
* {@inheritdoc}
*/
public function users_to_query()
{
return array();
}
/**
* {@inheritdoc}
*/
public function get_email_template()
{
return false;
}
/**
* {@inheritdoc}
*/
public function get_email_template_variables()
{
return array();
}
}