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

📄 object_select.class.inc

📁 国外很不错的一个开源OA系统Group-Office
💻 INC
字号:
<?php/** * @copyright Intermesh 2003 * @author Merijn Schering <mschering@intermesh.nl> * @version $Revision: 1.6 $ $Date: 2006/03/20 16:07:17 $   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 *//** * Create a select box for objects in Group-Office *  * This class is used to draw a select field on the website. *  * @package Framework * @subpackage Controls *  * @access public */class object_select{	var $value;	var $name;	var $form_name;	var $selected_type;	var $name_field_value;	var $name_field;	var $value_field;	var $type_field;	var $types;	var $uniqid;	var $return_to;	/**   * Draw a new select field.   *    * ...   *    * @access public   *    * @param string $selected_type   * @param string $form_name   * @param string $name   * @param string $value   * @param bool $types   * @param string $return_to   *    * @return void   */	function object_select(	$selected_type, $form_name, $name, $value, $types=false, $return_to='', $handler='')	{		global $GO_CONFIG;				if(empty($handler))		{			$handler = $GO_CONFIG->control_url.'select/add.php';			}		$this->handler = $handler;				if( !$types ) {			$this->types = array( $selected_type );		} else {			$this->types=$types;		}		$this->type_field = $name.'[type]';		$this->name_field = $name.'[name]';		$this->value_field = $name.'[value]';		$this->selected_type = $selected_type;		$this->form_name = $form_name;		$this->name = $name;		$this->value = $value;		$this->return_to = $return_to == '' ? $_SERVER['REQUEST_URI'] : $return_to;		$this->uniqid = uniqid( time() );	}		function set_return_to($return_to)	{		$this->return_to = $return_to;	}	/**   * Print a link.   *    * ...   *    * @access public   *    * @param string $text   *   * @return void   */	function print_link ($text )	{		echo $this->get_link( $text );	}	/**   * Generate a GO-Link   *    * Returns a string that can used to draw a link.   *    * @access public   *    * @param string $text   *    * @return string   */	function get_link( $text )	{		global $GO_THEME, $GO_CONFIG;		$argument = '';		for( $i=0; $i<count($this->types); $i++ ) {			switch( $this->types[$i] ) {				case 'user':				$argument .= '&show_users=true';				break;				case 'contact':				$argument .= '&show_contacts=true';				break;				case 'company':				$argument .= '&show_companies=true';				break;				case 'project':				$argument .= '&show_projects=true';				break;				case 'file':				$argument .= '&show_files=true';				break;				default:				exit("Unsupported type '".$this->selected_type."' in select class");				break;			}		}		$link = 'javascript:popup(\''.$GO_CONFIG->control_url.'select/select.php?'.		'search_type='.$this->selected_type.'&multiselect=false&GO_HANDLER='.		base64_encode(		$this->handler.'?type='.$this->selected_type.		'&id_field=document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->value_field).'\']' .		'&name_field=document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->name_field).'\']' .		'&type_field=document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->type_field).'\']').		'&pass_value=id&handler_base64_encoded=true&require_email_address=false'.$argument.'\',\'620\',\'400\');';		return '<a class="normal" href="'.$link.'"><img align="absmiddle" src="'.		$GO_THEME->images['addressbook_small'].'" width="16" height="16" '.		'border="0" style="margin-right: 5px;" />'.$text.'</a>';	}	/**   */	function get_field($width='300')	{		global $GO_THEME, $GO_CONFIG, $strDeleteItem, $GO_USERS, $GO_MODULES;		$name_field_value = '';		if ( $this->value > 0 || $this->value != '' ) {			switch ( $this->selected_type ) {				case 'user':				if ( $user = $GO_USERS->get_user( $this->value ) ) {										$name = format_name($user['last_name'], $user['first_name'], $user['middle_name']);					$name_field_value = htmlspecialchars($name);				}				break;				case 'contact':				$ab = new addressbook();				if ( $contact = $ab->get_contact( $this->value ) ) {					$name = format_name($contact['last_name'], $contact['first_name'], $contact['middle_name']);					$name_field_value = htmlspecialchars($name);				}				break;				case 'company':				$ab = new addressbook();				if ( $company = $ab->get_company( $this->value ) ) {					$name_field_value = $company['name'];				}				break;				case 'project':				$projects = new projects();				if ( $project = $projects->get_project( $this->value ) ) {					$name_field_value = $project['name'];					if ( $project['description'] != '' ) {						$name_field_value .= " (".$project['description'].")";					}				}				break;				case 'file':				$name_field_value = basename($this->value);				break;			}		}		$return_string = '';		$return_string .= '<input type="hidden" name="'.$this->type_field.'" value="'.$this->selected_type.'" />';		$return_string .= '<input type="hidden" value="'.$this->value.'" name="'.$this->value_field.'" />'.		'<input type="text" name="'.$this->name_field.'" class="textbox" style="width: '.$width.'px;" value="'.$name_field_value.'" disabled />';		if ( $this->value != '' ) {			$return_string .= '<a href="javascript:show_relation_'.$this->uniqid.'()"><img src="'.$GO_THEME->images['magnifier'].'" border="0" align="absmiddle" /></a>';		}		$return_string.= 	'<a href="javascript:clear_'.$this->uniqid.'()" title="'.$strDeleteItem.		'"><img src="'.$GO_THEME->images['delete'].'" align="absmiddle" border="0"></a>';		$return_string.=  	'<script type="text/javascript">'.		'function clear_'.$this->uniqid.'(){'.		'document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->value_field).'\'].value="";'.		'document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->name_field).'\'].value="";}'.		'function show_relation_'.$this->uniqid.'(){'.		'if(document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->value_field).'\'].value > 0 || document.forms[\''.$this->form_name.'\'].elements[\''.addslashes($this->value_field).'\'].value != \'\'){'.		'document.location="';		switch($this->selected_type)		{			case 'user':			$return_string.=  $GO_CONFIG->control_url.'user.php?id='.$this->value;			break;			case 'contact':			$return_string.=  $GO_MODULES->modules['addressbook']['url'].'contact.php?contact_id='.$this->value;			break;			case 'company':			$return_string.=  $GO_MODULES->modules['addressbook']['url'].'company.php?company_id='.$this->value;			break;			case 'project':			$return_string.=  $GO_MODULES->modules['projects']['url'].'project.php?project_id='.$this->value;			break;			case 'file':			$return_string.=  $GO_MODULES->modules['filesystem']['url'].'index.php?path='.			urlencode(dirname($this->value));			break;		}		$return_string .= '&return_to='.urlencode($this->return_to).'";}}'.		'</script>';		return $return_string;	}	/**   */	function print_field($width='300')	{		echo $this->get_field($width);	}}

⌨️ 快捷键说明

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