Code Search for Developers
 
 
  

select.php from Group-Office groupware at Krugle


Show select.php syntax highlighted

<?php
/**
 * @copyright Intermesh 2003
 * @author Merijn Schering <mschering@intermesh.nl>
 * @version $Revision: 1.83 $ $Date: 2006/11/28 11:39:19 $

 * 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.
 */

if (isset($_REQUEST['handler_base64_encoded']))
{
	$_REQUEST['GO_HANDLER'] = base64_decode($_REQUEST['GO_HANDLER']);
}
require_once("../../Group-Office.php");
$GO_SECURITY->authenticate();

load_basic_controls();
load_control('datatable');


require_once($GO_LANGUAGE->get_language_file('addressbook'));

$GO_FIELD = isset($_REQUEST['GO_FIELD']) ? smart_stripslashes($_REQUEST['GO_FIELD']) : '';
$GO_HANDLER = isset($_REQUEST['GO_HANDLER']) ? smart_stripslashes($_REQUEST['GO_HANDLER']) : '';

$task = isset($_REQUEST['task']) ? $_REQUEST['task'] : '';
$mode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : '';

$pass_value = isset($_REQUEST['pass_value']) ? $_REQUEST['pass_value'] : 'email';
$multiselect = isset($_REQUEST['multiselect']) ? $_REQUEST['multiselect'] :  'false';
$require_email_address = isset($_REQUEST['require_email_address']) ? $_REQUEST['require_email_address'] : 'false';

$tabstrip = new tabstrip('search_type',$cmdSearch);	
$tabstrip->set_attribute('style','width:100%');


if(isset($_REQUEST['show_contacts']) &&  $_REQUEST['show_contacts'] == 'true' 
	&& isset($GO_MODULES->modules['addressbook']) 
	&& $GO_MODULES->modules['addressbook']['read_permission'])
{
	$tabstrip->add_tab('contact',$contacts_contacts);
	$types_used[] = 'contact';
	$show_contacts='true';
}else
{
	$show_contacts='false';
}
if(isset($_REQUEST['show_companies']) &&  $_REQUEST['show_companies'] == 'true'
	&& isset($GO_MODULES->modules['addressbook']) 
	&& $GO_MODULES->modules['addressbook']['read_permission'])
{
	$types_used[] = 'company';
	$show_companies='true';
	$tabstrip->add_tab('company',$ab_companies);
}else
{
	$show_companies='false';
}
if(isset($_REQUEST['show_users']) &&  $_REQUEST['show_users'] == 'true')
{
	$tabstrip->add_tab('user',$contacts_members);
	$types_used[] = 'user';
	$show_users='true';
}else
{
	$show_users='false';
}
if(isset($_REQUEST['show_projects']) &&  $_REQUEST['show_projects'] == 'true'
	&& isset($GO_MODULES->modules['projects']) 
	&& $GO_MODULES->modules['projects']['read_permission'])
{
	$types_used[] = 'project';
	$show_projects='true';
	$tabstrip->add_tab('project', $strProjects);
}else
{
	$show_projects='false';
}
if(isset($_REQUEST['show_files']) &&  $_REQUEST['show_files'] == 'true'
		&& isset($GO_MODULES->modules['filesystem']) 
		&& $GO_MODULES->modules['filesystem']['read_permission'])
{
	$tabstrip->add_tab('file', $strFiles);
	$types_used[] = 'file';
	$show_files='true';
}else
{
	$show_files='false';
}
$show_mailings = isset($_REQUEST['show_mailings']) && $_REQUEST['show_mailings']=='true' ? true : false;


$search_type = isset($_REQUEST['search_type']) ? $_REQUEST['search_type'] : 'contact';

if (isset($GO_MODULES->modules['addressbook']) && $GO_MODULES->modules['addressbook']['read_permission'])
{
	$GO_MODULES->authenticate('addressbook');
	
	require_once($GO_MODULES->modules['addressbook']['class_path'].'addressbook.class.inc');
	$ab = new addressbook();
	
	
	$ab_settings = $ab->get_settings($GO_SECURITY->user_id);
	if($search_type == '')
	{
		$search_type = $ab_settings['search_type'];
		$tabstrip->set_active_tab($ab_settings['search_type']);
	}else
	{
		 $ab_settings['search_type'] = $search_type;
	}
	
	$addressbook_id = isset($_REQUEST['addressbook_id']) ? $_REQUEST['addressbook_id'] : $ab_settings['addressbook_id'];
	if($addressbook_id == 0)
	{
		$addressbook = $ab->get_addressbook();
		$addressbook_id = $addressbook['id'];
	}
}
$GO_HEADER['nomessages']=true;
$GO_HEADER['head'] = datatable::get_header();
$GO_HEADER['body_arguments'] = 'onkeypress="javascript:executeOnEnter(event, \'search();\');"';
$GO_HEADER['body_arguments'] .= 'onload="javascript:document.select_form.query.focus();"';

