1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<?php
/**
* $Header: /cvsroot/bitweaver/_bit_wiki/edit_book.php,v 1.2 2005/06/28 07:46:27 spiderr Exp $
*
* Copyright (c) 2004 bitweaver.org
* Copyright (c) 2003 tikwiki.org
* Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
* All Rights Reserved. See copyright.txt for details and a complete list of authors.
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
*
* $Id: edit_book.php,v 1.2 2005/06/28 07:46:27 spiderr Exp $
* @package wiki
* @subpackage functions
*/
/**
* required setup
*/
require_once( '../bit_setup_inc.php' );
$gBitSystem->verifyPermission( 'bit_p_edit_books' );
if( isset( $_COOKIE['book_section'] ) && $_COOKIE['book_section'] == 'o' ) {
$book_section = 'block';
} else {
$book_section = 'none';
}
$smarty->assign( 'book_section',$book_section );
include_once( WIKI_PKG_PATH.'lookup_page_inc.php');
include_once( LIBERTY_PKG_PATH.'LibertyStructure.php');
include_once( WIKI_PKG_PATH.'BitBook.php');
global $gStructure;
// check what tab is active
if( isset( $_REQUEST['tab'] ) ) {
$smarty->assign( $_REQUEST['tab'].'TabSelect','tdefault' );
}
if( isset($_REQUEST["createstructure"]) ) {
if ((empty($_REQUEST['name']))) {
$smarty->assign('msg', tra("You must specify a name."));
$gBitSystem->display( 'error.tpl' );
die;
}
//try to add a new structure
$bookPage = new BitBook();
$pageId = $bookPage->findByPageName( $_REQUEST['name'] );
if( $pageId ) {
$bookPage->mPageId = $pageId;
$bookPage->load();
} else {
$params['title'] = $_REQUEST['name'];
$params['edit'] = '{toc}';
$bookPage->store( $params );
}
if( $bookPage->isValid() ) {
$gStructure = new LibertyStructure();
// alias => '' is a temporary setting until alias stuff has been removed
$structureHash = array( 'content_id' => $bookPage->mContentId, 'alias' => '' );
$structure_id = $gStructure->storeNode( $structureHash );
//Cannot create a structure if a structure already exists
if (!isset($structure_id)) {
$smarty->assign('msg', $_REQUEST['name'] . " " . tra("page not added (Exists)"));
$gBitSystem->display( 'error.tpl' );
die;
}
$chapters = explode("\n", $_REQUEST["chapters"]);
foreach ($chapters as $chapter) {
$chapterName = trim($chapter);
if( !empty( $chapterName ) ) {
unset( $params );
unset( $nodeHash );
$nodeHash['parent_id'] = $structure_id;
$nodeHash['root_structure_id'] = $structure_id;
$nodeHash['level'] = 1;
//try to add a new structure
$nodePage = new BitPage();
$pageId = $nodePage->findByPageName( $chapterName );
if( $pageId ) {
$nodePage->mPageId = $pageId;
$nodePage->load();
} else {
$params['title'] = trim($chapterName);
$params['edit'] = '';
if( !$nodePage->store( $params ) ) {
vd( $bookPage->mErrors );
}
}
$nodeHash['content_id'] = $nodePage->mContentId;
$nodeHash['after_ref_id'] = $gStructure->storeNode( $nodeHash );
}
}
header( "location: ".WIKI_PKG_URL."edit_book.php?structure_id=".$structure_id );
}
} elseif( !empty( $_REQUEST["structure_id"] ) ) {
$mid = 'bitpackage:wiki/edit_book.tpl';
include_once( LIBERTY_PKG_PATH.'edit_structure_inc.php');
} else {
$gBitSystem->setBrowserTitle( 'Create Wiki Book' );
$mid = 'bitpackage:wiki/create_book.tpl';
}
$gBitSystem->setBrowserTitle( !empty($gStructure) ? 'Edit Wiki Book:'.$gStructure->mInfo["title"] : NULL );
// Display the template
$gBitSystem->display( $mid );
?>
|