/var/www-protected/php-debug.com/www/faq.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
/**
 * This the FAQ page
 *
 * @version V2.0
 * @since 5 sept 2006
 * @author Vernet Loic
 * @copyright Phoenix
 * @package PHP_Debug_Website
 */
 
 
// CONFIG ======================================================================
 
 
// Applications variables & gen includes  ======================================
require_once '../config/ApplicationCfg.php';
require_once PD_WEB_INCLUDES_ROOT. 'common.inc.php';
 
// Page constants ==============================================================
define('PAGE_ID' ,    'faq'. PD_WEB_FILE_EXT);
define('PAGE_TR_ID' , 'faq');
define('_FILE_', basename(__FILE__));
define('DEFAULT_ACTION', 'FAQ');
 
 
// MODEL =======================================================================
 
 
// CONTROLLER ==================================================================
$Dbg->setAction(DEFAULT_ACTION);
 
//Include the class definition of highlighter
require_once 'Text/Highlighter.php';
require_once 'Text/Highlighter/Renderer/Html.php';
 
// Include the package to cache highlight results
require_once('Cache/Lite.php');
 
// Set a few options
$options = array(
    'cacheDir' => PD_WEB_TEMP,
    'lifeTime' => 3600
);
 
// Create a Cache_Lite object
$Cache_Lite = new Cache_Lite($options);
 
// Buil the array options for the HTML renderer to get the nice file numbering
$rendOptions = array( 
    'numbers' => $htmlOptions['HTML_TABLE_view_source_numbers'],
    'tabsize' => $htmlOptions['HTML_TABLE_view_source_tabsize'],
);
 
// Finish parser object creation 
$renderer = new Text_Highlighter_Renderer_Html($rendOptions);
$phpHighlighter = Text_Highlighter::factory("PHP");
$phpHighlighter->setRenderer($renderer);
 
 
// Faq1 code
if ($faq1 = $Cache_Lite->get('faq1')) {
    $Dbg->add('Getting $faq1 from cache');
} else {
    $faq1 = $phpHighlighter->highlight("
<?php
\$options = array(
    'DEBUG_restrict_access'      => false,
    'DEBUG_allow_url_access'     => true,
    'DEBUG_url_key'              => 'key',
    'DEBUG_url_pass'             => 'nounou',
    'DEBUG_enable_watch'         => false,
    'DEBUG_replace_errorhandler' => true,
    'DEBUG_lang'                 => 'FR',
    'HTML_TABLE_view_source_script_name' => 'PHP_Debug_ViewSource.php'        
);
 
\$Dbg = new Debug(\$options);
 
\$allowedip = array( 
    '127.0.0.1'
);
 
\$Dbg->restrictAcess(\$allowedip);  
?>");
    $Dbg->add('Saving $faq1 to the cache');
    $Cache_Lite->save($faq1);
}
 
 
// Faq2 code
if ($faq2 = $Cache_Lite->get('faq2')) {
    $Dbg->add('Getting $faq2 from cache');
} else {
    $faq2 = $phpHighlighter->highlight("
<?php
\$Dbg->add(\"PERF TEST : 10000 iterations\");
 
\$y = 0;
for (\$index = 0; \$index < 10000; \$index++) 
{
    \$y = \$y + \$index;
}
\$Dbg->stopTimer();
?>
");
    $Dbg->add('Saving $faq2 to the cache');
    $Cache_Lite->save($faq2);
}
 
  
// VIEW ========================================================================
 
$smarty->assign('faq1', $faq1);
$smarty->assign('faq2', $faq2);
 
// Assign debug infos
$smarty->assign('file', PD_WEB_PHP_DEBUG_ROOT. DIRECTORY_SEPARATOR. PAGE_ID);
$smarty->assign('bodyTpl', PAGE_TR_ID);
$smarty->assign('debugBuffer', $Dbg->getOutput());       
 
// Display template
$smarty->display('index.tpl');
 
?>