⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynamic_tabstrip.class.inc

📁 国外很不错的一个开源OA系统Group-Office
💻 INC
字号:
<?php/** * @copyright Intermesh 2005 * @author Merijn Schering <mschering@intermesh.nl> * @version $Revision: 1.4 $ $Date: 2006/11/21 16:25:34 $ *   This program is free software; you can redistribute it and/or modify it   under the terms of the GNU General Public License as published by the   Free Software Foundation; either version 2 of the License, or (at your   option) any later version. * @package Framework * @subpackage Controls *//** * Creates a table that uses tabs to show multiple screens *  * @package Framework * @subpackage Controls *  * @access public */require_once($GO_CONFIG->class_path.'base/controls/table.class.inc');class dynamic_tabstrip extends table{  var $tabs = array();  var $value;  var $form_name;  var $title = '';  var $return_to = '';    var $tabwidth;  var $tab_direction;    var $tabstrip_content='';    var $submitted=false;  //css classes  var $css_tab = 'Tab';  var $css_value = 'Activetab';  var $css_tab_vert = 'TabVert';  var $css_value_vert = 'ActivetabVert';  var $css_table = 'tabtable';  var $css_tab_background = 'TabBackground';  var $css_tab_background_vert = 'TabBackgroundVert';  //constructor sets basic properties  function dynamic_tabstrip($id, $title='', $tabwidth='120', $form_name='0', $tab_direction='horizontal')  {  	$this->tagname = 'table';				$this->set_linebreak("\n");		    $this->id = $id;    $this->title = $title;    $this->tabwidth = $tabwidth;    $this->tab_direction=$tab_direction;    $this->form_name=$form_name;        $this->value = isset($_REQUEST[$this->id]) ? $_REQUEST[$this->id] : null;  }    function set_return_to($return_to)  {  	$this->return_to = $return_to;  }     function set_classnames($table, $tab, $value, $tab_background)  {    $this->css_table= $table;    $this->css_tab= $tab;    $this->css_value = $value;    $this->css_tab_background = $tab_background;  }  function add_tab($id, &$name, &$html_element)  {    $this->tabs[$id] = $name;        $div = new html_element('div');    $div->set_attribute('id',$id);        $div->add_html_element($html_element);    if(!isset($this->value) || $this->value == '') $this->value = $id;        if($this->value != $id)    {    	$div->set_attribute('style', 'display:none');    }    $this->add_html_element($div);      }  function set_active_tab($index)  {     	$this->value = $index;  }    function get_tab_handler($tab_id)  {  	return 'javascript:change_tab_'.$this->id.'(\''.addslashes($tab_id).'\');';  }    function get_tab_handler_for_function($varname)  {  	return 'change_tab_'.$this->id.'('.$varname.');';  }    function get_html()  {    $value_ref = $this->id;        if ($this->tab_direction == 'vertical')    {      $this->css_value = $this->css_value_vert;      $this->css_tab = $this->css_tab_vert;      $this->css_tab_background = $this->css_tab_background_vert;    }    $tab_count = count($this->tabs);    if ($tab_count > 0)    {    	$this->add_outerhtml_element(new input('hidden', $this->id, $this->value, false));                $this->innerHTML .= '	<script type="text/javascript">	function change_tab_'.$this->id.'(activetab)	{		document.getElementById("tab_"+document.forms["'.$this->form_name.'"].elements["'.$this->id.'"].value).className="Tab";		document.getElementById("tab_"+activetab).className="ActiveTab";				document.getElementById(document.forms["'.$this->form_name.'"].elements["'.$this->id.'"].value).style.display="none";		document.getElementById(activetab).style.display="block";		document.forms["'.$this->form_name.'"].elements["'.$this->id.'"].value=activetab;	}  </script>	';    }               $this->set_attribute('class', $this->css_table);    $this->set_attribute('cellpadding', '0');    $this->set_attribute('cellspacing', '0');    $this->set_attribute('border', '0');    if ($this->title != '')    {    	$th = new table_heading($this->title);    	 if ($this->tab_direction == 'vertical')			{				$th->set_attribute('colspan','3');			}    	$this->add_column($th);    	      if($this->return_to != '')      {      	$close_image = new image('close_small');      	$close_image->set_attribute('style','border:0px;');      	      	$hyperlink = new hyperlink($this->return_to, $close_image->get_html());      	$th = new table_heading($hyperlink->get_html());      	$th->set_attribute('style','text-align:right');      	$this->add_column($th);      }    }    if ($tab_count > 0)    {    	$tabtable = new table();    	$tabtable->set_attribute('cellpadding', '0');    	$tabtable->set_attribute('cellspacing', '0');    	$tabtable->set_attribute('border', '0');    	    	if ($this->tab_direction == 'horizontal')      {      	$tabrow = new table_row();      }      foreach ($this->tabs as $key => $value)      {      	if ($this->tab_direction == 'vertical')				{				  $tabrow = new table_row();				}				$tabcell = new table_cell($value);				$tabcell->set_attribute('id','tab_'.$key);				$tabcell->set_attribute('nowrap', 'true');				$tabcell->set_attribute('onclick', $this->get_tab_handler($key));				$tabcell->set_attribute('width', $this->tabwidth);				if ($key == $this->value)				{					$tabcell->set_attribute('class', $this->css_value);				}else				{										$tabcell->set_attribute('class', $this->css_tab);				}				$tabrow->add_cell($tabcell);							if ($this->tab_direction == 'vertical')				{				  $tabtable->add_row($tabrow);				}			      }	    	if ($this->tab_direction == 'horizontal')      {				$tabtable->add_row($tabrow);      }            	$row = new table_row();    	$cell = new table_cell($tabtable->get_html());    	$cell->set_attribute('class', $this->css_tab_background);    	$cell->set_attribute('valign', 'top');    	//$cell->set_attribute('colspan', '2');    	$row->add_cell($cell);    	    	if($this->tab_direction == 'horizontal')	  	{  			$this->add_row($row);  			$row = new table_row();  		}    }else    {    	$row = new table_row();    }    	  	$content_cell = new table_cell($this->innerHTML);  	$content_cell->set_attribute('style', 'width:100%;height:100%;padding:10px;vertical-align:top;');  	if($this->tab_direction == 'horizontal')	  {  		$content_cell->set_attribute('colspan','99');  	}else  	{	  	$content_cell->set_attribute('colspan','2');  	}	  	$row->add_cell($content_cell);      	  	  	$this->add_row($row);      return parent::get_html();      }  function get_active_tab_id()  {  	return $this->value;  }    function get_next_tab_id()  {  	foreach($this->tabs as $id=>$text)  	{  		if(isset($next))  		{  			return $id;  		}  		if($id == $this->value)  		{  			$next = true;  		}  	}  	return false;  }}

⌨️ 快捷键说明

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