Project

General

Profile

1
//:Puts Edit-Buttons on every page you have rights for. 1=modify page, 2=modify pagesettings, 4=modify sections, or add values to combine buttons.
2
//:Use: [[iEditThisPage?show=7]]. You can format the appearance using CSS-class 'div.iEditThisPage' in your basic-css file
3
// @author: Werner von der Decken
4

    
5
	global $wb, $database, $HEADING;
6
	$returnvalue = '';
7
	if($wb->is_authenticated() )
8
	{
9
		$is_admin = false;
10
		$page_id = PAGE_ID == 0 ? $wb->default_page_id : PAGE_ID;
11
		$user_id = $wb->get_user_id();
12
		$sql = 'SELECT `admin_users`, `admin_groups` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$page_id;
13
		if(($rset = $database->query($sql)) != null)
14
		{
15
			if(($rec = $rset->fetchRow()) != null)
16
			{
17
				$is_admin = ($wb->ami_group_member($rec['admin_groups']) ||
18
				            ($this->is_group_match($user_id, $rec['admin_users'])) );
19
			}
20
		}
21
		if($is_admin)
22
		{
23
			$tpl  = '<a href="'.ADMIN_URL.'/pages/%1$s.php?page_id='.$page_id.'" target="_blank" title="%2$s">';
24
			$tpl .= '<img src="'.THEME_URL.'/images/%3$s_16.png" alt="%2$s" /></a>';
25
			$show = ((!isset($show) || $show == '') ? 1 : (int)$show);
26
			$show = ($show > 7 ? 7 : (int)$show);
27
			$show = ($show < 2 ? 1 : (int)$show );
28
			if($show & 1)
29
			{
30
				$returnvalue .= sprintf($tpl, 'modify', $HEADING['MODIFY_PAGE'], 'edit');
31
			}
32
			$sys_perm = $wb->get_session('SYSTEM_PERMISSIONS');
33
			if(@is_array($sys_perm))
34
			{
35
				if(($show & 2) && (array_search('pages_settings', $sys_perm)!==false))
36
				{
37
					$returnvalue .= sprintf($tpl, 'settings', $HEADING['MODIFY_PAGE_SETTINGS'], 'modify');
38
				}
39
				if(($show & 4) && (array_search('pages_modify', $sys_perm)!==false))
40
				{
41
					$returnvalue .= sprintf($tpl, 'sections', $HEADING['MANAGE_SECTIONS'], 'sections');
42
				}
43
			}
44
			if($returnvalue != '')
45
			{
46
				$returnvalue  = '<div class="iEditThisPage">'.$returnvalue.'</div>';
47
			}
48
		}
49
	}
50
	return($returnvalue == '' ? true : $returnvalue);
(17-17/22)