$page_title = $contacts_select;
require_once($GO_THEME->theme_path."header.inc");


$form = new form('select_form');
$form->add_html_element(new input('hidden','multiselect', $multiselect));
$form->add_html_element(new input('hidden','require_email_address', $require_email_address));
$form->add_html_element(new input('hidden','show_users', $show_users));
$form->add_html_element(new input('hidden','show_contacts', $show_contacts));
$form->add_html_element(new input('hidden','show_companies', $show_companies));
$form->add_html_element(new input('hidden','show_projects', $show_projects));
$form->add_html_element(new input('hidden','show_files', $show_files));
$form->add_html_element(new input('hidden','pass_value', $pass_value));
$form->add_html_element(new input('hidden','task', $task, false));
$form->add_html_element(new input('hidden','mode', $mode, false));
$form->add_html_element(new input('hidden','GO_FIELD', $GO_FIELD));
$form->add_html_element(new input('hidden','GO_HANDLER', $GO_HANDLER));
$form->add_html_element(new input('hidden','clicked_letter'));
$form->add_html_element(new input('hidden','select_single'));


if ($show_contacts == 'true' || $show_companies == 'true')
{
	$menu = new button_menu();
	if($show_contacts)
	{
		$menu->add_button('add_contact', $ab_new_contact, "javascript:popup('".$GO_MODULES->modules['addressbook']['url'].
			"contact.php?addressbook_id=".$addressbook_id.
			"&popup=true','770','500');");	
	}
			
	if($show_companies)
	{
		$menu->add_button('ab_add_company', $ab_new_company, "javascript:popup('".
			$GO_MODULES->modules['addressbook']['url']."company.php?addressbook_id=".
			$addressbook_id."&popup=true','770','500');");
	}
	$tp_plugin=$GO_MODULES->get_plugin('templates', 'addressbook');

	
	if($show_mailings && isset($GO_MODULES->modules['reports']) && $GO_MODULES->modules['reports']['read_permission'])
	{
		$GO_THEME->load_module_theme('reports');
		require($GO_LANGUAGE->get_language_file('reports'));
		$menu->add_button('reports', $lang_modules['reports'], "javascript:change_mode('reports');");
	}
	
	
	$form->add_html_element($menu);
}

require_once($GO_CONFIG->class_path.'mail/RFC822.class.inc');
$RFC822 = new RFC822();

if (isset($_REQUEST['address_string']))
{
	$addresses = $RFC822->explode_address_list(smart_stripslashes($_REQUEST['address_string']));
}else
{
	$addresses=array();
}

$datatable = new datatable('select_table');
$datatable->set_multiselect(($multiselect == 'true'));

