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> </td> 136 <td> </td> 137 <td> 138 <select name="filter_callstatus"> 139 <?php echo printSelectList($filter_callstatus, $filter_callstatus_list) ?> 140 </select> 141 </td> 142 <td> </td> 143 <td><input type="submit" value="<?php echo lang('filter'); ?>"></td> 144 </tr> 145 <tr bgcolor="ffffff"> 146 <td colspan="6"> </td> 147 </tr> 148 <tr bgcolor="486591"> 149 <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 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> </td> 155 </tr> 156 157 <?php for($i=0;$i<sizeof($calls);$i++) { ?> 158 <tr bgcolor="e6e6e6"> 159 <td align="left"><font color="000000"> <?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