You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							152 lines
						
					
					
						
							4.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							152 lines
						
					
					
						
							4.8 KiB
						
					
					
				
								<?php
							 | 
						|
								/*
							 | 
						|
								   Copyright Intermesh 2004
							 | 
						|
								   Author: Merijn Schering <mschering@intermesh.nl>
							 | 
						|
								   Version: 1.0 Release date: 30 March 2004
							 | 
						|
								
							 | 
						|
								   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');
							 | 
						|
								$GO_SECURITY->authenticate();
							 | 
						|
								?>
							 | 
						|
								<html>
							 | 
						|
								<head>
							 | 
						|
								<script language="javascript" type="text/javascript">
							 | 
						|
								<!-- Centring window Javascipt mods By Muffin Research Labs//-->
							 | 
						|
								
							 | 
						|
								function popup(url,w,h,target)
							 | 
						|
								{
							 | 
						|
								  var centered;
							 | 
						|
								  x = (screen.availWidth - w) / 2;
							 | 
						|
								  y = (screen.availHeight - h) / 2;
							 | 
						|
								  centered =',width=' + w + ',height=' + h + ',left=' + x + ',top=' + y + ',scrollbars=yes,resizable=no,status=no';
							 | 
						|
								  popup = window.open(url, target, centered);
							 | 
						|
								  if (!popup.opener) popup.opener = self;
							 | 
						|
								  popup.focus();
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								<title><?php echo $GO_CONFIG->title; ?>
							 | 
						|
								</title>
							 | 
						|
								<?php
							 | 
						|
								echo '<meta http-equiv="refresh" content="'.$GO_CONFIG->refresh_rate.';url='.$_SERVER['PHP_SELF'].'?initiated=true">';
							 | 
						|
								$height = 0;
							 | 
						|
								//if user uses the calendar then check for events to remind
							 | 
						|
								$calendar_module = isset($GO_MODULES->modules['calendar']) ? $GO_MODULES->modules['calendar'] : false;
							 | 
						|
								if ($calendar_module && $GO_MODULES->modules['calendar']['read_permission'])
							 | 
						|
								{
							 | 
						|
								  require_once($calendar_module['class_path'].'calendar.class.inc');
							 | 
						|
								  $cal = new calendar();
							 | 
						|
								  if($remind_events = $cal->get_events_to_remind($GO_SECURITY->user_id))
							 | 
						|
								  {
							 | 
						|
								  	$height += 160;
							 | 
						|
								  }
							 | 
						|
								}else
							 | 
						|
								{
							 | 
						|
									$remind_events = false;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								$todos_module = isset($GO_MODULES->modules['todos']) ? $GO_MODULES->modules['todos'] : false;
							 | 
						|
								if ($todos_module && $GO_MODULES->modules['todos']['read_permission'])
							 | 
						|
								{			
							 | 
						|
								  require_once($todos_module['class_path'].'todos.class.inc');
							 | 
						|
								  $todos = new todos();
							 | 
						|
								  if($remind_todos = $todos->get_todos_to_remind($GO_SECURITY->user_id))
							 | 
						|
								  {
							 | 
						|
								  	$height += 160;
							 | 
						|
								  }
							 | 
						|
								}else
							 | 
						|
								{
							 | 
						|
									$remind_todos = false;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								$_SESSION['notified_new_mail'] = isset($_SESSION['notified_new_mail']) ? $_SESSION['notified_new_mail'] : 0;
							 | 
						|
								$_SESSION['new_mail'] = 0;
							 | 
						|
								$remind_email = false;
							 | 
						|
								if(($_SESSION['GO_SESSION']['start_module'] != 'summary' && $_SESSION['GO_SESSION']['start_module'] != 'email') 
							 | 
						|
									|| isset($_REQUEST['initiated']))
							 | 
						|
								{
							 | 
						|
									//check for email
							 | 
						|
									$email_module = $GO_MODULES->get_module('email');
							 | 
						|
									if ($email_module && ($GO_SECURITY->has_permission($GO_SECURITY->user_id, $email_module['acl_read']) ||
							 | 
						|
									      $GO_SECURITY->has_permission($GO_SECURITY->user_id, $email_module['acl_write'])))
							 | 
						|
									{			
							 | 
						|
									  require_once($email_module['class_path'].'email.class.inc');
							 | 
						|
									  require_once($GO_CONFIG->class_path.'mail/imap.class.inc');
							 | 
						|
									  $imap = new imap();
							 | 
						|
									  $email1 = new email();
							 | 
						|
									  $email2 = new email();
							 | 
						|
									
							 | 
						|
									  $email1->get_accounts($GO_SECURITY->user_id);
							 | 
						|
									
							 | 
						|
									  while($email1->next_record())
							 | 
						|
									  {
							 | 
						|
									    if ($email1->f('auto_check') == '1')
							 | 
						|
									    {
							 | 
						|
									      $account = $email1->Record;
							 | 
						|
									
							 | 
						|
									      if ($imap->open($account['host'], $account['type'],$account['port'],$account['username'],$account['password'], '', 0, $account['use_ssl'], $account['novalidate_cert']))
							 | 
						|
									      {
							 | 
						|
													if ($account['type'] == 'imap')
							 | 
						|
													{
							 | 
						|
														$_SESSION['unseen_in_mailbox'][$account['id']] = 0;
							 | 
						|
													  $status = $imap->status('INBOX');
							 | 
						|
													  if ($status->unseen > 0)
							 | 
						|
													  {
							 | 
						|
													  	$_SESSION['unseen_in_mailbox'][$account['id']] += $status->unseen;
							 | 
						|
													    $_SESSION['new_mail'] += $status->unseen;
							 | 
						|
													  }
							 | 
						|
												
							 | 
						|
													  $email2->get_folders($email1->f('id'));
							 | 
						|
													  while($email2->next_record())
							 | 
						|
													  {
							 | 
						|
													    if ($email2->f('name') != 'INBOX')
							 | 
						|
													    {
							 | 
						|
													      $status = $imap->status($email2->f('name'));
							 | 
						|
													      if ($status->unseen > 0)
							 | 
						|
													      {
							 | 
						|
													      	$_SESSION['unseen_in_mailbox'][$account['id']] += $status->unseen;
							 | 
						|
																	$_SESSION['new_mail'] += $status->unseen;
							 | 
						|
													      }
							 | 
						|
													    }
							 | 
						|
													  }
							 | 
						|
													}else
							 | 
						|
													{
							 | 
						|
													  $status = $imap->status('INBOX');
							 | 
						|
												  	$_SESSION['unseen_in_mailbox'][$account['id']] = $status->unseen;
							 | 
						|
												    $_SESSION['new_mail'] += $status->unseen;					
							 | 
						|
													}
							 | 
						|
									      }else
							 | 
						|
									      {
							 | 
						|
													$email2->disable_auto_check($account['id']);
							 | 
						|
													echo '<script language="javascript" type="text/javascript">alert("'.$account['host'].' '.$ml_host_unreachable.'");</script>';
							 | 
						|
									      }
							 | 
						|
									    }
							 | 
						|
									  }
							 | 
						|
									
							 | 
						|
									  if ($_SESSION['new_mail'] > 0 && $_SESSION['new_mail'] > $_SESSION['notified_new_mail'])
							 | 
						|
									  {
							 | 
						|
									    $remind_email = true;
							 | 
						|
									    $height += 120;
							 | 
						|
									  }
							 | 
						|
									  if($_SESSION['notified_new_mail'] >  $_SESSION['new_mail'])
							 | 
						|
									  {
							 | 
						|
									  	$_SESSION['notified_new_mail'] =  $_SESSION['new_mail'];
							 | 
						|
									  }
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								if ($remind_events || $remind_todos || $remind_email)
							 | 
						|
								{
							 | 
						|
								  echo '<script language="javascript" type="text/javascript">'.
							 | 
						|
										'popup("'.$GO_CONFIG->control_url.'reminder.php", "600", "'.$height.'", "reminder");'.
							 | 
						|
										'</script>';
							 | 
						|
								}
							 | 
						|
								?>
							 | 
						|
								<link rel="shortcut icon" href="<?php echo $GO_CONFIG->host; ?>lib/favicon.ico" />
							 | 
						|
								</head>
							 | 
						|
								<body></body>
							 | 
						|
								</html>
							 | 
						|
								
							 |