output.php

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 212 行

PHP
212
字号
<?php//// +----------------------------------------------------------------------+// | PEAR :: DB_NestedSet_Output                                          |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2003 The PHP Group                                |// +----------------------------------------------------------------------+// | This source file is subject to version 2.0 of the PHP license,       |// | that is bundled with this package in the file LICENSE, and is        |// | available at through the world-wide-web at                           |// | http://www.php.net/license/2_02.txt.                                 |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Authors: Daniel Khan <dk@webcluster.at>                              |// |          Jason Rust  <jason@rustyparts.com>                          |// +----------------------------------------------------------------------+// $Id: Output.php,v 1.11 2003/10/07 00:11:27 datenpunk Exp $//require_once 'PEAR.php';// {{{ constantsdefine('NESEO_ERROR_NO_METHOD',    'E1000');define('NESEO_DRIVER_NOT_FOUND',   'E1100');define('NESEO_ERROR_NO_OPTIONS',   'E2100');// }}}// {{{ DB_NestedSet_Output:: class/*** DB_NestedSet_Output is a unified API for other output drivers* Status is beta** At the moment PEAR::HTML_TreeMenu written by Jason Rust is supported* A driver for treemenu.org will follow soon.** Usage example:** require_once('DB_NestedSet/NestedSet/Output.php');* $icon         = 'folder.gif';* $expandedIcon = 'folder-expanded.gif';* // get data (important to fetch it as an array, using the true flag)* $data = $NeSe->getAllNodes(true);* // change the events for one of the elements* $data[35]['events'] = array('onexpand' => 'alert("we expanded!");');* // add links to each item* foreach ($data as $a_data) {*   $a_data['link'] = 'http://foo.com/foo.php?' . $a_data['id'];* }* $params = array(* 'structure' => $data,* 'options' => array(* 'icon' => $icon,* 'expandedIcon' => $expandedIcon,* ),* 'textField' => 'name',* 'linkField' => 'link',* );* $menu =& DB_NestedSet_Output::factory('TreeMenu', $params);* $menu->printListbox();** @author       Daniel Khan <dk@webcluster.at>* @package      DB_NestedSet* @version      $Revision: 1.11 $* @access       public**/// }}}class DB_NestedSet_Output {    // {{{ properties    /**    * @var object The tree menu structure    * @access private    */    var $_structTreeMenu    = false;    /**    * @var array Array of options to be passed to the ouput methods    * @access public    */    var $options    = array();    // }}}    // {{{ factory()    /**    * Returns a output driver object    *    * @param array $params A DB_NestedSet nodeset    * @param string $driver (optional) The driver, such as TreeMenu (default)    *    * @access public    * @return object The DB_NestedSet_Ouput object    */    function &factory ($params, $driver = 'TreeMenu') {        $path = dirname(__FILE__).'/'.$driver.'.php';        if(is_dir($path) || !file_exists($path)) {            PEAR::raiseError("The output driver '$driver' wasn't found", NESEO_DRIVER_NOT_FOUND, PEAR_ERROR_TRIGGER, E_USER_ERROR);        }        require_once($path);        $driverClass = 'DB_NestedSet_'.$driver;        return new $driverClass($params);    }    // }}}    // {{{ setOptions()    /**    * Set's options for a specific output group (printTree, printListbox)    * This enables you to set specific options for each output method    *    * @param string $group Output group ATM 'printTree' or 'printListbox'    * @param array $options Hash with options    *    * @access public    * @return bool    */    function setOptions($group, $options) {        $this->options[$group] = $options;        return true;    }    // }}}    // {{{ _getOptions()    /**    * Get's all option for a specific output group (printTree, printListbox)    *    * @param string $group Output group ATM 'printTree' or 'printListbox'    *    * @access private    * @return array Options    */    function _getOptions($group) {        if (!isset($this->options[$group])) {            return array();        }        return $this->options[$group];    }    // }}}    // {{{ printTree()    /**    * Print's the current tree using the output driver    * Overriden by the driver class    *    * @access public    */    function printTree() {        PEAR::raiseError("Method not available for this driver", NESEO_ERROR_NO_METHOD, PEAR_ERROR_TRIGGER, E_USER_ERROR);    }    // }}}    // {{{ printListbox()    /**    * Print's a listbox representing the current tree    * Overriden by the driver class    *    * @access public    */    function printListbox() {        PEAR::raiseError("Method not available for this driver", NESEO_ERROR_NO_METHOD, PEAR_ERROR_TRIGGER, E_USER_ERROR);    }    // }}}    // {{{ toHTML()    /**     * Returns the HTML for the DHTML-menu. This method can be     * used instead of printMenu() to use the menu system     * with a template system.     *     * @access public     * @return string The HTML for the menu     * @author Emanuel Zueger     */    function tree_toHTML() {        PEAR::raiseError("Method not available for this driver", NESEO_ERROR_NO_METHOD, PEAR_ERROR_TRIGGER, E_USER_ERROR);    }    // }}}    // {{{ listbox_toHTML()    /**     * Returns the HTML for the listbox. This method can be     * used instead of printListbox() to use the menu system     * with a template system.     *     * @access public     * @return string The HTML for the listbox     * @author Emanuel Zueger     */    function listbox_toHTML() {        PEAR::raiseError("Method not available for this driver", NESEO_ERROR_NO_METHOD, PEAR_ERROR_TRIGGER, E_USER_ERROR);    }    // }}}}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?