public function modAction($mod_action) { require_once WT_MODULES_DIR . $this->getName() . '/class_treeview.php'; switch ($mod_action) { case 'treeview': global $controller; $controller = new WT_Controller_Chart(); $tv = new TreeView('tv'); ob_start(); $person = $controller->getSignificantIndividual(); list($html, $js) = $tv->drawViewport($person, 4); $controller->setPageTitle(WT_I18N::translate('Interactive tree of %s', $person->getFullName()))->pageHeader()->addExternalJavascript($this->js())->addInlineJavascript($js)->addInlineJavascript(' if (document.createStyleSheet) { document.createStyleSheet("' . $this->css() . '"); // For Internet Explorer } else { jQuery("head").append(\'<link rel="stylesheet" type="text/css" href="' . $this->css() . '">\'); } '); echo $html; break; case 'getDetails': //$controller = new WT_Controller_Ajax(); //$controller->pageHeader(); Zend_Session::writeClose(); header('Content-Type: text/html; charset=UTF-8'); $pid = WT_Filter::get('pid', WT_REGEX_XREF); $i = WT_Filter::get('instance'); $tv = new TreeView($i); $individual = WT_Individual::getInstance($pid); if ($individual) { echo $tv->getDetails($individual); } break; case 'getPersons': //$controller = new WT_Controller_Ajax(); //$controller->pageHeader(); Zend_Session::writeClose(); header('Content-Type: text/html; charset=UTF-8'); $q = WT_Filter::get('q'); $i = WT_Filter::get('instance'); $tv = new TreeView($i); echo $tv->getPersons($q); break; default: header('HTTP/1.0 404 Not Found'); break; } }