1 |
2029
|
darkviper
|
//: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 |
2068
|
darkviper
|
global $wb;
|
6 |
|
|
$oReg = WbAdaptor::getInstance();
|
7 |
|
|
$oDb = WbDatabase::getInstance();
|
8 |
|
|
$oTrans = Translate::getInstance();
|
9 |
2029
|
darkviper
|
$returnvalue = '';
|
10 |
2068
|
darkviper
|
if ($wb->is_authenticated()) {
|
11 |
2029
|
darkviper
|
$is_admin = false;
|
12 |
|
|
$page_id = PAGE_ID == 0 ? $wb->default_page_id : PAGE_ID;
|
13 |
|
|
$user_id = $wb->get_user_id();
|
14 |
2068
|
darkviper
|
$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 |
2029
|
darkviper
|
$is_admin = ($wb->ami_group_member($rec['admin_groups']) ||
|
20 |
2068
|
darkviper
|
($wb->is_group_match($user_id, $rec['admin_users'])) );
|
21 |
2029
|
darkviper
|
}
|
22 |
|
|
}
|
23 |
2068
|
darkviper
|
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 |
2029
|
darkviper
|
$show = ((!isset($show) || $show == '') ? 1 : (int)$show);
|
27 |
|
|
$show = ($show > 7 ? 7 : (int)$show);
|
28 |
|
|
$show = ($show < 2 ? 1 : (int)$show );
|
29 |
2068
|
darkviper
|
if ($show & 1) {
|
30 |
|
|
$returnvalue .= sprintf($tpl, 'modify', $oTrans->HEADING_MODIFY_PAGE, 'edit');
|
31 |
2029
|
darkviper
|
}
|
32 |
|
|
$sys_perm = $wb->get_session('SYSTEM_PERMISSIONS');
|
33 |
2068
|
darkviper
|
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 |
2029
|
darkviper
|
}
|
37 |
2068
|
darkviper
|
if (($show & 4) && (array_search('pages_modify', $sys_perm)!==false)) {
|
38 |
|
|
$returnvalue .= sprintf($tpl, 'sections', $oTrans->HEADING_MANAGE_SECTIONS, 'sections');
|
39 |
2029
|
darkviper
|
}
|
40 |
|
|
}
|
41 |
2068
|
darkviper
|
if ($returnvalue != '') {
|
42 |
2029
|
darkviper
|
$returnvalue = '<div class="iEditThisPage">'.$returnvalue.'</div>';
|
43 |
|
|
}
|
44 |
|
|
}
|
45 |
|
|
}
|
46 |
|
|
return($returnvalue == '' ? true : $returnvalue);
|