Code Search for Developers
 
 
  

index.php from Group-Office groupware at Krugle


Show index.php syntax highlighted

<?php
/*
Copyright Intermesh 2003
Author: Merijn Schering <mschering@intermesh.nl>
Version: 1.0 Release date: 08 July 2003

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




require_once("Group-Office.php");

$config_file = $GO_CONFIG->get_config_file();
if(empty($GO_CONFIG->db_user))
{
	header('Location: install/install.php');
	exit();
}
/*Uncomment with release!
if(is_writable($config_file))
{
	echo '<font color="red"><b>\''.$config_file.'\' is writable please chmod 755
    '.$config_file.' and change the ownership to any other user then the
    webserver user.</b></font>';
    
	exit();
}*/

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

require_once($GO_LANGUAGE->get_base_language_file('login'));

if ($task == "logout")
{
	$GO_SECURITY->logout();
	
	SetCookie("GO_UN","",time()-3600,"/","",0);
    SetCookie("GO_PW","",time()-3600,"/","",0);
    unset($_SESSION);
    unset($_COOKIE); 
	
	if(!empty($GO_CONFIG->logout_url))
	{
		header('Location: '.$GO_CONFIG->logout_url);
		exit();
	}
}

//when the user is logged in redirect him.
if ($GO_SECURITY->logged_in())
{
	
	
	
	$start_module = $GO_MODULES->get_module(
	$_SESSION['GO_SESSION']['start_module']);

	if (isset($_REQUEST['return_to']))
	{
		$link = $_REQUEST['return_to'];
		
		if($load_frames=='false')
		{
			header('Location: '.$link);
			exit();
		}
		
	}elseif ($start_module && ($GO_SECURITY->has_permission(
	$GO_SECURITY->user_id, $start_module['acl_read']) ||
	$GO_SECURITY->has_permission($GO_SECURITY->user_id,
	$start_module['acl_write'])))
	{
		$link = $start_module['url'];
	}else
	{
		$link = $GO_CONFIG->host.'configuration/';
	}
	require_once($GO_THEME->theme_path."frames.inc");
	exit();
}

