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;
|
6
|
$oReg = WbAdaptor::getInstance();
|
7
|
$oDb = WbDatabase::getInstance();
|
8
|
$oTrans = Translate::getInstance();
|
9
|
$returnvalue = '';
|
10
|
if ($wb->is_authenticated()) {
|
11
|
$is_admin = false;
|
12
|
$page_id = PAGE_ID == 0 ? $wb->default_page_id : PAGE_ID;
|
13
|
$user_id = $wb->get_user_id();
|
14
|
$sql = 'SELECT `admin_users`, `admin_groups` '
|
15
|
. 'FROM `'.$oDb->TablePrefix.'pages` '
|
16
|
. 'WHERE `page_id` = '.$page_id;
|
17
|
if (($rset = $oDb->doQuery($sql)) != null) {
|
18
|
if (($rec = $rset->fetchRow(MYSQL_ASSOC)) != null) {
|
19
|
$is_admin = ($wb->ami_group_member($rec['admin_groups']) ||
|
20
|
($wb->is_group_match($user_id, $rec['admin_users'])) );
|
21
|
}
|
22
|
}
|
23
|
if ($is_admin) {
|
24
|
$tpl = '<a href="'.$oReg->AcpUrl.'pages/%1$s.php?page_id='.$page_id.'" target="_blank" title="%2$s">'
|
25
|
. '<img src="'.$oReg->ThemeUrl.'images/%3$s_16.png" alt="%2$s" /></a>';
|
26
|
$show = ((!isset($show) || $show == '') ? 1 : (int)$show);
|
27
|
$show = ($show > 7 ? 7 : (int)$show);
|
28
|
$show = ($show < 2 ? 1 : (int)$show );
|
29
|
if ($show & 1) {
|
30
|
$returnvalue .= sprintf($tpl, 'modify', $oTrans->HEADING_MODIFY_PAGE, 'edit');
|
31
|
}
|
32
|
$sys_perm = $wb->get_session('SYSTEM_PERMISSIONS');
|
33
|
if (@is_array($sys_perm)) {
|
34
|
if (($show & 2) && (array_search('pages_settings', $sys_perm)!==false)) {
|
35
|
$returnvalue .= sprintf($tpl, 'settings', $oTrans->HEADING_MODIFY_PAGE_SETTINGS, 'modify');
|
36
|
}
|
37
|
if (($show & 4) && (array_search('pages_modify', $sys_perm)!==false)) {
|
38
|
$returnvalue .= sprintf($tpl, 'sections', $oTrans->HEADING_MANAGE_SECTIONS, 'sections');
|
39
|
}
|
40
|
}
|
41
|
if ($returnvalue != '') {
|
42
|
$returnvalue = '<div class="iEditThisPage">'.$returnvalue.'</div>';
|
43
|
}
|
44
|
}
|
45
|
}
|
46
|
return($returnvalue == '' ? true : $returnvalue);
|