1<?php
2	/**************************************************************************\
3	* phpGroupWare Application - phonelog                                      *
4	* http://www.phpgroupware.org                                              *
5	* Written by Mathieu van Loon <mathieu@playcollective.com>                 *
6	* --------------------------------------------                             *
7	*  This program is free software; you can redistribute it and/or modify it *
8	*  under the terms of the GNU General Public License as published by the   *
9	*  Free Software Foundation; either version 2 of the License, or (at your  *
10	*  option) any later version.                                              *
11	\**************************************************************************/
12
13	/* $Id: index.php 21081 2010-03-25 22:55:17Z Caeies $ */
14
15	$GLOBALS['phpgw_info']["flags"]["currentapp"] = "phonelog";
16	include("../header.inc.php");
17?>
18
19<?php
20// CHECK & INIT STUFF
21	$filter_callfor = (isset($GLOBALS['HTTP_POST_VARS']['filter_callfor'])?$GLOBALS['HTTP_POST_VARS']['filter_callfor']:$GLOBALS['phpgw']->accounts->name2id($GLOBALS['phpgw_info']['user']['userid']));
22	$filter_callstatus = (isset($GLOBALS['HTTP_POST_VARS']['filter_callstatus'])?intval($GLOBALS['HTTP_POST_VARS']['filter_callstatus']):1);
23	$orderby = (isset($GLOBALS['HTTP_POST_VARS']['orderby'])?$GLOBALS['HTTP_POST_VARS']['orderby']:'callstatus');
24
25	if(isset($GLOBALS['HTTP_POST_VARS']['orderway']) && $GLOBALS['HTTP_POST_VARS']['orderway']=='DESC')
26	{
27		$orderway='ASC';
28	}
29	else
30	{
31		$orderway='DESC';
32	}
33
34	// DEBUG
35	$GLOBALS['phpgw']->db->Debug = 0;
36
37	// Build the filters to be added to the WHERE clause of the SELECT query.
38	$query_filters = '';
39	if($filter_callfor!='-')
40	{
41		$query_filters .= ' AND account_id='.$filter_callfor;
42	}
43	if(intval($filter_callstatus)>0)
44	{
45		$query_filters .= ' AND pl_status='.$filter_callstatus;
46	}
47
48	// Build the ORDER BY clause for the SELECT query;
49	$query_order = '';
50	switch($orderby)
51	{
52		case 'callfor' :
53			$query_order = 'ORDER BY account_lid '.$orderway;
54			break;
55		case 'callfrom' :
56			$query_order = 'ORDER BY pl_callfrom_id '.$orderway;
57			break;
58		case 'callstatus' :
59			$query_order = 'ORDER BY pl_status '.$orderway;
60			break;
61		case '' :
62			break;
63	}
64
65	// Execute SELECT query on phonelog_entry table
66	$db1 = $GLOBALS['phpgw']->db;
67	$db2 = $GLOBALS['phpgw']->db;
68	$db1->query("SELECT pl_id, pl_callfrom_id, pl_callfrom_txt, CONCAT(account_firstname, ' ', account_lastname), pl_calldate, pl_status, pl_desc_short FROM phonelog_entry, phpgw_accounts where pl_callfor=account_id ".$query_filters.' '.$query_order,__LINE__,__FILE__);
69
70	$i=0;
71	while($db1->next_record())
72	{
73		list($calls[$i]['callid'], $tmp_callfrom_id, $tmp_callfrom_txt, $calls[$i]['callfor'], $tmp_calldate, $calls[$i]['callstatus'],$calls[$i]['callsubject'] ) = $db1->Record;
74		if($tmp_callfrom_id)
75		{
76			$db2->query('SELECT fn FROM phpgw_addressbook WHERE id='.$tmp_callfrom_id,__LINE__,__FILE__);
77			if($db2->next_record())
78			{
79				list($calls[$i]['callfrom']) = $db2->Record;
80			}
81			else
82			{
83				list($calls[$i]['callfrom']) = 'N/A';
84			}
85			$db2->free();
86		}
87		else
88		{
89			$calls[$i]['callfrom'] = $tmp_callfrom_txt;
90		}
91
92//		$calls[$i]['calldate'] = $GLOBALS['phpgw']->common->show_date($tmp_calldate);
93		$calls[$i]['calldate'] = $tmp_calldate;
94
95		$i++;
96	}
97	$db1->free();
98
99	// PREPARE SELECT LISTS
100	$filter_callfor_list[] = array('-', lang('All'));
101	$users = $GLOBALS['phpgw']->accounts->get_list('accounts');
102	for ($i=0;$i<sizeof($users);$i++)
103	{
104		if(empty($users[$i]['account_id']))
105		{
106			$GLOBALS['phpgw']->db->query('SELECT account_id FROM phpgw_accounts WHERE account_lid='.$users[$i]['account_lid'],__LINE__,__FILE__);
107			$GLOBALS['phpgw']->db->next_record();
108			list($users[$i]['account_id']) = $GLOBALS['phpgw']->db->Record;
109		}
110		$filter_callfor_list[] = array($users[$i]['account_id'],$users[$i]['account_lid']);
111	}
112
113	for($i=0;$i<sizeof($phonelog['entry_status']);$i++)
114	{
115		$filter_callstatus_list[] = array($i, $phonelog['entry_status'][$i]);
116	}
117?>
118<br>
119<br>
120<script>
121function doAdd() {
122  window.location="<?php echo $GLOBALS['phpgw']->link('/phonelog/editentry.php') ?>";
123}
124</script>
125<form name="selectform" method="post" action="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php'); ?>">
126<input type="hidden" name="orderby" value="">
127<center>
128<table border="0" align="center" bgcolor="486591" width="75%" cellpadding="0" cellspacing="0">
129  <tr bgcolor="e6e6e6">
130    <td>
131      <select name="filter_callfor">
132        <?php echo printSelectList($filter_callfor, $filter_callfor_list) ?>
133      </select>
134    </td>
135    <td>&nbsp;</td>
136    <td>&nbsp;</td>
137    <td>
138      <select name="filter_callstatus">
139        <?php echo printSelectList($filter_callstatus, $filter_callstatus_list) ?>
140      </select>
141    </td>
142    <td>&nbsp;</td>
143    <td><input type="submit" value="<?php echo lang('filter'); ?>"></td>
144  </tr>
145  <tr bgcolor="ffffff">
146    <td colspan="6">&nbsp;</td>
147  </tr>
148  <tr bgcolor="486591">
149    <td align="left">&nbsp;<a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php',"filter_callfor=$filter_callfor&filter_callstatus=$filter_callstatus&orderway=$orderway&orderby=callfrom") ?>"><font color="fefefe"><?php echo lang('call for') ?></font></a></td>
150    <td align="left"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php',"filter_callfor=$filter_callfor&filter_callstatus=$filter_callstatus&orderway=$orderway&orderby=callfrom") ?>"><font color="fefefe"><?php echo lang('call from') ?></font></a></td>
151    <td align="left"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php',"filter_callfor=$filter_callfor&filter_callstatus=$filter_callstatus&orderway=$orderway&orderby=callsubject") ?>"><font color="fefefe"><?php echo lang('subject') ?></font></a></td>
152    <td align="left"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php',"filter_callfor=$filter_callfor&filter_callstatus=$filter_callstatus&orderway=$orderway&orderby=callstatus") ?>"><font color="fefefe"><?php echo lang('status') ?></font></a></td>
153    <td align="left"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/index.php',"filter_callfor=$filter_callfor&filter_callstatus=$filter_callstatus&orderway=$orderway&orderby=calldate") ?>"><font color="fefefe"><?php echo lang('date called') ?></font></a></td>
154    <td>&nbsp;</td>
155  </tr>
156
157    <?php for($i=0;$i<sizeof($calls);$i++) { ?>
158      <tr bgcolor="e6e6e6">
159        <td align="left"><font color="000000">&nbsp;<?php echo $calls[$i]['callfor'] ?></font></td>
160        <td align="left"><font color="000000"><?php echo $calls[$i]['callfrom'] ?></font></td>
161        <td align="left"><font color="000000"><?php echo $calls[$i]['callsubject'] ?></font></td>
162        <td align="left"><font color="000000"><?php echo $phonelog['entry_status'][$calls[$i]['callstatus']] ?></font></td>
163        <td align="left"><font color="000000"><?php echo $calls[$i]['calldate'] ?></font></td>
164        <td align="left"><font color="000000"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/editentry.php','querytype=SELECT&callid='.$calls[$i]['callid']) ?>"><?php echo lang('edit') ?></a></font></td>
165      </tr>
166    <?php } ?>
167</table>
168<button type="button" onClick="doAdd();"><a href="<?php echo $GLOBALS['phpgw']->link('/phonelog/editentry.php'); ?>"><?php echo lang('add'); ?></a></button>
169</center>
170</form>
171<br>
172<br>
173<br>
174<?php $GLOBALS['phpgw']->common->phpgw_footer(); ?>
175