//if form was posted user wants to login
//set cookies to remember login before headers are sent
if ( $_SERVER['REQUEST_METHOD'] == "POST" || (isset($_COOKIE['GO_UN'])
&& isset($_COOKIE['GO_PW'])) )
{
	if ($_SERVER['REQUEST_METHOD'] != "POST")
	{
		$remind = true;
		$password = smart_addslashes($_COOKIE['GO_PW']);
		$username = smart_addslashes($_COOKIE['GO_UN']);
	} else {
		$remind = isset($_POST['remind']) ? true : false;
		$username = smart_addslashes($_POST['username']);
		$password = smart_addslashes($_POST['password']);
	}

	//check if both fields were filled
	if (!$username)// || !$password)
	{
		$feedback = "<p class=\"Error\">".$login_missing_field."</p>";
	} else {

		//attempt login using security class inherited from index.php
		//$params = isset( $auth_sources[$auth_source]) ?  $auth_sources[$auth_source] : false;
		if ($GO_AUTH->login($username, $password, $_SESSION['auth_source']))
		{
			//login is correct final check if login registration was ok
			if ($GO_SECURITY->logged_in())
			{
				if ($remind)
				{
					SetCookie("GO_UN",$username,time()+3600*24*30,"/",'',0);
					SetCookie("GO_PW",$password,time()+3600*24*30,"/",'',0);
				}

				//update language
				if(isset($_POST['SET_LANGUAGE']) &&
				$_POST['SET_LANGUAGE'] != $_SESSION['GO_SESSION']['language']['id'])
				{
					$user['id'] = $GO_SECURITY->user_id;
					$user['language'] = smart_addslashes($_POST['SET_LANGUAGE']);
					$GO_USERS->update_profile($user);
				}

				if ($_SESSION['GO_SESSION']['first_name'] == '' ||
				$_SESSION['GO_SESSION']['last_name'] == '' ||
				$_SESSION['GO_SESSION']['email'] == '')
				{
					header("Location: ".$GO_CONFIG->host.
					"configuration/index.php");
					exit();
				}else
				{
					$start_module = $GO_MODULES->get_module($_SESSION['GO_SESSION']['start_module']);
					if(!$start_module ||
					(!$GO_SECURITY->has_permission($GO_SECURITY->user_id,$start_module['acl_read']) &&
					!$GO_SECURITY->has_permission($GO_SECURITY->user_id,$start_module['acl_write'])))
					{
						if($modules = $GO_MODULES->get_modules_with_locations())
						{
							while($module = array_shift($modules))
							{
								if($GO_SECURITY->has_permission($GO_SECURITY->user_id, $module['acl_read']) ||
								$GO_SECURITY->has_permission($GO_SECURITY->user_id, $module['acl_write']))
								{
									$start_module = $module;
									$GO_USERS->set_start_module($GO_SECURITY->user_id, $module['id']);
									break;
								}
							}
						}
					}

					if (isset($_REQUEST['return_to']))
					{
						$link = $_REQUEST['return_to'];
						if($load_frames=='false')
						{
							header('Location: '.$link);
							exit();
						}
						
					} elseif ($start_module)
					{
						$link = $start_module['url'];
					} else
					{
						$link = $GO_CONFIG->host.'configuration/index.php?account=look.inc';
					}
					//redefine theme
					$GO_THEME = new GO_THEME();
					require_once($GO_THEME->theme_path."frames.inc");
					exit();
				}
			}else
			{
				$feedback = "<p class=\"Error\">".$login_registration_fail."</p>";
			}
		}else
		{
			$feedback = "<p class=\"Error\">".$login_bad_login."</p>";
		}
	}
}
load_basic_controls();
if(file_exists($GO_CONFIG->root_path.'login_screens/'.$GO_CONFIG->login_screen))
{
	require_once($GO_CONFIG->root_path.'login_screens/'.$GO_CONFIG->login_screen.'/login.inc');
}else {
	require_once($GO_CONFIG->root_path.'login_screens/Default/login.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

  classes/
    base/
      controls/
        acl.class.inc
        activities_list.class.inc
        autocomplete.class.inc
        autocomplete_select.class.inc
        button.class.inc
        button_menu.class.inc
        checkbox.class.inc
        color_selector.class.inc
        csv.class.inc
        datagrid.class.inc
        datatable.class.inc
        date_picker.class.inc
        dbrecord.class.inc
        dropbox.class.inc
        dynamic_tabstrip.class.inc
        form.class.inc
        global_autocomplete.class.inc
        html_element.class.inc
        htmlarea.class.inc
        htmleditor.class.inc
        hyperlink.class.inc
        image.class.inc
        input.class.inc
        links_list.class.inc
        object_select.class.inc
        overlib.class.inc
        radio_list.class.inc
        radiogroup.class.inc
        select.class.inc
        select_link.class.inc
        select_users.class.inc
        statusbar.class.inc
        table.class.inc
        tabstrip.class.inc
        tabtable.class.inc
        testButton.php
        textarea.class.inc
        tooltip.class.inc
        treeview.class.inc
        user_autocomplete.class.inc
      base.auth.class.inc
      base.groups.class.inc
      base.security.class.inc
      base.users.class.inc
      config.class.inc
      controls.class.inc
      crypto.class.inc
      email.auth.class.inc
      language.class.inc
      ldap.auth.class.inc
      ldap.groups.class.inc
      ldap.security.class.inc
      ldap.users.class.inc
      links.class.inc
      modules.class.inc
      passwd.groups.class.inc
      passwd.security.class.inc
      passwd.users.class.inc
      search.class.inc
      sql.auth.class.inc
      sql.groups.class.inc
      sql.security.class.inc
      sql.users.class.inc
      theme.class.inc
      userlog.class.inc
    date/
      Date/
      tests/
      Date.php
      TODO
    dompdf/
      include/
      lib/
      www/
      ChangeLog
      HACKING
      INSTALL
      LICENSE.LGPL
      README
      TODO
      dompdf.php
      dompdf_config.inc.php
      load_font.php
    fpdf/
      font/
      faq.css
      faq.htm
      fpdf.class.inc
      xfpdf.class.inc
    mail/
      phpmailer/
      RFC822.class.inc
      imap.class.inc
      mimeDecode.class.inc
    xml/
      wbxml.class.inc
      xml.class.inc
      xpath.class.inc
    admin.class.inc
    dav.class.inc
    filesystem.class.inc
    highlighter.class.inc
    html2text.class.inc
    htmlparser.class.inc
    profiles.class.inc
    sajax.class.inc
    validate.class.inc
  configuration/
    index.php
    look.inc
    notations.inc
    privacy.inc
    profile.inc
    security.inc
    statistics.inc
  controls/
    FCKeditor/
    JUpload/
    htmlarea/
    jscalendar/
    overlib/
    overlibmws/
    phpthumb/
    select/
    acl.php
    backend_treeview.php
    color_selector.php
    fixpng.inc
    global_search_xml.php
    group.php
    reminder.php
    table_config.php
    user.php
    userlog.php
  database/
    ldap.class.inc
    mysql.class.inc
    oci8.class.inc
    odbc.class.inc
    oracle.class.inc
    pgsql.class.inc
    usql.class.inc
  error_docs/
    401.inc
    401.php
    403.inc
    403.php
    404.php
  ext/
    adapter/
    resources/
    ext-all-debug.js
    ext-all.js
  install/
    Intermesh.gif
    gotest.php
    install.css
    install.inc
    install.php
    install.sh
    macAddr
    macAddr.c
    test.inc
    update.sh
    update_single.sh
    upgrade.php
  javascript/
    actb.js
    autocomplete.php
    common.js
    datatable.js
    multifile.js
    pngfix.js
    select_users.js
  language/
    about/
    account/
    common/
    filetypes/
    login/
    preferences/
    sync/
    holidays.inc
    languages.inc
    make_language_pack
  lib/
    dav/
    icons/
    ldap/
    scripts/
    sql/
    favicon.ico
    intermesh.gif
    mime.types
    updates.inc
  login_screens/
    Default/
  modules/
    addressbook/
    bookmarks/
    calendar/
    chat/
    cms/
    comics/
    csvimport/
    email/
    example/
    filesystem/
    forum/
    gallery/
    groups/
    modules/
  phpUnit/
  themes/
  yui/
  CHANGELOG
  DEVELOPERS
  FAQ
  Group-Office.php
  LICENSE.GPL
  README
  README.ldap
  RELEASE
  TODO
  TRANSLATORS
  about.php
  adodb-time.inc.php
  auth_sources.dist
  checker.php
  fullscreen.php
  functions.inc
  functions_compat.inc
  groupoffice-cron.php
  groupofficeperson.schema
  index.php
  link.php
  links.js
  lost_password.php
  phpdoc.ini
  register.php
  search.php