switch($mode)
{
	case 'reports':
		if(isset($_POST['addresses']))
		{
			$addresses = array_map('smart_stripslashes', $_POST['addresses']);
		}elseif(isset($_POST['select_table']['selected']))
		{
			$addresses = array_map('smart_stripslashes', $_POST['select_table']['selected']);
		}else
		{
			$addresses = array();
		}
		foreach($addresses as $address)
		{
			$form->add_html_element(new input('hidden', 'addresses[]', $address));
		}
		$datatable->add_column(new table_heading($strName));
		require($GO_MODULES->modules['reports']['class_path'].'reports.class.inc');
		$reports = new reports();
		
		$count = $reports->get_authorized_reports($GO_SECURITY->user_id);
		
		while($reports->next_record())
		{
			$row = new table_row($reports->f('id'));
			$row->set_attribute('ondblclick', "javascript:_select_report();");
			
			$row->add_cell(new table_cell($reports->f('name')));			
			$datatable->add_row($row);
		}
	break;
	
	default:

		$datatable->set_remind_selected(true);

		if ($pass_value == 'email')
		{
			$datatable->selected = array_merge($addresses, $datatable->selected);
		}

		$count = 0;
		
		$table = new table();
		$row = new table_row();			

		$h2 = new html_element('h1');
		$alphabet = explode(',',$alphabet);
		for($i=0;$i<count($alphabet);$i++)
		{
			$hyperlink = new hyperlink("javascript:letter_click('".$alphabet[$i]."')",$alphabet[$i]);
			$hyperlink->set_attribute('style', 'margin-right:10px;');
			$h2->add_html_element($hyperlink);
		}

		$tabstrip->add_html_element($h2);
		
		$table = new table();
		$row = new table_row();

		$search_fields = new select('search_field');		

		switch ($search_type)
		{
			case 'company':
				$search_fields->add_value('', $strSearchAll);
				$search_fields->add_value('ab_companies.id', $ab_id);
				$search_fields->add_value('ab_companies.name', $strName);
				$search_fields->add_value('ab_companies.email', $strEmail);
				$search_fields->add_value('ab_companies.address',$strAddress);
				$search_fields->add_value('ab_companies.city', $strCity);
				$search_fields->add_value('ab_companies.zip',$strZip);
				$search_fields->add_value('ab_companies.state',$strState);
				$search_fields->add_value('ab_companies.country', $strCountry);


				$search_field = $ab_settings['search_companies_field'] ;
				if(isset($_REQUEST['search_field']))
				{
					if($search_fields->is_in_select($_REQUEST['search_field']))
					{
						$search_field = $_REQUEST['search_field'];
						if($task != 'show_letter')
						{
							$ab_settings['search_companies_field'] = $_REQUEST['search_field'];
						}
					}
				}		  
				$search_fields->value=$ab_settings['search_companies_field'];
			break;

			case 'user':
				$search_fields->add_value('', $strSearchAll);	
						
				$search_fields->add_value('users.first_name', $strFirstName);
				$search_fields->add_value('users.last_name', $strLastName);
				$search_fields->add_value('users.email', $strEmail);
				$search_fields->add_value('users.department',$strDepartment);
				$search_fields->add_value('users.function',$strFunction);
				$search_fields->add_value('users.address',$strAddress);
				$search_fields->add_value('users.city', $strCity);
				$search_fields->add_value('users.zip',$strZip);
				$search_fields->add_value('users.state',$strState);
				$search_fields->add_value('users.country', $strCountry);
				$search_fields->add_value('users.company', $strCompany);
				
				$search_field = isset($ab_settings['search_users_field']) ? $ab_settings['search_users_field'] : '';
				if(isset($_REQUEST['search_field']))
				{
					if($search_fields->is_in_select($_REQUEST['search_field']))
					{
						$search_field = $_REQUEST['search_field'];
						$ab_settings['search_users_field'] = $_REQUEST['search_field'];
					}
				}		  
				$search_fields->value=$ab_settings['search_users_field'];
			break;
			
			case 'project':
				$search_field = $search_fields->value = 'pmProjects.name';
				$search_fields->add_value('pmProjects.name', $strName);
			break;
			
			case 'file':			
				$home_path = $GO_CONFIG->file_storage_path.'users/'.$_SESSION['GO_SESSION']['username'];
				
				
				$search_field = $search_fields->value = 
					(isset($_POST['search_field']) && is_dir(smart_stripslashes($_POST['search_field']))) ? 
					smart_stripslashes($_POST['search_field']) : $home_path;

				$search_fields->add_value($home_path, 'home');
				
				require_once($GO_LANGUAGE->get_language_file('filesystem'));
				require_once($GO_CONFIG->class_path.'filesystem.class.inc');
				$fs = new filesystem();
				$fs2 = new filesystem();
			  $fs2->get_my_shares($GO_SECURITY->user_id);
				
			  while ($fs2->next_record())
			  {
			    $shares = array();
			    $share_count = $fs->get_shares($fs2->f('user_id'));
			    while ($fs->next_record())
			    {
			      if ($GO_SECURITY->has_permission($GO_SECURITY->user_id, $fs->f('acl_read')) || 
								$GO_SECURITY->has_permission($GO_SECURITY->user_id, $fs->f('acl_write')))
			      {
							$shares[] = $fs->f('path');
			      }
			    }
			    $share_count = count($shares) ;
			    if ($share_count > 0)
			    {
			      if ($user = $GO_USERS->get_user($fs2->f('user_id')))
			      {
							$search_fields->add_optgroup($user['username']);
							for ($i=0;$i<$share_count;$i++)
							{
							  $search_fields->add_value($shares[$i], basename($shares[$i]));
							}
			      }
			    }
			  }		
			break;
			
			default:
				//$search_fields->value = $ab_settings['search_contacts_field'];
				$search_fields->add_value('', $strSearchAll);
				$search_fields->add_value('ab_contacts.id', $ab_id);
				$search_fields->add_value('ab_contacts.first_name', $strFirstName);
				$search_fields->add_value('ab_contacts.last_name', $strLastName);
				$search_fields->add_value('ab_contacts.email', $strEmail);
				$search_fields->add_value('ab_contacts.department',$strDepartment);
				$search_fields->add_value('ab_contacts.function',$strFunction);
				$search_fields->add_value('ab_contacts.address',$strAddress);
				$search_fields->add_value('ab_contacts.city', $strCity);
				$search_fields->add_value('ab_contacts.zip',$strZip);
				$search_fields->add_value('ab_contacts.state',$strState);
				$search_fields->add_value('ab_contacts.country', $strCountry);
				$search_fields->add_value('ab_contacts.comment', $ab_comment);
			
				$search_field = $ab_settings['search_contacts_field'] ;
				if(isset($_REQUEST['search_field']))
				{
					if($search_fields->is_in_select($_REQUEST['search_field']))
					{
						$search_field = $_REQUEST['search_field'];
						$ab_settings['search_contacts_field'] = $_REQUEST['search_field'];
					}
				}
				$search_fields->value=$ab_settings['search_contacts_field'];
			break;
		}
		if(isset($_REQUEST['search_addressbook_id']))
		{
			$ab_settings['search_addressbook_id'] = $_REQUEST['search_addressbook_id'];
		}
		$form->add_html_element(new input('hidden', 'search_addressbook_id', $ab_settings['search_addressbook_id'], false));
		
		if($search_type != 'project' && $search_type!='file' && isset($ab))
		{
			$ab->update_settings($ab_settings);
		}

		if (($search_type == 'contact' || $search_type == 'company'))
		{
			if($ab_settings['search_addressbook_id'] == 0)
			{
				$link_text = $ab_all_your_addressbooks;
			}else
			{
				$addressbook = $ab->get_addressbook($ab_settings['search_addressbook_id']);
				$link_text = $addressbook['name'];
			}
			$link = new hyperlink("javascript:popup('".$GO_MODULES->modules['addressbook']['url']."select_addressbook.php?callback=select_search_addressbook&add_null=true', '300','400');",$link_text);
			$link->set_attribute('style','margin:3px;');
			$link->set_attribute('class','normal');
			$row->add_cell(new table_cell($ab_search_in.':'));
			$row->add_cell(new table_cell($link->get_html().' '.$ab_search_on.': '.$search_fields->get_html()));
		}elseif(isset($ab))
		{
			$search_addressbook_id = $ab_settings['search_addressbook_id'];
			
			
			$row->add_cell(new table_cell($ab_search_on_users.':'));
			$row->add_cell(new table_cell($search_fields->get_html()));
		}
		
		$table->add_row($row);
		$row = new table_row();
		
		$row->add_cell(new table_cell($strKeyword.':'));
		$query = (isset($_POST['query']) && $task != 'show_letter') ? smart_stripslashes($_POST['query']) : '';
		$input = new input('text', 'query', $query, false);
		$input->set_attribute('style', 'width:300px;');
		$cell = new table_cell($input->get_html());
		$cell->add_html_element(new button($cmdSearch, 'javascript:search();'));		
		$row->add_cell($cell);
		
		$table->add_row($row);
		
		$tabstrip->add_html_element($table);
		
		$form->add_html_element($tabstrip);

	if ($task == 'search' || $task == 'show_letter')
	{
		if ($task != 'show_letter')
		{
			$query = '%'.smart_addslashes($_POST['query']).'%';
		}else
		{
			switch ($ab_settings['search_type'])
			{
				case 'company':
					$search_field='ab_companies.name';
				break;
				
				case 'contact':
					$search_field='ab_contacts.'.$_SESSION['GO_SESSION']['sort_name'];
				break;
				
				case 'user':
					$search_field='users.'.$_SESSION['GO_SESSION']['sort_name'];
				break;
			}

			$query = smart_addslashes($_POST['clicked_letter']).'%';
		}

		if ($search_type == 'contact' || $search_type == 'user')
		{
			if ($search_type == 'user')
			{
				$ab = new $go_users_class();
				$count = $ab->search($query, $search_field, $GO_SECURITY->user_id, $datatable->start, $datatable->offset);
			}else
			{
				$count = $ab->search_contacts(
					$GO_SECURITY->user_id, 
					$query, 
					$search_field, 
					$ab_settings['search_addressbook_id'], 
					0, 
					$datatable->start, 
					$datatable->offset, 
					($require_email_address=='true'));
			}
			$datatable->set_pagination($count);

			while ($ab->next_record())
			{			
				$mail_name = format_name($ab->f('last_name'), $ab->f('first_name'), $ab->f('middle_name'), 'first_name');
				$full_email = $RFC822->write_address($mail_name, $ab->f('email'));				
				$name = format_name($ab->f('last_name'), $ab->f('first_name'), $ab->f('middle_name'));


				
				$value = $pass_value == 'email' ?  $full_email : $ab->f($pass_value);
				
				$row = new table_row($ab->f('id'), $value);		
				$row->set_attribute('ondblclick', "javascript:_select();");
				
				$cell = new table_cell($name);
				if ($search_type != 'user' && $ab->f('color') != '')
				{
					$cell->set_attribute('style','color: '.$ab->f('color'));
				}
				
				$row->add_cell($cell);
				
				$row->add_cell(new table_cell($ab->f('email')));
				$datatable->add_row($row);				
			}
			
			
			$result_str =  ($count == 1) ? $count.' '.$contacts_result : $count.' '.$contacts_results;
			$h2 = new html_element('h2', $result_str);
			$form->add_html_element($h2);

			if ($count > 0)
			{
				$datatable->add_column(new table_heading($strName));
				$datatable->add_column(new table_heading($strEmail));
				
				
			}
		}elseif($search_type=='company')
		{
			$count = $ab->search_companies(
				$GO_SECURITY->user_id, 
				$query, 
				$search_field, 
				$ab_settings['search_addressbook_id'], 
				$datatable->start, 
				$datatable->offset, 
				($require_email_address=='true'));

			while ($ab->next_record())
			{				
				$full_email = $RFC822->write_address($ab->f('name'), $ab->f('email'));	
				$value = $pass_value == 'email' ?  $full_email : $ab->f($pass_value);
				
				$row = new table_row($ab->f('id'),$value);
				$row->set_attribute('ondblclick', "javascript:_select();");
				$row->add_cell(new table_cell($ab->f('name')));
				$row->add_cell(new table_cell(empty_to_stripe($ab->f('email'))));
				$datatable->add_row($row);
			}			
			$result_str =  ($count == 1) ? $count.' '.$contacts_result : $count.' '.$contacts_results;
			$h2 = new html_element('h2', $result_str);
			$form->add_html_element($h2);
			if ($count > 0)
			{
				$datatable->set_pagination($count);
				$datatable->add_column(new table_heading($strName));
				$datatable->add_column(new table_heading($strEmail));
				

			}
		}elseif($search_type == 'project')
		{
			require_once($GO_MODULES->modules['projects']['class_path'].'projects.class.inc');
			$projects = new projects();
			
			$count = $projects->get_authorized_projects($GO_SECURITY->user_id, false, 
								$search_field, 'ASC', $datatable->start, $datatable->offset, '', $search_field,$query);
			
			$result_str =  ($count == 1) ? $count.' '.$contacts_result : $count.' '.$contacts_results;
			$h2 = new html_element('h2', $result_str);
			$form->add_html_element($h2);
			$datatable->set_pagination($count);
			if($count > 0)
			{				
				$datatable->add_column(new table_heading($strName));
				$datatable->add_column(new table_heading($strOwner));

				while($projects->next_record())
				{
					$row = new table_row($projects->f('id'));
					$row->set_attribute('ondblclick', "javascript:_select();");				
					
					$project_name = $projects->f('description') == '' ? $projects->f('name') : $projects->f('name').' ('.$projects->f('description').')';
					$row->add_cell(new table_cell($project_name));
					$row->add_cell(new table_cell(show_profile($projects->f('user_id'))));			
					
					$datatable->add_row($row);							
				}


			}
		}elseif($search_type == 'file')
		{
			if ($_POST['query'] == '') 
			{
				$_POST['query'] = '.';
			}
						
			$results = $fs->search($search_field, smart_stripslashes($_POST['query']));
			$count = count($results);
			
			$datatable->add_column(new table_heading($strName));
			$datatable->add_column(new table_heading($fbLocation));

			while($result = array_shift($results))
			{
				$row = new table_row($result['path']);
				
				$row->set_attribute('ondblclick', "javascript:_select();");			
					
				if (!is_dir($result['path']))
				{
					$extension = get_extension($result['name']);					
					$img = new image('', get_filetype_image($extension));
					
				}else
				{
					$img = new image('folder');
				}
				$img->set_attribute('align', 'absmiddle');
				$img->set_attribute('style', 'border:0px;width:16px;height:16px;margin-right:5px;');
				
				$row->add_cell(new table_cell($img->get_html().$result['name']));
				
				$location = dirname($result['path']);
				
				$row->add_cell(new table_cell(str_replace($GO_CONFIG->file_storage_path,$GO_CONFIG->slash,$location)));
				$datatable->add_row($row);
			}
			$cell = new table_cell($count.' '.$fbItems);
			$cell->set_attribute('colspan','99');
			$cell->set_attribute('class','small');
			
			$datatable->add_footer($cell);
		}		
	}
}

