73127062ea7fc67bb7be9ce4ca35076a9be48c27
[ldapsaisie.git] / trunk / select.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 require_once 'core.php';
24
25 if(LSsession :: startLSsession()) {
26   if (isset($_REQUEST['LSobject'])) {
27     $LSobject = $_REQUEST['LSobject'];
28     
29     if ( LSsession ::loadLSobject($LSobject) ) {
30       if (LSsession :: loadLSclass('LSsearch')) {
31         $object = new $LSobject();
32         $GLOBALS['Smarty']->assign('pagetitle',$object -> getLabel());
33         
34         $LSsearch = new LSsearch($LSobject,'LSselect');
35         $LSsearch -> setParamsFormPostData();
36         $LSsearch -> setParam('nbObjectsByPage',NB_LSOBJECT_LIST_SELECT);
37         
38         $multiple = ((isset($_REQUEST['multiple']))?1:0);
39         
40         $searchForm = array (
41           'action' => $_SERVER['PHP_SELF'],
42           'recursive' => (! LSsession :: isSubDnLSobject($LSobject) && LSsession :: subDnIsEnabled() ),
43           'multiple' => $multiple,
44           'labels' => array (
45             'submit' => _('Search'),
46             'approx' => _('Approximative search'),
47             'recursive' => _('Recursive search'),
48             'level' => _('Level')
49           ),
50           'values' => array (
51             'pattern' => $LSsearch->getParam('pattern'),
52             'approx' => $LSsearch->getParam('approx'),
53             'recursive' => $LSsearch->getParam('recursive'),
54             'basedn' => $LSsearch->getParam('basedn')
55           ),
56           'names' => array (
57             'submit' => 'LSsearch_submit'
58           ),
59           'hiddenFields' => array_merge(
60             $LSsearch -> getHiddenFieldForm(),
61             array(
62               'ajax' => 1,
63               'multiple' => $multiple
64             )
65           )
66         );
67         $GLOBALS['Smarty']->assign('searchForm',$searchForm);
68         
69         $LSview_actions=array(
70           array (
71             'label' => 'Refresh',
72             'url' => 'view.php?LSobject='.$LSobject.'&amp;refresh',
73             'action' => 'refresh'
74           )
75         );
76         $GLOBALS['Smarty']->assign('LSview_actions',$LSview_actions);
77         
78         $LSsearch -> run();
79         $page=(int)$_REQUEST['page'];
80         $page = $LSsearch -> getPage($page);
81         $GLOBALS['Smarty']->assign('page',$page);
82         $GLOBALS['Smarty']->assign('LSsearch',$LSsearch);
83
84         $GLOBALS['Smarty']->assign('LSobject_list_objectname',$object -> getLabel());
85         
86         if (isset($_REQUEST['ajax'])) {
87           LSsession :: setTemplate('select_table.tpl');
88         }
89         else {
90           LSsession :: setTemplate('select.tpl');
91         }
92         
93         LSsession :: setAjaxDisplay();
94       }
95       else {
96         LSsession :: addErrorCode('LSsession_05','LSsearch');
97       }
98     }
99   }
100   else {
101     LSerror :: addErrorCode('LSsession_12');
102   }
103 }
104 else {
105   LSsession :: setTemplate('login.tpl');
106 }
107
108 // Affichage des retours d'erreurs
109 LSsession :: displayTemplate();
110
111 if (isset($LSsearch)) {
112   $LSsearch->afterUsingResult();
113 }
114 ?>