source: trunk/calendar/inc/hourReport.php @ 5509

Revision 5509, 7.4 KB checked in by gustavo, 12 years ago (diff)

Ticket #2488 - Adicionar cabecalho de licenca em arquivos que nao o possuem

Line 
1<?php
2                /***************************************************************************
3                * Expresso Livre                                                           *
4                * http://www.expressolivre.org                                             *
5                * --------------------------------------------                             *
6                *  This program is free software; you can redistribute it and/or modify it *
7                *  under the terms of the GNU General Public License as published by the   *
8                *  Free Software Foundation; either version 2 of the License, or (at your  *
9                *  option) any later version.                                              *
10                \**************************************************************************/
11               
12$phpgw_flags = Array(
13        'currentapp'    =>      'calendar',
14        'noappheader'   =>      True,
15        'noappfooter'   =>      True,
16        'nofooter'      =>      True
17);
18$GLOBALS['phpgw_info']['flags'] = $phpgw_flags;
19
20include('../../header.inc.php');
21$_SESSION['calendar']['user'] = $GLOBALS['phpgw_info']['user'];
22$_SESSION['calendar']['server'] = $GLOBALS['phpgw_info']['server'];
23define('PHPGW_API_INC','../../phpgwapi/inc');
24include_once(PHPGW_API_INC.'/class.db.inc.php');
25$page_content = <<<PAGE
26<HTML><HEAD></HEAD><BODY>
27<SCRIPT type="text/javascript">
28var Total = 0;
29        function show_table(){
30                var MainDiv = document.getElementById('MainDiv');
31                var showTable = document.createElement('TABLE');
32                showTable.style.color = "#000066"
33                showTable.style.background = "#F7F7F7";
34                showTable.style.border = "1px solid #CCCCCC";
35                showTable.width = "75%";
36                showTable.align = "center";
37                var trLine = document.createElement('TR');
38                var tdVal = document.createElement('TD');
39                tdVal.innerHTML = "Titulo";
40                trLine.appendChild(tdVal);
41                tdVal = document.createElement('TD');
42                tdVal.innerHTML = "Descricao";
43                trLine.appendChild(tdVal);
44                tdVal = document.createElement('TD');
45                tdVal.innerHTML = "Data";
46                trLine.appendChild(tdVal);
47                tdVal = document.createElement('TD');
48                tdVal.innerHTML = "Horas";
49                trLine.appendChild(tdVal);
50                trLine.style.background = "#DDD";
51                showTable.appendChild(trLine);
52
53                var Eelement = MainDiv.firstChild;
54                while (Eelement){
55                        trLine = document.createElement('TR');
56                        tdVal = document.createElement('TD');
57                        var cal_id = Eelement.childNodes[4].innerHTML;
58                        tdVal.innerHTML = "<a href='../../index.php?menuaction=calendar.uicalendar.view&cal_id="+cal_id+"'>"+Eelement.childNodes[0].innerHTML+"</a>";
59                        trLine.appendChild(tdVal);
60                        tdVal = document.createElement('TD');
61                        tdVal.innerHTML = Eelement.childNodes[1].innerHTML;
62                        trLine.appendChild(tdVal);
63                        tdVal = document.createElement('TD');
64                        var today = new Date();
65                        today.setTime(parseInt(Eelement.childNodes[2].innerHTML)*1000);
66                        tdVal.innerHTML = (today.getDate()+"/"+(today.getMonth()+1)+"/"+(today.getYear()+1900));
67                        trLine.appendChild(tdVal);
68                        tdVal = document.createElement('TD');
69                        Total += (Eelement.childNodes[3].innerHTML-Eelement.childNodes[2].innerHTML)/3600;
70                        tdVal.innerHTML = ((Eelement.childNodes[3].innerHTML-Eelement.childNodes[2].innerHTML)/3600).toFixed(1);
71                        trLine.appendChild(tdVal);
72                        var tbody = document.createElement('tbody');
73                        tbody.appendChild(trLine);
74                        showTable.appendChild(tbody);
75                        Eelement = Eelement.nextSibling;
76
77                }
78                trLine = document.createElement('TR');
79                tdVal = document.createElement('TD');
80                tdDes =  document.createElement('TD');
81                tdDes.innerHTML = "Total";
82                tdDes.align = "left";
83                tdVal.innerHTML = Total.toFixed(1);
84                trLine.style.background = "#FFF";
85                trLine.appendChild(tdDes);
86                trLine.appendChild(document.createElement('TD'));
87                trLine.appendChild(document.createElement('TD'));
88                trLine.appendChild(tdVal);
89                var tbody = document.createElement('tbody');
90                tbody.appendChild(trLine);
91                showTable.appendChild(tbody);
92                MainDiv.parentNode.appendChild(showTable);
93        }
94</SCRIPT>
95PAGE;
96echo $page_content;
97$db = new db();
98$db->Halt_On_Error = 'no';
99$db->connect(
100        $_SESSION['calendar']['server']['db_name'],
101        $_SESSION['calendar']['server']['db_host'],
102        $_SESSION['calendar']['server']['db_port'],
103        $_SESSION['calendar']['server']['db_user'],
104        $_SESSION['calendar']['server']['db_pass'],
105        $_SESSION['calendar']['server']['db_type']
106);
107if (IsSet($_POST['CAT'])){
108        if (!preg_match("/[a-zA-Z0-9]+/i",$_POST['CAT'][0])){
109                echo "Invalid entry:".$_POST['CAT'][0];
110                return false;
111        }
112        if (strlen($_POST['DAT']) > 0 && !preg_match("/[0123][0-9].[01][0-9].[12][90][0-9][0-9]$/i",$_POST['DAT'])){
113                echo "Invalid entry:".$_POST['DAT'];
114                return false;
115        }
116
117        if (IsSet($_POST['DAT']))
118                $initDate = mktime(null,null,null,substr($_POST['DAT'],3,2),substr($_POST['DAT'],0,2),substr($_POST['DAT'],6,4));
119        if ($_POST['CAL'][0] != 'run')
120                $user_id = $_POST['CAL'][0];
121
122        foreach ($_POST['CAL'] as $cal_uid){
123                $found = false;
124                foreach($_SESSION['calendar']['cals'] as $grant)
125                        if ($cal_uid == $grant['value'])
126                                $found = true;
127                        if (!$found){
128                                echo "Permission denied, cal. id:".$cal_uid."<br>";
129                                return;
130                        }
131                }
132
133
134        foreach($_POST['CAT'] as $catid){
135                $query = "select cal_id,title,description,datetime,edatetime from phpgw_cal where ".(!$_POST['NORM']?"cal_type = 'H' and":" is_public = 1 and ")." owner = ".$user_id." and (category like '%,".$catid.",%' or category like '%,".$catid."' or category like '".$catid.",%' or category = '".$catid."')".(IsSet($initDate)?" and datetime > ".$initDate:"");
136                if(!$db->query($query)){
137                        print("<br>Query failed at host:<br>".$_SESSION['calendar']['server']['db_user']."@".$_SESSION['calendar']['server']['db_host'].":".$_SESSION['calendar']['server']['db_port']."<br>");
138                        return;
139                }
140                else{
141                        while($db->next_record()){
142                                $entry = $db->row();
143                                $repeated = false;
144                                if (!empty($result_))
145                                foreach($result_ as $value){
146                                        if ($value['cal_id'] == $entry['cal_id'])
147                                                $repeated = true;
148                                }
149                                if(!$repeated)
150                                        $result_[] = $entry;
151                        }
152                }
153}
154        echo "<div id='MainDiv' style='display: none;'>";
155        if (!empty($result_))
156        foreach($result_ as $ind => $entry){
157                echo "<div id=\"entry_".$ind."\"><div id=\"title_".$ind."\">".htmlspecialchars($entry['title'])."</div><div id=\"description_".$ind."\">".htmlspecialchars($entry['description'])."</div><div id=\"datetime_".$ind."\">".$entry['datetime']."</div><div id=\"edatetime_".$ind."\">".$entry['edatetime']."</div><div>".$entry['cal_id']."</div></div>";
158        }
159        echo "</div><script type=\"text/javascript\"> show_table();</script>";
160        return;
161}
162
163$self = $_SERVER['PHP_SELF'];
164print("<table><tbody><tr><td>");
165print("<form id=\"form1\" method=\"post\" action=\"$self\">");
166print("Categoria(s):<br></td><td>");
167print("<select name=\"CAT[]\" multiple>");
168print($_SESSION['calendar']['categories']);
169print("</select></td></tr><tr><td>");
170print("Incluir ocorr&ecirc;ncias do tipo normal:</td><td><input name=\"NORM\" type=\"checkbox\"></input><br></td></tr>");
171print("<tr><td>Usuario:</td><td><select name=\"CAL[]\" multiple>");
172foreach($_SESSION['calendar']['cals'] as $grant)
173        print(!strstr($grant['value'],'g_')?'<option value="'.$grant['value'].'">'.$grant['name'].'</option>':"");
174print("</td></tr><tr><td>Apartir da data: dd/mm/aaaa<br>(caso todas deixar em branco):</td><td><input name=\"DAT\" type=\"text\"></input></td></tr>");
175print("</td></tr></tbody></table><br><input value=\"Fazer consulta\" type=\"submit\"><br></form>");
176print("</BODY></HTML>");
177?>
Note: See TracBrowser for help on using the repository browser.