$form->add_html_element($datatable);				

$div = new html_element('div');
$div->set_attribute('style','text-align:center');

if($multiselect == 'true' && $count > 0)
{
	if($mode=='mailings')
	{
		$div->add_html_element(new button($cmdAdd,'javascript:_select_report();'));
	}else {
		$div->add_html_element(new button($cmdAdd,'javascript:_select();'));
	}
}
$div->add_html_element(new button($cmdCancel,'javascript:window.close();'));

$form->add_html_element($div);


echo $form->get_html();
?>
<script type="text/javascript" language="javascript">

function search()
{
	<?php echo $datatable->set_page_one(); ?>
	document.select_form.task.value = 'search';
	document.select_form.submit();
}

function expand_group(group_id)
{
	document.select_form.expand_id.value = group_id;
	document.select_form.task.value = "expand";
	document.select_form.submit();
}

function select_group(group_id, check)
{
	var add = false;

	for (var i = 0; i < document.select_form.elements.length; i++)
	{
		if (document.select_form.elements[i].name == 'group_start_'+group_id)
		{
			add = true;
		}

		if (document.select_form.elements[i].name == 'group_end_'+group_id)
		{
			add = false;
		}

		if(document.select_form.elements[i].type == 'checkbox' && document.select_form.elements[i].name != 'dummy' && add==true)
		{
			document.select_form.elements[i].checked = check;
			document.select_form.elements[i].onclick();
		}
	}
}

