source: branches/2.2/workflow/inc/common_functions.inc.php @ 3167

Revision 3167, 2.8 KB checked in by viani, 14 years ago (diff)

Ticket #1135 - Merged r1990:3166 from /trunk/workflow into /branches/2.2/workflow

  • Property svn:executable set to *
Line 
1<?php
2/**************************************************************************\
3* eGroupWare                                                               *
4* http://www.egroupware.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
13/**
14 * Redefines the apache_request_headers function if it was not done before by a phpmodule
15 * This usually happens if php runs as cgi
16 * @return array HTTP info presents in $_SERVER array
17 * @package Workflow
18 * @access public
19 */
20if( !function_exists('apache_request_headers') ) {
21        ///
22        function apache_request_headers() {
23                $arh = array();
24                $rx_http = '/\AHTTP_/';
25                foreach($_SERVER as $key => $val) {
26                        if( preg_match($rx_http, $key) ) {
27                                $arh_key = preg_replace($rx_http, '', $key);
28                                $rx_matches = array();
29                                // do some nasty string manipulations to restore the original letter case
30                                // this should work in most cases
31                                $rx_matches = explode('_', $arh_key);
32                                if( count($rx_matches) > 0 and strlen($arh_key) > 2 ) {
33                                        foreach($rx_matches as $ak_key => $ak_val) $rx_matches[$ak_key] = ucfirst($ak_val);
34                                        $arh_key = implode('-', $rx_matches);
35                                }
36                                $arh[$arh_key] = $val;
37                        }
38                }
39                return( $arh );
40        }
41        ///
42}
43
44/**
45 * Generates warning message of deprecated methods executing PHP function trigger_error
46 * @author Anderson Tadayuki Saikawa
47 * @param string $new_class The name of the class that has the method that replaces the deprecated one
48 * @param string $new_method The name of the method that replaces the deprecated one
49 * @return boolean
50 * @license http://www.gnu.org/copyleft/gpl.html GPL
51 * @package Workflow
52 * @access public
53 */
54function wf_warn_deprecated_method($new_class = null, $new_method = null)
55{
56        $caller = next(debug_backtrace());
57        $old_class = !empty($caller['class']) ? " of <strong>" . $caller['class'] . "</strong> object" : "";
58        $deprecated_msg = sprintf("Deprecated method <strong>%s</strong>%s was called in <strong>%s</strong> on line <strong>%s</strong>. It MUST be replaced by its equivalent",
59                                                                $caller['function'], $old_class, $caller['file'], $caller['line']);
60        if(!empty($new_class) && !empty($new_method)){
61                $new_class = !empty($new_class) ? " of <strong>" . $new_class . "</strong> object" : "";
62                $deprecated_msg .= sprintf(' <strong>%s</strong>%s', $new_method, $new_class);
63        }
64        $error_msg = $deprecated_msg . ".\n<br>Error handler";
65        return trigger_error("[WORKFLOW WARNING]: " . $error_msg, E_USER_WARNING);
66}
67
68?>
Note: See TracBrowser for help on using the repository browser.