Added XLS export of members.
[memberdb.git] / include / misc.php
1 <?php
2
3 function action_404() {/*{{{*/
4     header('HTTP/1.0 404 Not Found');
5     ?>
6     <h2>Seite nicht gefunden!</h2>
7     <p>Was immer du auch suchst, es ist nicht hier.</p>
8     <?php
9 }/*}}}*/
10
11 function redirect($url) {/*{{{*/
12     header('HTTP/1.1 301 Moved Permanently');
13     header('Location: ' . $url);
14     die();
15 }/*}}}*/
16
17 function link_to($action = '', $params = array()) {/*{{{*/
18     if (!empty($action)) $params = array_merge(array('action' => $action), $params);
19         $base = str_replace('index.php', '', $_SERVER['SCRIPT_NAME']);
20     if (empty($params)) return $base;
21     $query_string = '';
22     foreach ($params as $key => $val) {
23         if ($query_string != '') $query_string .= '&';
24         $query_string .= urlencode($key) . '=' . urlencode($val);
25     }
26     return $base . '?' . $query_string;
27 }/*}}}*/
28
29 function log_messages($log_messages) {/*{{{*/
30     if (empty($log_messages)) return;
31 ?>
32     <ul class="log_messages">
33     <?php foreach ($log_messages as $log_message) : ?>
34         <li><?=html_escape($log_message)?></li>
35     <?php endforeach ?>
36     </ul>
37 <?php
38 }/*}}}*/
39
40 function format_date($unixtime) {
41     return strftime('%d.%m.%Y', $unixtime);
42 }
43
44 function format_month() {
45     switch (func_num_args()) {
46         case 1: $ts    = func_get_arg(0);
47                 $year  = date('Y', $ts);
48                 $month = date('n', $ts);
49             break;
50         case 2: $year  = func_get_arg(0);
51                 $month = func_get_arg(1);
52             break;
53         default: return NULL;
54     }
55     return sprintf('%02d/%04d', $month, $year);
56 }
57
58 function format_money($amount) {
59     return number_format($amount, 2, ',', '') . '€';
60 }
61
62 function ui_date2unixtime($date) {
63     return strtotime($date);
64 }
65 function ui_money2float($amount) {
66     return str_replace(',', '.', $amount);
67 }
68
69 function paginate($url, $current, $max) {
70 ?>
71 <?php if ($max > 1) : ?>
72 <div class="pagination">
73         <?php if ($current != 1) : ?>
74         <div class="prev"><a href="<?=html_escape(sprintf($url, $current - 1))?>">&laquo;</a></div>
75         <?php endif ?>
76         <?php if ($current != $max) : ?>
77         <div class="next"><a href="<?=html_escape(sprintf($url, $current + 1))?>">&raquo;</a></div>
78         <?php endif ?>
79
80         <?php $skipped = false; ?>
81
82         <?php for ($page = 1; $page <= $max; $page++) : ?>
83             <?php if ($page != 1 && $page != $max && ($page < $current - 3 || $page > $current + 3)) { $skipped = true; continue; } ?>
84             <?php if ($skipped) : ?> ... <?php endif ?>
85                 <?php if ($page == $current) : ?>
86             <?=html_escape($page)?>
87         <?php else : ?>
88             <a href="<?=html_escape(sprintf($url, $page))?>"><?=html_escape($page)?></a>
89         <?php endif ?>
90         <?php $skipped = false; ?>
91         <?php endfor ?>
92 </div>
93 <?php endif ?>
94 <?
95 }
96
97
98 function js_modal_windows() {/*{{{*/
99 ?>
100 <script type="text/javascript">
101
102 $(document).ready(function(){  
103     var window_width = $(window).width();  
104     var window_height = $(window).height();  
105     $('.modal_window').each(function(){  
106         var modal_height = $(this).outerHeight();  
107         var modal_width = $(this).outerWidth();  
108         var top = (window_height-modal_height)/2;  
109         var left = (window_width-modal_width)/2;  
110         $(this).css({'top' : top , 'left' : left});  
111     });  
112 });  
113
114 var modal_windows = new Array();
115 function modal_window_show(modal_window) {
116     var length = modal_windows.length;
117     if (length > 0) modal_windows[length - 1].fadeOut(500);
118     else $("#mask").fadeTo(500, 0.8);
119     modal_windows.push(modal_window);
120     modal_window.fadeIn(500);
121 }
122 function modal_window_hide() {
123     var length = modal_windows.length;
124     if (length <= 0) return;
125     modal_windows[length - 1].fadeOut(500);
126     if (length == 1) {
127         $("#mask").fadeOut(500);
128     }
129     else {
130         modal_windows[length - 2].fadeIn(500);
131     }
132     modal_windows.pop();
133 }
134 function modal_window_replace(modal_window) {
135     var length = modal_windows.length;
136     if (length > 0) {
137         modal_windows[length - 1].fadeOut(500);
138         modal_windows.pop();
139     }
140     modal_windows.push(modal_window);
141     modal_window.fadeIn(500);
142 }
143
144 </script>
145 <div id="mask"></div>  
146 <div id="please_wait" class="modal_window" style="text-align:center;">
147     <strong>Bitte warten...</strong><br/>
148     <img src="images/activity_indicator.gif"/>
149 </div>
150 <?php
151 }/*}}}*/
152
153