summaryrefslogtreecommitdiff
path: root/code/admin/add.php
diff options
context:
space:
mode:
Diffstat (limited to 'code/admin/add.php')
-rw-r--r--code/admin/add.php51
1 files changed, 47 insertions, 4 deletions
diff --git a/code/admin/add.php b/code/admin/add.php
index cb2ff16..02622fc 100644
--- a/code/admin/add.php
+++ b/code/admin/add.php
@@ -2,6 +2,31 @@
require_once('utils.php');
need_auth();
+ function add_fold($kind,$path,$name) {
+ $fullpath=(($kind=='media')?'media/':'content/').$path.'/'.$name;
+echo $fullpath . "\n";
+ return mkdir($fullpath);
+ }
+
+ function add_media($path,$name) {
+ //TODO
+ }
+
+ function add_page($path,$name) {
+ if ( $res=add_fold('page',$path,$name) ) {
+ $props = array(
+ 'page_template' => 'default',
+ 'page_layout' => 'article',
+ 'page_title' => '(missing)',
+ 'page_description' => '(missing)',
+ 'page_keywords' => '(missing)'
+ );
+ $ini_path="content/$path/$name/props.ini";
+ $res=write_ini_file($props, $ini_path, false);
+ }
+ return $res;
+ }
+
// Config loading
$site_conf = load_ini_site_conf("content/site_conf.ini");
if ( ! is_array($site_conf) ) trigger_error("Error parsing site_conf.ini", E_USER_ERROR);
@@ -11,9 +36,26 @@
// URL parameter parsing
$kind = sanitize($_GET, 'kind', RE_IDENTIFIER_CLEANER, 'page'); /* Could be : page, media */
+ $action=sanitize($_GET, 'action', RE_IDENTIFIER_CLEANER, 'preview'); /* Could be : none, add_fold, add_item */
+ $path = sanitize($_GET, 'path', RE_RELPATH_CLEANER, '');
+ $name = sanitize($_GET, 'name', RE_IDENTIFIER_CLEANER, '');
// Pre-computed because used twice
- $page_title = _('Admin') . ' - ' . ( ($kind=='media')?_('Add a media'):_('Add a page') );
+ $page_title = _('Admin') . ' - ' . ( ($kind=='media')?_('Add or remove a media'):_('Add or remove a page') );
+
+ $res=null;
+ switch ($action) {
+ case 'add_fold':
+ $res=add_fold($kind,$path,$name);
+ break;
+ case 'add_item':
+ if ( $kind=='media' ) {
+ $res=add_media($path,$name);
+ } else {
+ $res=add_page($path,$name);
+ }
+ break;
+ }
?>
<!DOCTYPE html>
<html>
@@ -28,6 +70,7 @@
<h1><?=$page_title?></h1>
<form>
+<span class="inline_half">
<fieldset>
<legend><?=($kind=='media')?_('Media tree'):_('Page tree')?></legend>
<div class="css-treeview">
@@ -41,20 +84,20 @@
?>
</div>
</fieldset>
-
+</span><!-- No blanks here, important for CSS --><span class="inline_half">
<fieldset>
<legend><?=_('Selected folder')?></legend>
<label for="fold_path"><?=_('Folder path')?></label>
<input id="fold_path" name="fold_path" readonly="readonly" value="<?=_('(choose a folder in the tree)')?>"><br>
<label for="fold_add_name"><?=_('New item name')?></label>
-<input id="fold_add_name" type="text" value="">
+<input id="fold_add_name" type="text" value=""><br>
<label for="fold_add_fold"><?=_('Actions')?></label>
<input id="fold_add_fold" type="button" value="<?=_('Add folder')?>" onclick="go_add('<?=$kind?>','fold');">
<input id="fold_add_item" type="button" value="<?=_('Add page')?>" onclick="go_add('<?=$kind?>','item');">
</fieldset>
-
+</span><!-- No blanks here, important for CSS --><span class="inline_half">
<input id="fold_back_admin" type="button" value="<?=_('Back to admin')?>" onclick="go_admin_page();">
</form>