Version 1.0.0-RC2

This commit is contained in:
dmzx
2016-03-06 16:06:56 +01:00
parent fdde6ee2b2
commit 7fc464ff17
92 changed files with 2909 additions and 1845 deletions

170
event/acp_listener.php Normal file
View File

@@ -0,0 +1,170 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace dmzx\mchat\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class acp_listener implements EventSubscriberInterface
{
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\request\request */
protected $request;
/** @var \phpbb\user */
protected $user;
/** @var array */
protected $user_config_keys;
/**
* Constructor
*
* @param \phpbb\template\template $template
* @param \phpbb\request\request $request
* @param \phpbb\user $user
* @param array $user_config_keys
*/
public function __construct(\phpbb\template\template $template, \phpbb\request\request $request, \phpbb\user $user, $user_config_keys)
{
$this->template = $template;
$this->request = $request;
$this->user = $user;
$this->user_config_keys = $user_config_keys;
}
/**
* @return array
*/
static public function getSubscribedEvents()
{
return array(
'core.permissions' => 'permissions',
'core.acp_users_prefs_modify_data' => 'acp_users_prefs_modify_data',
'core.acp_users_prefs_modify_sql' => 'acp_users_prefs_modify_sql',
'core.acp_users_prefs_modify_template_data' => 'acp_users_prefs_modify_template_data',
);
}
/**
* @param object $event The event object
*/
public function permissions($event)
{
$event['permissions'] = array_merge($event['permissions'], array(
'u_mchat_use' => array(
'lang' => 'ACL_U_MCHAT_USE',
'cat' => 'mChat'
),
'u_mchat_view' => array(
'lang' => 'ACL_U_MCHAT_VIEW',
'cat' => 'mChat'
),
'u_mchat_edit' => array(
'lang' => 'ACL_U_MCHAT_EDIT',
'cat' => 'mChat'
),
'u_mchat_delete' => array(
'lang' => 'ACL_U_MCHAT_DELETE',
'cat' => 'mChat'
),
'u_mchat_ip' => array(
'lang' => 'ACL_U_MCHAT_IP',
'cat' => 'mChat'
),
'u_mchat_pm' => array(
'lang' => 'ACL_U_MCHAT_PM',
'cat' => 'mChat'
),
'u_mchat_like' => array(
'lang' => 'ACL_U_MCHAT_LIKE',
'cat' => 'mChat'
),
'u_mchat_quote' => array(
'lang' => 'ACL_U_MCHAT_QUOTE',
'cat' => 'mChat'
),
'u_mchat_flood_ignore' => array(
'lang' => 'ACL_U_MCHAT_FLOOD_IGNORE',
'cat' => 'mChat'
),
'u_mchat_archive' => array(
'lang' => 'ACL_U_MCHAT_ARCHIVE',
'cat' => 'mChat'
),
'u_mchat_bbcode' => array(
'lang' => 'ACL_U_MCHAT_BBCODE',
'cat' => 'mChat'
),
'u_mchat_smilies' => array(
'lang' => 'ACL_U_MCHAT_SMILIES',
'cat' => 'mChat'
),
'u_mchat_urls' => array(
'lang' => 'ACL_U_MCHAT_URLS',
'cat' => 'mChat'
),
'a_mchat' => array(
'lang' => 'ACL_A_MCHAT',
'cat' => 'mChat'
),
));
$event['categories'] = array_merge($event['categories'], array(
'mChat' => 'ACP_CAT_MCHAT',
));
}
/**
* @param object $event The event object
*/
public function acp_users_prefs_modify_data($event)
{
$data = $event['data'];
foreach ($this->user_config_keys as $config_key)
{
$data[$config_key] = $this->request->variable($config_key, (int) $event['user_row'][$config_key]);
}
$event['data'] = $data;
}
/**
* @param object $event The event object
*/
public function acp_users_prefs_modify_template_data($event)
{
$this->user->add_lang_ext('dmzx/mchat', 'mchat_ucp');
foreach ($this->user_config_keys as $config_key)
{
$this->template->assign_var(strtoupper($config_key), $event['data'][$config_key]);
}
}
/**
* @param object $event The event object
*/
public function acp_users_prefs_modify_sql($event)
{
$sql_ary = $event['sql_ary'];
foreach ($this->user_config_keys as $config_key)
{
$sql_ary[$config_key] = $event['data'][$config_key];
}
$event['sql_ary'] = $sql_ary;
}
}

View File

