/[cvs]/nfo/php/libs/net.php.pear/Tree/docs/TreeEditor/index.php
ViewVC logotype

Annotation of /nfo/php/libs/net.php.pear/Tree/docs/TreeEditor/index.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Wed Jul 7 02:49:23 2004 UTC (20 years, 2 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -1 lines
updated to Tree-0.2.4

1 joko 1.1 <?php
2     //
3     // $Id: index.php,v 1.2 2003/01/30 17:43:42 cain Exp $
4     //
5     //ini_set('include_path',realpath(dirname(__FILE__).'/../../../').':'.realpath(dirname(__FILE__).'/../../../../includes').':'.ini_get('include_path'));
6     //ini_set('error_reporting',E_ALL);
7    
8     ##################################################
9     #
10     # init template engine
11     #
12    
13     // you need the template class from http://sf.net/projects/simpltpl
14     if (!@include('HTML/Template/Xipe.php')) {
15     print 'sorry, you need the template class PEAR::HTML_Template_Xipe<br>'.
16     'or if i have time i put the examples <a href="http://os.visionp.de/">here online</a>';
17     die();
18     }
19     require_once('HTML/Template/Xipe/Filter/TagLib.php');
20     $options = array( 'templateDir' => dirname(__FILE__) );
21     $tpl = new HTML_Template_Xipe($options);
22    
23     require_once('HTML/Template/Xipe/Filter/Modifier.php');
24     $modifiers = new HTML_Template_Xipe_Filter_Modifier($tpl->options);
25     $tpl->registerPrefilter(array(&$modifiers,'imgSrc'),
26     array(dirname(__FILE__),'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])));
27    
28    
29     // session stuff to save the opened folders etc.
30     session_start();
31     if(!session_is_registered('session'))
32     {
33     $session = new stdClass; // standard PHP-class constructor
34     session_register('session');
35     $session->data = array();
36     $session->use = 'Filesystem';
37     }
38     else // since the class is read from the session it is not automatically made global
39     {
40     $session = &$_SESSION['session'];
41     }
42    
43     // set the source to use
44     if( @$_REQUEST['use_DB'] )
45     $session->use = 'DB';
46     if( @$_REQUEST['use_Filesystem'] )
47     $session->use = 'Filesystem';
48     if( @$_REQUEST['use_XML'] )
49     $session->use = 'XML';
50     if( @$_REQUEST['use_Array'] )
51     $session->use = 'Array';
52    
53     ##################################################
54     #
55     # actual tree stuff
56     #
57     define('TABLE_TREE','Tree_Nested');
58     define('DB_DSN','mysql://root@localhost/test');
59    
60     require_once('treeClass.php');
61     if( $session->use == 'DB' )
62     {
63     $options = array( 'table' => TABLE_TREE , 'order' => 'name');
64     $tree = new treeClass( 'DBnested' , DB_DSN , $options );
65     }
66     if( $session->use == 'Filesystem' )
67     {
68     # to let it work on the filesystem :-)
69     $options = array( 'order' => 'name');
70     $tree = new treeClass( 'Filesystem' , dirname(__FILE__).'/tmp' , $options );
71     }
72     if( $session->use == 'XML' )
73     {
74     $tree = new treeClass( 'XML' , dirname(__FILE__).'/config.xml' );
75     }
76     if( $session->use == 'Array' )
77     {
78     // the actual data for the tree, they have to have the given structure
79     $arrayData = array( 'name'=>'Root',
80     'children'=>array(
81     array('name'=>'dir1'),
82     array('name'=>'dir2',
83     'children'=>array(
84     array('name'=>'dir2_1'),
85     array('name'=>'dir2_2'),
86     )
87     ),
88     array('name'=>'dir3')
89     )
90     );
91    
92     // any on an array
93     $options = array( 'order' => 'name');
94     $tree = new treeClass( 'Array' , $arrayData , $options );
95     }
96    
97    
98    
99    
100    
101     if( PEAR::isError($res=$tree->setup()) )
102     {
103     $methodFailed = true;
104     $results[] = $res;
105     }
106    
107     $tree->setRemoveRecursively();
108    
109     // detect action
110    
111     if( @$_REQUEST['action_copy'] || @$_REQUEST['action_copy_x'] ||
112     @$_REQUEST['action_cut'] || @$_REQUEST['action_cut_x'] )
113     {
114     if( @$_REQUEST['action_copy'] || @$_REQUEST['action_copy_x']) $session->action = 'copy';
115     if( @$_REQUEST['action_cut'] || @$_REQUEST['action_cut_x'] ) $session->action = 'cut';
116    
117     if( is_array($_REQUEST['selectedNodes']) && sizeof($_REQUEST['selectedNodes']))
118     {
119     $session->data = $_REQUEST['selectedNodes'];
120     }
121     else
122     {
123     $session->action = '';
124     }
125     }
126    
127     if( @$_REQUEST['action_paste'] || @$_REQUEST['action_paste_x'] )
128     {
129     if( is_array($session->data) && sizeof($session->data))
130     {
131     if( $session->action == 'copy' )
132     {
133     if( is_array($_REQUEST['selectedNodes']) && sizeof($_REQUEST['selectedNodes']))
134     {
135     $dest = $_REQUEST['selectedNodes'];
136     $sources = $session->data;
137     foreach( $sources as $aSrc )
138     {
139     foreach( $dest as $aDest )
140     {
141     $methodCalls[] = "tree->copy( $aSrc , $aDest )";
142     $results[] = $tree->copy( $aSrc , $aDest );
143     }
144     }
145    
146     #$results = 'Sorry COPY is not implemented yet :-(';
147     $session->data = array();
148     unset($session->action);
149     $tree->setup();
150     }
151     else
152     {
153     $methodFailed = true;
154     $results = 'Please choose destination folder(s) to paste to!';
155     }
156     }
157    
158     if( $session->action == 'cut')
159     {
160     if( !$_REQUEST['moveDest'] )
161     {
162     $methodFailed = true;
163     $results = 'Please choose a destination to paste to!';
164     }
165     else
166     {
167     foreach( $session->data as $aNodeId )
168     {
169     $methodCalls[] = "tree->move( $aNodeId , {$_REQUEST['moveDest']} )";
170     $results[] = $tree->move( $aNodeId , $_REQUEST['moveDest'] );
171     }
172     $session->data = array();
173     unset($session->action);
174     $tree->setup();
175     }
176     }
177     }
178     }
179    
180     if( (@$_REQUEST['action_delete'] || @$_REQUEST['action_delete_x']) &&
181     is_array($_REQUEST['selectedNodes']) && sizeof($_REQUEST['selectedNodes']) )
182     {
183     $rootId = $tree->getRootId();
184     foreach( $_REQUEST['selectedNodes'] as $aNodeId )
185     {
186     if( $rootId == $aNodeId )
187     {
188     $methodCalls[] = 0;
189     $results[] = 'Cant remove Root with this application!';
190     $methodFailed = true;
191     }
192     else
193     {
194     $methodCalls[] = "tree->remove( $aNodeId )";
195     $res = $tree->remove( $aNodeId );
196     if(PEAR::isError($res))
197     $methodFailed = true;
198     $results[] = $res;
199     }
200     }
201     $session->data = array();
202     unset($session->action);
203     $tree->setup();
204     }
205    
206    
207     if( @$_REQUEST['action_add'] &&
208     is_array($_REQUEST['selectedNodes']) && sizeof($_REQUEST['selectedNodes']) &&
209     $_REQUEST['newFolder'] )
210     {
211     foreach( $_REQUEST['selectedNodes'] as $aNodeId )
212     {
213     $methodCalls[] = "tree->add( {$_REQUEST['newFolder']} , $aNodeId )";
214     $res = $tree->add( $_REQUEST['newFolder'] , $aNodeId );
215     if(PEAR::isError($res))
216     $methodFailed = true;
217     $results[] = $res;
218     }
219     $session->data = array();
220     unset($session->action);
221     $tree->setup();
222     }
223    
224    
225     $allVisibleFolders = $tree->getAllVisible();
226    
227     if( !@is_array($_REQUEST['selectedNodes']) )
228     $_REQUEST['selectedNodes'] = array();
229    
230     ##################################################
231     #
232     # show the template
233     #
234     $tpl->compile('index.tpl');
235     include($tpl->compiledTemplate);
236     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed