| [ Index ] | PHP Cross Reference of Mambo 4.6.5 |
|
| [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * @package Mambo 4 */ 5 6 /** ensure this file is being included by a parent file */ 7 defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); 8 9 // -------------------------------------------------------------------------------- 10 // PhpConcept Library (PCL) Trace 1.0 11 // -------------------------------------------------------------------------------- 12 // License GNU/GPL - Vincent Blavet - Janvier 2001 13 // http://www.phpconcept.net & http://phpconcept.free.fr 14 // -------------------------------------------------------------------------------- 15 // Français : 16 // La description de l'usage de la librairie PCL Trace 1.0 n'est pas encore 17 // disponible. Celle-ci n'est pour le moment distribuée qu'avec l'application 18 // et la librairie PhpZip. 19 // Une version indépendante sera bientot disponible sur http://www.phpconcept.net 20 // 21 // English : 22 // The PCL Trace 1.0 library description is not available yet. This library is 23 // released only with PhpZip application and library. 24 // An independant release will be soon available on http://www.phpconcept.net 25 // 26 // -------------------------------------------------------------------------------- 27 // 28 // * Avertissement : 29 // 30 // Cette librairie a été créée de façon non professionnelle. 31 // Son usage est au risque et péril de celui qui l'utilise, en aucun cas l'auteur 32 // de ce code ne pourra être tenu pour responsable des éventuels dégats qu'il pourrait 33 // engendrer. 34 // Il est entendu cependant que l'auteur a réalisé ce code par plaisir et n'y a 35 // caché aucun virus, ni malveillance. 36 // Cette libairie est distribuée sous la license GNU/GPL (http://www.gnu.org) 37 // 38 // * Auteur : 39 // 40 // Ce code a été écrit par Vincent Blavet (vincent@blavet.net) sur son temps 41 // de loisir. 42 // 43 // -------------------------------------------------------------------------------- 44 45 // ----- Look for double include 46 if (!defined("PCLTRACE_LIB")) 47 { 48 define( "PCLTRACE_LIB", 1 ); 49 50 // ----- Version 51 $g_pcl_trace_version = "1.0"; 52 53 // ----- Internal variables 54 // These values must be change by PclTrace library functions 55 $g_pcl_trace_mode = "memory"; 56 $g_pcl_trace_filename = "trace.txt"; 57 $g_pcl_trace_name = array(); 58 $g_pcl_trace_index = 0; 59 $g_pcl_trace_level = 1; 60 //$g_pcl_trace_entries = array(); 61 62 63 // -------------------------------------------------------------------------------- 64 // Function : TrOn($p_level, $p_mode, $p_filename) 65 // Description : 66 // Parameters : 67 // $p_level : Trace level 68 // $p_mode : Mode of trace displaying : 69 // 'normal' : messages are displayed at function call 70 // 'memory' : messages are memorized in a table and can be display by 71 // TrDisplay() function. (default) 72 // 'log' : messages are writed in the file $p_filename 73 // -------------------------------------------------------------------------------- 74 function TrOn($p_level=1, $p_mode="memory", $p_filename="trace.txt") 75 { 76 global $g_pcl_trace_level; 77 global $g_pcl_trace_mode; 78 global $g_pcl_trace_filename; 79 global $g_pcl_trace_name; 80 global $g_pcl_trace_index; 81 global $g_pcl_trace_entries; 82 83 // ----- Enable trace mode 84 $g_pcl_trace_level = $p_level; 85 86 // ----- Memorize mode and filename 87 switch ($p_mode) { 88 case "normal" : 89 case "memory" : 90 case "log" : 91 $g_pcl_trace_mode = $p_mode; 92 break; 93 default : 94 $g_pcl_trace_mode = "logged"; 95 } 96 97 // ----- Memorize filename 98 $g_pcl_trace_filename = $p_filename; 99 } 100 // -------------------------------------------------------------------------------- 101 102 // -------------------------------------------------------------------------------- 103 // Function : IsTrOn() 104 // Description : 105 // Return value : 106 // The trace level (0 for disable). 107 // -------------------------------------------------------------------------------- 108 function IsTrOn() 109 { 110 global $g_pcl_trace_level; 111 112 return($g_pcl_trace_level); 113 } 114 // -------------------------------------------------------------------------------- 115 116 // -------------------------------------------------------------------------------- 117 // Function : TrOff() 118 // Description : 119 // Parameters : 120 // -------------------------------------------------------------------------------- 121 function TrOff() 122 { 123 global $g_pcl_trace_level; 124 global $g_pcl_trace_mode; 125 global $g_pcl_trace_filename; 126 global $g_pcl_trace_name; 127 global $g_pcl_trace_index; 128 129 // ----- Clean 130 $g_pcl_trace_mode = "memory"; 131 unset($g_pcl_trace_entries); 132 unset($g_pcl_trace_name); 133 unset($g_pcl_trace_index); 134 135 // ----- Switch off trace 136 $g_pcl_trace_level = 0; 137 } 138 // -------------------------------------------------------------------------------- 139 140 141 // -------------------------------------------------------------------------------- 142 // Function : TrFctStart() 143 // Description : 144 // Just a trace function for debbugging purpose before I use a better tool !!!! 145 // Start and stop of this function is by $g_pcl_trace_level global variable. 146 // Parameters : 147 // $p_level : Level of trace required. 148 // -------------------------------------------------------------------------------- 149 function TrFctStart($p_file, $p_line, $p_name, $p_param="", $p_message="") 150 { 151 global $g_pcl_trace_level; 152 global $g_pcl_trace_mode; 153 global $g_pcl_trace_filename; 154 global $g_pcl_trace_name; 155 global $g_pcl_trace_index; 156 global $g_pcl_trace_entries; 157 158 // ----- Look for disabled trace 159 if ($g_pcl_trace_level < 1) 160 return; 161 162 // ----- Add the function name in the list 163 if (!isset($g_pcl_trace_name)) 164 $g_pcl_trace_name = $p_name; 165 else 166 $g_pcl_trace_name .= ",".$p_name; 167 168 // ----- Update the function entry 169 $i = sizeof($g_pcl_trace_entries); 170 $g_pcl_trace_entries[$i]["name"] = $p_name; 171 $g_pcl_trace_entries[$i]["param"] = $p_param; 172 $g_pcl_trace_entries[$i]["message"] = ""; 173 $g_pcl_trace_entries[$i]["file"] = $p_file; 174 $g_pcl_trace_entries[$i]["line"] = $p_line; 175 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 176 $g_pcl_trace_entries[$i]["type"] = "1"; // means start of function 177 178 // ----- Update the message entry 179 if ($p_message != "") 180 { 181 $i = sizeof($g_pcl_trace_entries); 182 $g_pcl_trace_entries[$i]["name"] = ""; 183 $g_pcl_trace_entries[$i]["param"] = ""; 184 $g_pcl_trace_entries[$i]["message"] = $p_message; 185 $g_pcl_trace_entries[$i]["file"] = $p_file; 186 $g_pcl_trace_entries[$i]["line"] = $p_line; 187 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 188 $g_pcl_trace_entries[$i]["type"] = "3"; // means message 189 } 190 191 // ----- Action depending on mode 192 PclTraceAction($g_pcl_trace_entries[$i]); 193 194 // ----- Increment the index 195 $g_pcl_trace_index++; 196 } 197 // -------------------------------------------------------------------------------- 198 199 // -------------------------------------------------------------------------------- 200 // Function : TrFctEnd() 201 // Description : 202 // Just a trace function for debbugging purpose before I use a better tool !!!! 203 // Start and stop of this function is by $g_pcl_trace_level global variable. 204 // Parameters : 205 // $p_level : Level of trace required. 206 // -------------------------------------------------------------------------------- 207 function TrFctEnd($p_file, $p_line, $p_return=1, $p_message="") 208 { 209 global $g_pcl_trace_level; 210 global $g_pcl_trace_mode; 211 global $g_pcl_trace_filename; 212 global $g_pcl_trace_name; 213 global $g_pcl_trace_index; 214 global $g_pcl_trace_entries; 215 216 // ----- Look for disabled trace 217 if ($g_pcl_trace_level < 1) 218 return; 219 220 // ----- Extract the function name in the list 221 // ----- Remove the function name in the list 222 if (!($v_name = strrchr($g_pcl_trace_name, ","))) 223 { 224 $v_name = $g_pcl_trace_name; 225 $g_pcl_trace_name = ""; 226 } 227 else 228 { 229 $g_pcl_trace_name = substr($g_pcl_trace_name, 0, strlen($g_pcl_trace_name)-strlen($v_name)); 230 $v_name = substr($v_name, -strlen($v_name)+1); 231 } 232 233 // ----- Decrement the index 234 $g_pcl_trace_index--; 235 236 // ----- Update the message entry 237 if ($p_message != "") 238 { 239 $i = sizeof($g_pcl_trace_entries); 240 $g_pcl_trace_entries[$i]["name"] = ""; 241 $g_pcl_trace_entries[$i]["param"] = ""; 242 $g_pcl_trace_entries[$i]["message"] = $p_message; 243 $g_pcl_trace_entries[$i]["file"] = $p_file; 244 $g_pcl_trace_entries[$i]["line"] = $p_line; 245 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 246 $g_pcl_trace_entries[$i]["type"] = "3"; // means message 247 } 248 249 // ----- Update the function entry 250 $i = sizeof($g_pcl_trace_entries); 251 $g_pcl_trace_entries[$i]["name"] = $v_name; 252 $g_pcl_trace_entries[$i]["param"] = $p_return; 253 $g_pcl_trace_entries[$i]["message"] = ""; 254 $g_pcl_trace_entries[$i]["file"] = $p_file; 255 $g_pcl_trace_entries[$i]["line"] = $p_line; 256 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 257 $g_pcl_trace_entries[$i]["type"] = "2"; // means end of function 258 259 // ----- Action depending on mode 260 PclTraceAction($g_pcl_trace_entries[$i]); 261 } 262 // -------------------------------------------------------------------------------- 263 264 // -------------------------------------------------------------------------------- 265 // Function : TrFctMessage() 266 // Description : 267 // Parameters : 268 // -------------------------------------------------------------------------------- 269 function TrFctMessage($p_file, $p_line, $p_level, $p_message="") 270 { 271 global $g_pcl_trace_level; 272 global $g_pcl_trace_mode; 273 global $g_pcl_trace_filename; 274 global $g_pcl_trace_name; 275 global $g_pcl_trace_index; 276 global $g_pcl_trace_entries; 277 278 // ----- Look for disabled trace 279 if ($g_pcl_trace_level < $p_level) 280 return; 281 282 // ----- Update the entry 283 $i = sizeof($g_pcl_trace_entries); 284 $g_pcl_trace_entries[$i]["name"] = ""; 285 $g_pcl_trace_entries[$i]["param"] = ""; 286 $g_pcl_trace_entries[$i]["message"] = $p_message; 287 $g_pcl_trace_entries[$i]["file"] = $p_file; 288 $g_pcl_trace_entries[$i]["line"] = $p_line; 289 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 290 $g_pcl_trace_entries[$i]["type"] = "3"; // means message of function 291 292 // ----- Action depending on mode 293 PclTraceAction($g_pcl_trace_entries[$i]); 294 } 295 // -------------------------------------------------------------------------------- 296 297 // -------------------------------------------------------------------------------- 298 // Function : TrMessage() 299 // Description : 300 // Parameters : 301 // -------------------------------------------------------------------------------- 302 function TrMessage($p_file, $p_line, $p_level, $p_message="") 303 { 304 global $g_pcl_trace_level; 305 global $g_pcl_trace_mode; 306 global $g_pcl_trace_filename; 307 global $g_pcl_trace_name; 308 global $g_pcl_trace_index; 309 global $g_pcl_trace_entries; 310 311 // ----- Look for disabled trace 312 if ($g_pcl_trace_level < $p_level) 313 return; 314 315 // ----- Update the entry 316 $i = sizeof($g_pcl_trace_entries); 317 $g_pcl_trace_entries[$i]["name"] = ""; 318 $g_pcl_trace_entries[$i]["param"] = ""; 319 $g_pcl_trace_entries[$i]["message"] = $p_message; 320 $g_pcl_trace_entries[$i]["file"] = $p_file; 321 $g_pcl_trace_entries[$i]["line"] = $p_line; 322 $g_pcl_trace_entries[$i]["index"] = $g_pcl_trace_index; 323 $g_pcl_trace_entries[$i]["type"] = "4"; // means simple message 324 325 // ----- Action depending on mode 326 PclTraceAction($g_pcl_trace_entries[$i]); 327 } 328 // -------------------------------------------------------------------------------- 329 330 331 // -------------------------------------------------------------------------------- 332 // Function : TrDisplay() 333 // Description : 334 // Parameters : 335 // -------------------------------------------------------------------------------- 336 function TrDisplay() 337 { 338 global $g_pcl_trace_level; 339 global $g_pcl_trace_mode; 340 global $g_pcl_trace_filename; 341 global $g_pcl_trace_name; 342 global $g_pcl_trace_index; 343 global $g_pcl_trace_entries; 344 345 // ----- Look for disabled trace 346 if (($g_pcl_trace_level <= 0) || ($g_pcl_trace_mode != "memory")) 347 return; 348 349 $v_font = "\"Verdana, Arial, Helvetica, sans-serif\""; 350 351 // ----- Trace Header 352 echo "<table width=100% border=0 cellspacing=0 cellpadding=0>"; 353 echo "<tr bgcolor=#0000CC>"; 354 echo "<td bgcolor=#0000CC width=1>"; 355 echo "</td>"; 356 echo "<td><div align=center><font size=3 color=#FFFFFF face=$v_font>Trace</font></div></td>"; 357 echo "</tr>"; 358 echo "<tr>"; 359 echo "<td bgcolor=#0000CC width=1>"; 360 echo "</td>"; 361 echo "<td>"; 362 363 // ----- Content header 364 echo "<table width=100% border=0 cellspacing=0 cellpadding=0>"; 365 366 // ----- Display 367 $v_again=0; 368 for ($i=0; $i<sizeof($g_pcl_trace_entries); $i++) 369 { 370 // ---- Row header 371 echo "<tr>"; 372 echo "<td><table width=100% border=0 cellspacing=0 cellpadding=0><tr>"; 373 $n = ($g_pcl_trace_entries[$i]["index"]+1)*10; 374 echo "<td width=".$n."><table width=100% border=0 cellspacing=0 cellpadding=0><tr>"; 375 376 for ($j=0; $j<=$g_pcl_trace_entries[$i]["index"]; $j++) 377 { 378 if ($j==$g_pcl_trace_entries[$i]["index"]) 379 { 380 if (($g_pcl_trace_entries[$i]["type"] == 1) || ($g_pcl_trace_entries[$i]["type"] == 2)) 381 echo "<td width=10><div align=center><font size=2 face=$v_font>+</font></div></td>"; 382 } 383 else 384 echo "<td width=10><div align=center><font size=2 face=$v_font>|</font></div></td>"; 385 } 386 //echo "<td> </td>"; 387 echo "</tr></table></td>"; 388 389 echo "<td width=2></td>"; 390 switch ($g_pcl_trace_entries[$i]["type"]) { 391 case 1: 392 echo "<td><font size=2 face=$v_font>".$g_pcl_trace_entries[$i]["name"]."(".$g_pcl_trace_entries[$i]["param"].")</font></td>"; 393 break; 394 case 2: 395 echo "<td><font size=2 face=$v_font>".$g_pcl_trace_entries[$i]["name"]."()=".$g_pcl_trace_entries[$i]["param"]."</font></td>"; 396 break; 397 case 3: 398 case 4: 399 echo "<td><table width=100% border=0 cellspacing=0 cellpadding=0><td width=20></td><td>"; 400 echo "<font size=2 face=$v_font>".$g_pcl_trace_entries[$i]["message"]."</font>"; 401 echo "</td></table></td>"; 402 break; 403 default: 404 echo "<td><font size=2 face=$v_font>".$g_pcl_trace_entries[$i]["name"]."(".$g_pcl_trace_entries[$i]["param"].")</font></td>"; 405 } 406 echo "</tr></table></td>"; 407 echo "<td width=5></td>"; 408 echo "<td><font size=1 face=$v_font>".basename($g_pcl_trace_entries[$i]["file"])."</font></td>"; 409 echo "<td width=5></td>"; 410 echo "<td><font size=1 face=$v_font>".$g_pcl_trace_entries[$i]["line"]."</font></td>"; 411 echo "</tr>"; 412 } 413 414 // ----- Content footer 415 echo "</table>"; 416 417 // ----- Trace footer 418 echo "</td>"; 419 echo "<td bgcolor=#0000CC width=1>"; 420 echo "</td>"; 421 echo "</tr>"; 422 echo "<tr bgcolor=#0000CC>"; 423 echo "<td bgcolor=#0000CC width=1>"; 424 echo "</td>"; 425 echo "<td><div align=center><font color=#FFFFFF face=$v_font> </font></div></td>"; 426 echo "</tr>"; 427 echo "</table>"; 428 } 429 // -------------------------------------------------------------------------------- 430 431 // -------------------------------------------------------------------------------- 432 // Function : PclTraceAction() 433 // Description : 434 // Parameters : 435 // -------------------------------------------------------------------------------- 436 function PclTraceAction($p_entry) 437 { 438 global $g_pcl_trace_level; 439 global $g_pcl_trace_mode; 440 global $g_pcl_trace_filename; 441 global $g_pcl_trace_name; 442 global $g_pcl_trace_index; 443 global $g_pcl_trace_entries; 444 445 if ($g_pcl_trace_mode == "normal") 446 { 447 for ($i=0; $i<$p_entry["index"]; $i++) 448 echo "---"; 449 if ($p_entry["type"] == 1) 450 echo "<b>".$p_entry["name"]."</b>(".$p_entry["param"].") : ".$p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]<br />"; 451 else if ($p_entry["type"] == 2) 452 echo "<b>".$p_entry["name"]."</b>()=".$p_entry["param"]." : ".$p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]<br />"; 453 else 454 echo $p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]<br />"; 455 } 456 } 457 // -------------------------------------------------------------------------------- 458 459 // ----- End of double include look 460 } 461 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed May 23 00:05:01 2012 | Cross-referenced by PHPXref 0.7 |
| Mambo API: Mambo is Free software released under the GNU/General Public License, Version 2 |