mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-07 16:44:20 +01:00
220 lines
7.5 KiB
PHP
Executable File
220 lines
7.5 KiB
PHP
Executable File
<?php
|
|
/**************************************************************************\
|
|
* phpGroupWare *
|
|
* http://www.phpgroupware.org *
|
|
* The file written by Joseph Engo <jengo@phpgroupware.org> *
|
|
* -------------------------------------------- *
|
|
* 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. *
|
|
\**************************************************************************/
|
|
|
|
/* $Id$ */
|
|
|
|
$phpgw_info = array();
|
|
if (!is_file('header.inc.php'))
|
|
{
|
|
echo '<center>It appears that phpGroupWare is not setup yet, please click <a href="setup/index.php">'
|
|
. 'here</a>.</center>';
|
|
exit;
|
|
}
|
|
|
|
$GLOBALS['sessionid'] = $GLOBALS['HTTP_GET_VARS']['sessionid'] ? $GLOBALS['HTTP_GET_VARS']['sessionid'] : $GLOBALS['HTTP_COOKIE_VARS']['sessionid'];
|
|
if (!isset($GLOBALS['sessionid']) || !$GLOBALS['sessionid'])
|
|
{
|
|
Header('Location: login.php');
|
|
exit;
|
|
}
|
|
|
|
if ($GLOBALS['phpgw_info']['server']['force_default_app'] && $GLOBALS['phpgw_info']['server']['force_default_app'] != 'user_choice')
|
|
{
|
|
$GLOBALS['phpgw_info']['user']['preferences']['common']['default_app'] = $GLOBALS['phpgw_info']['server']['force_default_app'];
|
|
}
|
|
|
|
if ($GLOBALS['HTTP_GET_VARS']['cd']=='yes' && $GLOBALS['phpgw_info']['user']['preferences']['common']['default_app']
|
|
&& $GLOBALS['phpgw_info']['user']['apps'][$GLOBALS['phpgw_info']['user']['preferences']['common']['default_app']])
|
|
{
|
|
//$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/' . $GLOBALS['phpgw_info']['user']['preferences']['common']['default_app'] . '/' . 'index.php'));
|
|
Header('Location: ' . $GLOBALS['phpgw']->link('/' . $GLOBALS['phpgw_info']['user']['preferences']['common']['default_app'] . '/' . 'index.php'));
|
|
}
|
|
else
|
|
{
|
|
$GLOBALS['phpgw_info']['flags'] = array
|
|
(
|
|
'noheader' => True,
|
|
'nonavbar' => True,
|
|
'currentapp' => 'home',
|
|
'enable_network_class' => True,
|
|
'enable_contacts_class' => True,
|
|
'enable_nextmatchs_class' => True
|
|
);
|
|
include('header.inc.php');
|
|
|
|
if ($GLOBALS['phpgw_forward'])
|
|
{
|
|
while (list($name,$value) = each($GLOBALS['HTTP_GET_VARS']))
|
|
{
|
|
if (ereg('phpgw_',$name))
|
|
{
|
|
$extra_vars .= '&' . $name . '=' . urlencode($value);
|
|
}
|
|
}
|
|
$GLOBALS['phpgw']->redirect_link($GLOBALS['phpgw_forward'],$extra_vars);
|
|
}
|
|
|
|
$GLOBALS['phpgw']->translation->add_app('mainscreen');
|
|
if (lang('mainscreen_message') != 'mainscreen_message'.lang_char())
|
|
{
|
|
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array(
|
|
'mainscreen_message' => stripslashes(lang('mainscreen_message'))
|
|
));
|
|
}
|
|
|
|
if ((isset($GLOBALS['phpgw_info']['user']['apps']['admin']) &&
|
|
$GLOBALS['phpgw_info']['user']['apps']['admin']) &&
|
|
(isset($GLOBALS['phpgw_info']['server']['checkfornewversion']) &&
|
|
$GLOBALS['phpgw_info']['server']['checkfornewversion']))
|
|
{
|
|
$GLOBALS['phpgw']->network->set_addcrlf(False);
|
|
$lines = $GLOBALS['phpgw']->network->gethttpsocketfile('http://www.phpgroupware.org/currentversion');
|
|
for ($i=0; $i<count($lines); $i++)
|
|
{
|
|
if(@ereg('currentversion',$lines[$i]))
|
|
{
|
|
$line_found = explode(':',chop($lines[$i]));
|
|
}
|
|
}
|
|
if($GLOBALS['phpgw']->common->cmp_version($GLOBALS['phpgw_info']['server']['versions']['phpgwapi'],$line_found[1]))
|
|
{
|
|
$message = '<p>There is a new version of phpGroupWare available. <a href="'
|
|
. 'http://www.phpgroupware.org">http://www.phpgroupware.org</a>';
|
|
$GLOBALS['phpgw_info']['flags']['msgbox_data'][$message]=True;
|
|
}
|
|
|
|
$_found = False;
|
|
$GLOBALS['phpgw']->db->query("select app_name,app_version from phpgw_applications",__LINE__,__FILE__);
|
|
while($GLOBALS['phpgw']->db->next_record())
|
|
{
|
|
$_db_version = $GLOBALS['phpgw']->db->f('app_version');
|
|
$_app_name = $GLOBALS['phpgw']->db->f('app_name');
|
|
$_versionfile = $GLOBALS['phpgw']->common->get_app_dir($_app_name) . '/setup/setup.inc.php';
|
|
if(file_exists($_versionfile))
|
|
{
|
|
include($_versionfile);
|
|
$_file_version = $setup_info[$_app_name]['version'];
|
|
unset($setup_info);
|
|
|
|
if($GLOBALS['phpgw']->common->cmp_version_long($_db_version,$_file_version))
|
|
{
|
|
$_found = True;
|
|
$_app_string .= '<br>' . $GLOBALS['phpgw_info']['apps'][$_app_name]['title'];
|
|
}
|
|
unset($_file_version);
|
|
}
|
|
unset($_db_version);
|
|
unset($_versionfile);
|
|
}
|
|
if($_found)
|
|
{
|
|
$message = '<br>' . lang('The following applications require upgrades') . ':' . "\n";
|
|
$message .= $_app_string . "\n";
|
|
$message .= '<br>' . lang('Please run setup to become current') . '.' . "\n";
|
|
|
|
$GLOBALS['phpgw_info']['flags']['msgbox_data'][$message]=False;
|
|
unset($message);
|
|
unset($_app_string);
|
|
}
|
|
}
|
|
|
|
if (isset($GLOBALS['phpgw_info']['user']['apps']['notifywindow']) &&
|
|
$GLOBALS['phpgw_info']['user']['apps']['notifywindow'])
|
|
{
|
|
/* need to figure out how to implement this properly
|
|
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
|
|
var NotifyWindow;
|
|
|
|
function opennotifywindow()
|
|
{
|
|
if (NotifyWindow)
|
|
{
|
|
if (NotifyWindow.closed)
|
|
{
|
|
NotifyWindow.stop;
|
|
NotifyWindow.close;
|
|
}
|
|
}
|
|
NotifyWindow = window.open("<?php echo $GLOBALS['phpgw']->link('/notify.php')?>", "NotifyWindow", "width=300,height=35,location=no,menubar=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes,status=yes");
|
|
if (NotifyWindow.opener == null)
|
|
{
|
|
NotifyWindow.opener = window;
|
|
}
|
|
}
|
|
</SCRIPT>
|
|
|
|
echo '<a href="javascript:opennotifywindow()">' . lang('Open notify window') . '</a>';
|
|
*/
|
|
}
|
|
|
|
/* This initializes the users portal_order preference if it does not exist. */
|
|
if(!is_array($GLOBALS['phpgw_info']['user']['preferences']['portal_order']) && $GLOBALS['phpgw_info']['apps'])
|
|
{
|
|
$GLOBALS['phpgw']->preferences->delete('portal_order');
|
|
@reset($GLOBALS['phpgw_info']['apps']);
|
|
$order = 0;
|
|
while (list(,$p) = each($GLOBALS['phpgw_info']['apps']))
|
|
{
|
|
if($GLOBALS['phpgw_info']['user']['apps'][$p['name']])
|
|
{
|
|
$GLOBALS['phpgw']->preferences->add('portal_order',$order++,$p['id']);
|
|
}
|
|
}
|
|
$GLOBALS['phpgw_info']['user']['preferences'] = $GLOBALS['phpgw']->preferences->save_repository();
|
|
}
|
|
|
|
if(is_array($GLOBALS['phpgw_info']['user']['preferences']['portal_order']))
|
|
{
|
|
$app_check = Array();
|
|
@ksort($GLOBALS['phpgw_info']['user']['preferences']['portal_order']);
|
|
while(list($order,$app) = each($GLOBALS['phpgw_info']['user']['preferences']['portal_order']))
|
|
{
|
|
if(!isset($app_check[intval($app)]) || !$app_check[intval($app)])
|
|
{
|
|
$app_check[intval($app)] = True;
|
|
$sorted_apps[] = $GLOBALS['phpgw']->applications->id2name(intval($app));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$sorted_apps = Array
|
|
(
|
|
'email',
|
|
'calendar',
|
|
'news',
|
|
'addressbook',
|
|
'squirrelmail'
|
|
);
|
|
}
|
|
@reset($sorted_apps);
|
|
|
|
$GLOBALS['phpgw']->portalbox = CreateObject('phpgwapi.listbox');
|
|
|
|
$GLOBALS['phpgw']->hooks->process('home',$sorted_apps);
|
|
|
|
if($GLOBALS['portal_order'])
|
|
{
|
|
$GLOBALS['phpgw']->preferences->delete('portal_order');
|
|
@reset($GLOBALS['portal_order']);
|
|
while(list($app_order,$app_id) = each($GLOBALS['portal_order']))
|
|
{
|
|
$GLOBALS['phpgw']->preferences->add('portal_order',$app_order,$app_id);
|
|
}
|
|
$GLOBALS['phpgw']->preferences->save_repository();
|
|
}
|
|
$GLOBALS['phpgw_info']['flags']['currentapp'] = 'home'; // has been changed by hook_home's
|
|
|
|
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',$GLOBALS['phpgw']->portalbox->output);
|
|
}
|
|
?>
|