Permit LSaddon to provide ajax callable function
[ldapsaisie.git] / public_html / index_ajax.php
1 <?php
2
3 require_once 'core.php';
4
5 if (!isset($_REQUEST['noLSsession'])) {
6   if ( !LSsession :: startLSsession() ) {
7     LSerror :: addErrorCode('LSsession_22');
8     $_ERRORS = true;
9   }
10 }
11 else {
12   LSsession :: initialize() or die('Error during initialization.');
13 }
14
15 $data=NULL;
16 if (!isset($_ERRORS)) {
17   if (isset($_REQUEST['template'])) {
18     $class = $_REQUEST['template'];
19     if (LSsession :: loadLSclass($class)) {
20       $meth = 'ajax_'.$_REQUEST['action'];
21       if (method_exists($class,$meth)) {
22          $class :: $meth($data);
23       }
24     }
25   }
26   elseif (isset($_REQUEST['addon'])) {
27     $addon = $_REQUEST['addon'];
28     if (LSsession :: loadLSaddon($addon)) {
29       $func = 'ajax_'.$_REQUEST['action'];
30       if (function_exists($func)) {
31         $func = new ReflectionFunction($func);
32         if (basename($func->getFileName())=="LSaddons.$addon.php") {
33           $func->invokeArgs(array(&$data));
34         }
35         else {
36           LSerror :: addErrorCode('LSsession_21',array('func' => $func -> getName(),'addon' => $addon));
37         }
38       }
39     }
40   }
41 }
42
43 LSsession :: displayAjaxReturn($data);