Пример #1
0
    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;
        }
    }