@@ -3,7 +3,8 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
@@ -12,10 +13,10 @@ namespace dmzx\mchat\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
class main_listener implements EventSubscriberInterface
{
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
/** @var \dmzx\mchat\core\functions */
protected $functions;
/** @var \dmzx\mchat\core\mchat */
protected $mchat;
@@ -32,19 +33,19 @@ class listener implements EventSubscriberInterface
/**
* Constructor
*
* @param \dmzx\mchat\core\functions_mchat $functions_mchat
* @param \dmzx\mchat\core\mchat $mchat
* @param \phpbb\controller\helper $helper
* @param \phpbb\user $user
* @param string $php_ext
* @param \dmzx\mchat\core\functions $functions
* @param \dmzx\mchat\core\mchat $mchat
* @param \phpbb\controller\helper $helper
* @param \phpbb\user $user
* @param string $php_ext
*/
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \dmzx\mchat\core\mchat $mchat, \phpbb\controller\helper $helper, \phpbb\user $user, $php_ext)
public function __construct(\dmzx\mchat\core\functions $functions, \dmzx\mchat\core\mchat $mchat, \phpbb\controller\helper $helper, \phpbb\user $user, $php_ext)
{
$this->functions_mchat = $functions_mchat;
$this->mchat = $mchat;
$this->helper = $helper;
$this->user = $user;
$this->php_ext = $php_ext;
$this->functions = $functions;
$this->mchat = $mchat;
$this->helper = $helper;
$this->user = $user;
$this->php_ext = $php_ext;
}
/**
@@ -58,7 +59,6 @@ class listener implements EventSubscriberInterface
'core.page_header' => 'add_page_header_link',
'core.index_modify_page_title' => 'display_mchat_on_index',
'core.posting_modify_submit_post_after' => 'posting_modify_submit_post_after',
'core.permissions' => 'permissions',
'core.display_custom_bbcodes_modify_sql' => 'display_custom_bbcodes_modify_sql',
);
}
@@ -113,7 +113,7 @@ class listener implements EventSubscriberInterface
*/
public function posting_modify_submit_post_after($event)
{
$this->functions_mchat->mchat_insert_posting($event['mode'], array(
$this->functions->mchat_insert_posting($event['mode'], array(
'forum_id' => $event['forum_id'],
'forum_name' => $event['post_data']['forum_name'],
'post_id' => $event['data']['post_id'],
@@ -128,73 +128,4 @@ class listener implements EventSubscriberInterface
{
$event['sql_ary'] = $this->mchat->remove_disallowed_bbcodes($event['sql_ary']);
}
/**
* @param object $event The event object
*/
public function permissions($event)
{
$event['permissions'] = array_merge($event['permissions'], array(
'u_mchat_use' => array(
'lang' => 'ACL_U_MCHAT_USE',
'cat' => 'mChat'
),
'u_mchat_view' => array(
'lang' => 'ACL_U_MCHAT_VIEW',
'cat' => 'mChat'
),
'u_mchat_edit' => array(
'lang' => 'ACL_U_MCHAT_EDIT',
'cat' => 'mChat'
),
'u_mchat_delete' => array(
'lang' => 'ACL_U_MCHAT_DELETE',
'cat' => 'mChat'
),
'u_mchat_ip' => array(
'lang' => 'ACL_U_MCHAT_IP',
'cat' => 'mChat'
),
'u_mchat_pm' => array(
'lang' => 'ACL_U_MCHAT_PM',
'cat' => 'mChat'
),
'u_mchat_like' => array(
'lang' => 'ACL_U_MCHAT_LIKE',
'cat' => 'mChat'
),
'u_mchat_quote' => array(
'lang' => 'ACL_U_MCHAT_QUOTE',
'cat' => 'mChat'
),
'u_mchat_flood_ignore' => array(
'lang' => 'ACL_U_MCHAT_FLOOD_IGNORE',
'cat' => 'mChat'
),
'u_mchat_archive' => array(
'lang' => 'ACL_U_MCHAT_ARCHIVE',
'cat' => 'mChat'
),
'u_mchat_bbcode' => array(
'lang' => 'ACL_U_MCHAT_BBCODE',
'cat' => 'mChat'
),
'u_mchat_smilies' => array(
'lang' => 'ACL_U_MCHAT_SMILIES',
'cat' => 'mChat'
),
'u_mchat_urls' => array(
'lang' => 'ACL_U_MCHAT_URLS',
'cat' => 'mChat'
),
'a_mchat' => array(
'lang' => 'ACL_A_MCHAT',
'cat' => 'mChat'
),
));
$event['categories'] = array_merge($event['categories'], array(
'mChat' => 'ACP_CAT_MCHAT',
));
}
}