* * This file modified by Greg Haygood * * -------------------------------------------- * * 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')) { Header('Location: setup/index.php'); exit; } $GLOBALS['sessionid'] = @$_GET['sessionid'] ? $_GET['sessionid'] : @$_COOKIE['sessionid']; if (!isset($GLOBALS['sessionid']) || !$GLOBALS['sessionid']) { Header('Location: login.php'); exit; } $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'); $GLOBALS['phpgw_info']['flags']['app_header']=lang('home'); // anonymous user should never get a home-page if ($GLOBALS['phpgw']->session->session_flags == 'A') { if ($_SERVER['HTTP_REFERER'] && strstr($_SERVER['HTTP_REFERER'],'home.php') === False) { $GLOBALS['phpgw']->redirect($_SERVER['HTTP_REFERER']); } else { header('HTTP/1.0 404 Not found'); } 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['phpgw_info']['user']['preferences']['common']['useframes'] && $GLOBALS['phpgw_info']['server']['useframes'] == 'allowed') || ($GLOBALS['phpgw_info']['server']['useframes'] == 'always')) { if ($_GET['cd'] == 'yes') { if (! $navbarframe && ! $framebody) { $tpl = new Template(PHPGW_TEMPLATE_DIR); $tpl->set_file(array( 'frames' => 'frames.tpl', 'frame_body' => 'frames_body.tpl', 'frame_navbar' => 'frames_navbar.tpl' )); $tpl->set_var('navbar_link',$GLOBALS['phpgw']->link('index.php','navbarframe=True&cd=yes')); if ($GLOBALS['forward']) { $tpl->set_var('body_link',$GLOBALS['phpgw']->link($GLOBALS['forward'])); } else { $tpl->set_var('body_link',$GLOBALS['phpgw']->link('index.php','framebody=True&cd=yes')); } if ($GLOBALS['phpgw_info']['user']['preferences']['common']['frame_navbar_location'] == 'bottom') { $tpl->set_var('frame_size','*,60'); $tpl->parse('frames_','frame_body',True); $tpl->parse('frames_','frame_navbar',True); } else { $tpl->set_var('frame_size','60,*'); $tpl->parse('frames_','frame_navbar',True); $tpl->parse('frames_','frame_body',True); } $tpl->pparse('out','frames'); } if ($navbarframe) { $GLOBALS['phpgw']->common->phpgw_header(); echo parse_navbar(); } } } elseif ($_GET['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')); } else { $GLOBALS['phpgw']->common->phpgw_header(); echo parse_navbar(); } $GLOBALS['phpgw']->translation->add_app('mainscreen'); if (lang('mainscreen_message') != 'mainscreen_message*') { echo '
' . 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.egroupware.org/currentversion'); for($i=0; $icommon->cmp_version_long($GLOBALS['phpgw_info']['server']['versions']['phpgwapi'],$line_found[1])) { echo '

There is a new version of eGroupWare available. http://www.egroupware.org

'; } $_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'); $_app_dir = $GLOBALS['phpgw']->common->get_app_dir($_app_name); $_versionfile = $_app_dir . '/setup/setup.inc.php'; if($_app_dir && file_exists($_versionfile)) { include($_versionfile); $_file_version = $setup_info[$_app_name]['version']; $_app_title = $GLOBALS['phpgw_info']['apps'][$_app_name]['title']; unset($setup_info); if($GLOBALS['phpgw']->common->cmp_version_long($_db_version,$_file_version)) { $_found = True; $_app_string .= '
' . $_app_title; } unset($_file_version); unset($_app_title); } unset($_db_version); unset($_versionfile); } if($_found) { echo '
' . lang('The following applications require upgrades') . ':' . "\n"; echo $_app_string . "\n"; echo '
' . lang('Please run setup to become current') . '.' . "\n"; unset($_app_string); } } if (isset($GLOBALS['phpgw_info']['user']['apps']['notifywindow']) && $GLOBALS['phpgw_info']['user']['apps']['notifywindow']) { ?> ' . lang('Open notify window') . ''; } /* 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[(int)$app]) || !$app_check[(int)$app]) { $app_check[(int)$app] = True; $sorted_apps[] = $GLOBALS['phpgw']->applications->id2name((int)$app); } } } else { $sorted_apps = Array( 'calendar', 'email', 'infolog', 'news_admin' ); } // Now add the rest of the user's apps, to make sure we pick up any additions to the home display @reset($GLOBALS['phpgw_info']['user']['apps']); while(list(,$p) = each($GLOBALS['phpgw_info']['user']['apps'])) { $sorted_apps[] = $p['name']; } //$GLOBALS['phpgw']->hooks->process('home',$sorted_apps); function migrate_pref($appname,$var_old,$var_new,$type='user') { if(empty($appname) || empty($var_old) || empty($var_new)) { return false; } $allowedtypes = array('user','default','forced'); if($type=='all') { $types = $allowedtypes; } elseif(in_array($type,$allowedtypes)) { $types[] = $type; } else { return false; } $result = false; foreach($types as $_type) { if(isset($GLOBALS['phpgw']->preferences->$_type[$appname][$var_old])) { $GLOBALS['phpgw']->preferences->$_type[$appname][$var_new] = $GLOBALS['phpgw']->preferences->$_type[$appname][$var_old]; $result = true; $GLOBALS['phpgw_info']['user']['preferences'] = $GLOBALS['phpgw']->preferences->save_repository(false,$_type); } } return $result; } $portal_oldvarnames = array('mainscreen_showevents', 'homeShowEvents','homeShowLatest','mainscreen_showmail','mainscreen_showbirthdays','mainscreen_show_new_updated'); $migrate_oldvarnames = false; if($migrate_oldvarnames) { $_apps = $GLOBALS['phpgw_info']['user']['apps']; @reset($_apps); foreach($_apps as $_appname) { @reset($portal_oldvarnames); foreach($portal_oldvarnames as $varname) { //echo "Want to migrate '$appname' from '$varname' to 'homepage_display'.
"; //migrate_pref($appname,$varname,'homepage_display','all'); } } } $neworder = array(); $done = array(); // Display elements, within appropriate table cells print ''; $tropen=0; $tdopen=0; $lastd = 0; $numcols = 2; $curcol = 1; @reset($sorted_apps); foreach($sorted_apps as $appname) { if((int)$done[$appname] == 1 || empty($appname)) { continue; } $varnames = $portal_oldvarnames; $varnames[] = 'homepage_display'; $thisd = 0; foreach($varnames as $varcheck) { //echo "$appname:$varcheck=".$GLOBALS['phpgw_info']['user']['preferences'][$appname][$varcheck]."
"; if($GLOBALS['phpgw_info']['user']['preferences'][$appname][$varcheck]=='True') { $thisd = 1; break; } else { $_thisd = (int)$GLOBALS['phpgw_info']['user']['preferences'][$appname][$varcheck]; if($_thisd>0) { //echo "Found $appname=$_thisd through $varcheck
"; $thisd = $_thisd; break; } } } //echo "$appname: $thisd
"; if($thisd>0) { if((($curcol++>$numcols) || ($thisd+$lastd==3)) && $tropen==1) { print ''; $tropen = 0; //$curcol = 1; } if(!$tropen) { print ''; $tropen=1; } $tdwidth = ($thisd==2)?'50':'100'; $colspan = ($thisd==2)?'1':'2'; print ''; if(($thisd!=2 || ($thisd==2&&$lastd==2)) && $tropen) { print ''; $tropen = 0; $lastd = 0; $curcol = 1; } else { $lastd = $thisd; } $neworder[] = $appname; } $done[$appname] = 1; } print '
'; $result = $GLOBALS['phpgw']->hooks->single('home',$appname); print '
'; // Update stored value of order //_debug_array($neworder); if(count($neworder)>0)//$GLOBALS['portal_order']) { $GLOBALS['phpgw']->preferences->delete('portal_order'); @reset($neworder); while(list($app_order,$app_name) = each($neworder)) { $app_id = $GLOBALS['phpgw']->applications->name2id($app_name); //echo "neworder: $app_order=$app_id:$app_name
"; $GLOBALS['phpgw']->preferences->add('portal_order',$app_order,$app_id); } $GLOBALS['phpgw_info']['user']['preferences'] = $GLOBALS['phpgw']->preferences->save_repository(); } //_debug_array($GLOBALS['phpgw_info']['user']['preferences']); //$phpgw->common->debug_phpgw_info(); //$phpgw->common->debug_list_core_functions(); $GLOBALS['phpgw']->common->phpgw_footer(); ?>