add system PDL editor (lets you change/personalise the layout for any module which has a system PDL file.)
This commit is contained in:
parent
a072668f8a
commit
aa9d25f517
61
mod/pdledit.php
Normal file
61
mod/pdledit.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
function pdledit_post(&$a) {
|
||||||
|
if(! local_user())
|
||||||
|
return;
|
||||||
|
if(! $_REQUEST['module'])
|
||||||
|
return;
|
||||||
|
if(! trim($_REQUEST['content'])) {
|
||||||
|
del_pconfig(local_user(),'system','mod_' . $_REQUEST['module'] . '.pdl');
|
||||||
|
goaway(z_root() . '/pdledit/' . $_REQUEST['module']);
|
||||||
|
}
|
||||||
|
set_pconfig(local_user(),'system','mod_' . $_REQUEST['module'] . '.pdl',escape_tags($_REQUEST['content']));
|
||||||
|
info( t('Layout updated.') . EOL);
|
||||||
|
goaway(z_root() . '/pdledit/' . $_REQUEST['module']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function pdledit_content(&$a) {
|
||||||
|
|
||||||
|
if(! local_user()) {
|
||||||
|
notice( t('Permission denied.') . EOL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(argc() > 1)
|
||||||
|
$module = 'mod_' . argv(1) . '.pdl';
|
||||||
|
else {
|
||||||
|
$o .= '<h1>' . t('Edit System Page Description') . '</h1>';
|
||||||
|
$files = glob('mod/*');
|
||||||
|
if($files) {
|
||||||
|
foreach($files as $f) {
|
||||||
|
$name = basename($f,'.php');
|
||||||
|
$x = theme_include('mod_' . $name . '.pdl');
|
||||||
|
if($x) {
|
||||||
|
$o .= '<a href="pdledit/' . $name . '" >' . $name . '</a><br />';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// list module pdl files
|
||||||
|
return $o;
|
||||||
|
}
|
||||||
|
|
||||||
|
$t = get_pconfig(local_user(),'system',$module);
|
||||||
|
if(! $t)
|
||||||
|
$t = file_get_contents(theme_include($module));
|
||||||
|
if(! $t) {
|
||||||
|
notice( t('Layout not found.') . EOL);
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$o = replace_macros(get_markup_template('pdledit.tpl'),array(
|
||||||
|
'$header' => t('Edit System Page Description'),
|
||||||
|
'$mname' => t('Module Name:'),
|
||||||
|
'$module' => argv(1),
|
||||||
|
'$content' => htmlspecialchars($t,ENT_COMPAT,'UTF-8'),
|
||||||
|
'$submit' => t('Submit')
|
||||||
|
));
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
}
|
14
view/tpl/pdledit.tpl
Normal file
14
view/tpl/pdledit.tpl
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<h1>{{$header}}</h1>
|
||||||
|
|
||||||
|
<h2>{{$mname}} {{$module}}</h2>
|
||||||
|
|
||||||
|
<form action="pdledit" method="post" >
|
||||||
|
<input type="hidden" name="module" value="{{$module}}" />
|
||||||
|
<textarea rows="24" cols="80" name="content">{{$content}}</textarea>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<input type="submit" name="submit" value="{{$submit}}" />
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user