function change_mode(mode)
{
	document.select_form.mode.value=mode;
	document.select_form.submit();
}

function letter_click(letter)
{
	<?php echo $datatable->set_page_one(); 	?>
	document.select_form.task.value='show_letter';
	document.select_form.clicked_letter.value=letter;
	document.select_form.submit();
}

function _select()
{
	document.select_form.action = "<?php echo $GO_HANDLER; ?>";
	document.select_form.submit();
}

<?php if(isset($GO_MODULES->modules['reports']) && $GO_MODULES->modules['reports']['read_permission']){?>
function _select_report()
{
	document.select_form.action = "<?php echo $GO_MODULES->modules['reports']['url'].'select_report_for_email.php'; ?>";
	document.select_form.submit();
}
<?php } ?>
function select_search_addressbook(addressbook_id)
{
	document.forms[0].search_addressbook_id.value=addressbook_id;
	document.forms[0].submit();
}
</script>
<?php
require_once($GO_THEME->theme_path."footer.inc");




See more files for this project here

Group-Office groupware

Group-Office is a powerfull modular Internet/Intranet application framework. It features calendaring, project management, e-mail, tasks, addressbook, file management.

Project homepage: http://sourceforge.net/projects/group-office
Programming language(s): JavaScript,Pascal,PHP
License: other

  add.php
  global_select.php
  link.php
  select.php
  select_link.php