Completed
Push — master ( 02e5e5...868d49 )
by Daniel
11:13
created

m13_add_menu_permission   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 3
c 1
b 0
f 1
lcom 0
cbo 0
dl 0
loc 35
rs 10
1
<?php
2
/**
3
 *
4
 * @package sitemaker
5
 * @copyright (c) 2013 Daniel A. (blitze)
6
 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
7
 *
8
 */
9
10
namespace blitze\sitemaker\migrations\v20x;
11
12
/**
13
 * Initial schema changes needed for Extension installation
14
 */
15
class m13_add_menu_permission extends \phpbb\db\migration\migration
16
{
17
	/**
18
	 * @inheritdoc
19
	 */
20
	public static function depends_on()
21
	{
22
		return array(
23
			'\blitze\sitemaker\migrations\v20x\m10_remove_dashboard',
24
		);
25
	}
26
27
	/**
28
	 * @inheritdoc
29
	 */
30
	public function update_data()
31
	{
32
		return array(
33
			array('permission.add', array('a_sm_manage_menus')),
34
			array('permission.permission_set', array('ROLE_ADMIN_FULL', 'a_sm_manage_blocks')),
35
			array('permission.permission_set', array('ROLE_ADMIN_FULL', 'a_sm_manage_menus')),
36
			array('permission.permission_set', array('ROLE_ADMIN_STANDARD', 'a_sm_manage_menus')),
37
			array('custom', array(array($this, 'update_menu_module_settings'))),
38
		);
39
	}
40
41
	/**
42
	 * @inheritdoc
43
	 */
44
	public function revert_data()
45
	{
46
		return array(
47
			array('permission.remove', array('a_sm_manage_menus')),
48
		);
49
	}
50
51
	public function update_menu_module_settings()
52
	{
53
		$data = array(
54
			'module_auth' => 'ext_blitze/sitemaker && acl_a_sm_manage_menus',
55
		);
56
		$sql = 'UPDATE ' . MODULES_TABLE . ' SET ' . $this->db->sql_build_array('UPDATE', $data) . " WHERE module_basename = '" . $this->db->sql_escape('\blitze\sitemaker\acp\menu_module') . "'";
57
		$this->db->sql_query($sql);
58
	}
59
}
60