Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 25

Přidáno uživatelem Tomáš Dulík před téměř 17 roky(ů)

Romanova verze freenetisu

Zobrazit rozdíly:

freenetis/trunk/www/assets/images/_README.txt
The various assets directory are for assets and helpers for the various
QControls, including images, javascript files and popups.
Of course, these files can technically be anywhere in the docroot,
but the current directory location of /assets/* is meant to serve
as a centrally-available assets location for these QControl helpers.
If you want to move them (either individually or entirely),
be sure to update your configuration.inc.php to reflect the new
location(s) of the assets.
In short, feel free to add/modify as you wish.
And also, any additional QControl classes that you create or download which
may have their own assets should have their assets installed in one of these
subdirectories. And any additional other js, css, etc. assets for your
application could be placed here, as well.
Finally, note that within EACH asset type (e.g. css, images, js and php),
files in the _core subdirectory are intended to be part of Qcodo Core,
and rules concerning the upgrading/modification for these files follows
the same rules for Qcodo Core files everywhere else.
freenetis/trunk/www/assets/php/_core/calendar.php
<?php
function CastToInt($strNumber) {
settype($strNumber, "int");
return $strNumber;
}
if ((!array_key_exists("intTimestamp", $_GET)) || (!$_GET["intTimestamp"])) {
$intTimestamp = time();
} else
$intTimestamp = $_GET["intTimestamp"];
$intSelectedMonth = CastToInt(date("n", $intTimestamp));
$intSelectedDay = CastToInt(date("j", $intTimestamp));
$intSelectedYear = CastToInt(date("Y", $intTimestamp));
$intTimestamp = mktime(0,0,0, $intSelectedMonth, $intSelectedDay, $intSelectedYear);
$dttToday = mktime(0,0,0, date("n"), date("j"), date("Y"));
$intMonthStartsOn = CastToInt(date("w", mktime(0,0,0, $intSelectedMonth, 1, $intSelectedYear)));
$intMonthDays = CastToInt(date("t", $intTimestamp));
$intPreviousMonthDays = CastToInt(date("t", mktime(0,0,0, $intSelectedMonth - 1, 1, $intSelectedYear)));
$strQueryArgs = sprintf("&strFormId=%s&strId=%s", $_GET["strFormId"], $_GET["strId"]);
$strChangeCommand = sprintf('window.opener.document.forms["%s"].elements["%s"].value = "%s"; ',
$_GET["strFormId"],
$_GET["strId"],
date("M j Y", $intTimestamp));
$strChangeCommand .= sprintf('window.opener.document.forms["%s"].elements["%s_intTimestamp"].value = "%s"; ',
$_GET["strFormId"],
$_GET["strId"],
$intTimestamp);
$strChangeCommand .= sprintf('if (window.opener.document.forms["%s"].elements["%s"].onchange) window.opener.document.forms["%s"].elements["%s"].onchange();',
$_GET["strFormId"],
$_GET["strId"],
$_GET["strFormId"],
$_GET["strId"]);
?>
<html>
<head>
<title>Calendar</title>
<script type="text/javascript">
function selectDate(intTimestamp) {
document.location = "calendar.php?intTimestamp=" + intTimestamp + "<?php print($strQueryArgs); ?>";
}
function cancel() {
window.close();
}
function done() {
<?php print($strChangeCommand); ?>
window.close();
}
</script>
<style>
.main {
font-family: verdana, arial, helvetica, sans-serif;
font-size: 9px;
text-align: center;
color: #004d5d
}
A {
text-decoration: none;
}
.dropdown {
background-color: #e5e5e5;
font-family: arial, helvetica, sans-serif;
font-size: 8pt;
}
.button {
font-family: verdana, arial, helvetica, sans-serif;
font-size: 7.5pt;
font-weight: bold;
color: #ffffff;
background-color: #004d5d;
text-align: center;
vertical-align: middle;
height: 18px;
border: thin solid #223344;
}
.offMonth {
color: #999999;
background-color: #f0f0f0;
}
.onMonth {
color: #005599;
background-color: #e0f0f0;
}
.onMonthWeekend {
color: #80aabb;
background-color: #ffffff;
}
.selected {
color: #ffffff;
background-color: #ee0000;
}
.today {
color: #ffffff;
background-color: #80aabb;
}
</style>
</head>
<body><form method="get" name="myForm"><center>
<select name="dttMonth" class="dropdown" onchange="selectDate(document.myForm.dttMonth.options[document.myForm.dttMonth.selectedIndex].value)">
<?php
for ($intMonth = 1; $intMonth <= 12; $intMonth++) {
$intTimestampLabel = mktime(0,0,0, $intMonth, 1, $intSelectedYear);
$strLabel = date("F", $intTimestampLabel);
$strSelected = ($intMonth == $intSelectedMonth) ? "selected" : "";
printf('<option value="%s" %s>%s</option>', $intTimestampLabel, $strSelected, $strLabel);
}
?>
</select> &nbsp;
<select name="dttYear" class="dropdown" onchange="selectDate(document.myForm.dttYear.options[document.myForm.dttYear.selectedIndex].value)">
<?php
for ($intYear = 1970; $intYear <= 2010; $intYear++) {
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth, 1, $intYear);
$strLabel = date("Y", $intTimestampLabel);
$strSelected = ($intYear == $intSelectedYear) ? 'selected="selected"' : '';
printf('<option value="%s" %s>%s</option>', $intTimestampLabel, $strSelected, $strLabel);
}
?>
</select>
<table cellspacing="2" cellpadding="2" border="0" class="main">
<tr>
<td>Su</td>
<td>Mo</td>
<td>Tu</td>
<td>We</td>
<td>Th</td>
<td>Fr</td>
<td>Sa</td>
</tr>
<?php
$intDaysBack = ($intMonthStartsOn == 0) ? 7 : $intMonthStartsOn;
$intIndex = 1 - $intDaysBack;
$intRowCount = 0;
while ($intRowCount < 6) {
print('<tr>');
for ($intDayOfWeek = 0; $intDayOfWeek <= 6; $intDayOfWeek++) {
if ($intIndex < 1) {
$intLabel = $intPreviousMonthDays + $intIndex;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth - 1, $intLabel, $intSelectedYear);
$strCssclass = "offMonth";
} else if ($intIndex > $intMonthDays) {
$intLabel = $intIndex - $intMonthDays;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth + 1, $intLabel, $intSelectedYear);
$strCssclass = "offMonth";
} else {
$intLabel = $intIndex;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth, $intLabel, $intSelectedYear);
$strCssclass = "onMonth";
if ((date("w", $intTimestampLabel) == 0) || (date("w", $intTimestampLabel) == 6))
$strCssclass = "onMonthWeekend";
else
$strCssclass = "onMonth";
}
if ($intTimestampLabel == $intTimestamp)
$strCssclass = "selected";
else if ($intTimestampLabel == $dttToday)
$strCssclass = "today";
printf('<td class="%s"><a class="%s" href="#" onclick="selectDate(%s)">%s</a></td>', $strCssclass, $strCssclass, $intTimestampLabel, $intLabel);
$intIndex++;
}
print('</tr>');
$intRowCount++;
}
?>
<tr>
<td colspan="7">Selected Day: <?php print(date("n/j/Y", $intTimestamp)); ?><br />&nbsp;</td>
</tr>
</table>
<input type="button" class="button" name="Done" value="DONE" onclick="done()" /> &nbsp;
<input type="button" class="button" name="Cancel" value="CANCEL" onclick="cancel()" />
</center></form></body></html>
<?php
//printf("Month Starts On: %s<br>Month Days: %s<br>Prev Month Days: %s", $intMonthStartsOn, $intMonthDays, $intPreviousMonthDays);
?>
freenetis/trunk/www/assets/php/_core/image_base.php
<?php
require('../../../includes/prepend.inc.php');
$strClassName = QApplication::PathInfo(0);
call_user_func(array($strClassName, 'Run'));
?>
freenetis/trunk/www/assets/php/_core/error_already_rendered_page.php
<?php print(str_replace("&lt/script&gt", "</script>", $_POST["strHtml"])); ?>
freenetis/trunk/www/assets/php/_core/QFileAsset.tpl.php
<?php
if ($_CONTROL->File) {
if ($strUrl = $_CONTROL->GetWebUrl()) print('<a href="' . $strUrl . '" target="_blank">');
$_CONTROL->imgFileIcon->Render();
if ($strUrl) print ('</a>');
print('<br/>');
if ($_CONTROL->Enabled)
$_CONTROL->btnDelete->Render();
} else {
if ($strUrl = $_CONTROL->GetWebUrl()) print('<a href="' . $strUrl . '" target="_blank">');
$_CONTROL->imgFileIcon->Render();
if ($strUrl) print ('</a>');
print('<br/>');
if ($_CONTROL->Enabled)
$_CONTROL->btnUpload->Render();
}
?>
<?php if ($_CONTROL->Enabled) $_CONTROL->dlgFileAsset->Render(); ?>
freenetis/trunk/www/assets/php/_core/QFileAssetDialog.tpl.php
<?php $_CONTROL->lblMessage->Render(); ?>
<p><?php $_CONTROL->flcFileAsset->Render(); ?></p>
<?php $_CONTROL->lblError->Render(); ?>
<p>
<?php $_CONTROL->btnUpload->Render(); ?>
<?php $_CONTROL->btnCancel->Render(); ?>
<img src="<?php _p(__IMAGE_ASSETS__) ?>/spacer.png" width="150" height="1" alt=""/><?php $_CONTROL->objSpinner->Render(); ?>
</p>
freenetis/trunk/www/assets/php/_core/profile.php
<?php
require('../../../includes/prepend.inc.php');
$intDatabaseIndex = $_POST['intDatabaseIndex'];
$strProfileData = $_POST['strProfileData'];
$strReferrer = $_POST['strReferrer'];
$objProfileArray = unserialize(base64_decode($strProfileData));
$objProfileArray = QType::Cast($objProfileArray, QType::ArrayType);
if ((count($objProfileArray) % 2) != 0)
throw new Exception('Database Profiling data appears to have been corrupted.');
?>
<html>
<head>
<title>Qcodo Development Framework - Database Profiling Tool</title>
<style>
body { font-family: 'Arial' 'Helvetica' 'sans-serif'; font-size: 14px; }
a:link, a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
pre { font-family: 'Lucida Console' 'Courier New' 'Courier' 'monospaced'; font-size: 11px; line-height: 13px; }
.page { padding: 10px; }
.headingLeft {
background-color: #446644;
color: #ffffff;
padding: 10px 0px 10px 10px;
font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif';
font-size: 18px;
font-weight: bold;
width: 70%;
vertical-align: middle;
}
.headingLeftSmall { font-size: 10px; }
.headingRight {
background-color: #446644;
color: #ffffff;
padding: 0px 10px 10px 10px;
font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif';
font-size: 10px;
width: 30%;
vertical-align: middle;
text-align: right;
}
.title { font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 19px; font-style: italic; color: #330055; }
.code { background-color: #f4eeff; padding: 1px 10px 1px 10px; }
.function { font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 12px; font-weight: bold; }
.function_details { font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 10px; color: #777777; }
</style>
<script type="text/javascript">
function Toggle(spanId) {
var obj = document.getElementById(spanId);
if (obj) {
if (obj.style.display == "block") {
// Make INVISIBLE
obj.style.display = "none";
} else {
// Make VISIBLE
obj.style.display = "block";
}
}
}
function ShowAll() {
for (var intIndex = 1; intIndex < <?php _p(count($objProfileArray)); ?>; intIndex = intIndex + 2) {
var obj = document.getElementById('query' + intIndex);
obj.style.display = "block";
}
}
function HideAll() {
for (var intIndex = 1; intIndex < <?php _p(count($objProfileArray)); ?>; intIndex = intIndex + 2) {
var obj = document.getElementById('query' + intIndex);
obj.style.display = "none";
}
}
</script>
</head>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<table border="0" cellspacing="0" width="100%">
<tr>
<td nowrap="nowrap" class="headingLeft"><span class="headingLeftSmall">Qcodo Development Framework <?= QCODO_VERSION ?><br /></span>Database Profiling Tool</div></td>
<td nowrap="nowrap" class="headingRight">
<b>Database Index:</b> <?php _p($intDatabaseIndex); ?>;&nbsp;&nbsp;<b>Database Type:</b> <?php _p(QApplication::$Database[$intDatabaseIndex]->Adapter); ?><br />
<b>Database Server:</b> <?php _p(QApplication::$Database[$intDatabaseIndex]->Server); ?>;&nbsp;&nbsp;<b>Database Name:</b> <?php _p(QApplication::$Database[$intDatabaseIndex]->Database); ?><br />
<b>Profile Generated From:</b> <?php _p($strReferrer); ?>
</td>
</tr>
</table><br />
<div class="page">
<?php
$intCount = count($objProfileArray) / 2;
if ($intCount == 0)
_p('<b>There were no queries that were performed.</b>', false);
else if ($intCount == 1)
_p('<b>There was 1 query that was performed.</b>', false);
else
printf('<b>There were %s queries that were performed.</b>', $intCount);
?>
<br />
<a href="javascript: ShowAll()" class="function_details">Show All</a>
&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="javascript: HideAll()" class="function_details">Hide All</a>
<br /><br /><br />
<?php
for ($intIndex = 0; $intIndex < count($objProfileArray); $intIndex++) {
if ((count($objProfileArray[$intIndex]) > 3) &&
(array_key_exists('function', $objProfileArray[$intIndex][2])) &&
(($objProfileArray[$intIndex][2]['function'] == 'QueryArray') ||
($objProfileArray[$intIndex][2]['function'] == 'QuerySingle') ||
($objProfileArray[$intIndex][2]['function'] == 'QueryCount')))
$objDebugBacktrace = $objProfileArray[$intIndex][3];
else
$objDebugBacktrace = $objProfileArray[$intIndex][2];
$intIndex++;
$strQuery = $objProfileArray[$intIndex];
$objArgs = (array_key_exists('args', $objDebugBacktrace)) ? $objDebugBacktrace['args'] : array();
$strClass = (array_key_exists('class', $objDebugBacktrace)) ? $objDebugBacktrace['class'] : null;
$strType = (array_key_exists('type', $objDebugBacktrace)) ? $objDebugBacktrace['type'] : null;
$strFunction = (array_key_exists('function', $objDebugBacktrace)) ? $objDebugBacktrace['function'] : null;
$strFile = (array_key_exists('file', $objDebugBacktrace)) ? $objDebugBacktrace['file'] : null;
$strLine = (array_key_exists('line', $objDebugBacktrace)) ? $objDebugBacktrace['line'] : null;
?>
<span class="function">
Called by <?php _p($strClass . $strType . $strFunction . '(' . implode(', ', $objArgs) . ')'); ?>
</span>
&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="javascript: Toggle('query<?php _p($intIndex); ?>')" class="function_details">Show/Hide</a>
<br />
<span class="function_details"><b>File: </b><?php _p($strFile); ?>; &nbsp;&nbsp;<b>Line: </b><?php _p($strLine); ?>
</span><br />
<div class="code" id="query<?php _p($intIndex); ?>" style="display: none"><pre><?php _p($strQuery); ?></pre></div>
<br /><br />
<?php
}
?>
</div>
</body>
</html>
freenetis/trunk/www/assets/php/_core/image_label.php
<?php
require('../../../includes/prepend.inc.php');
QImageLabel::Run();
?>
freenetis/trunk/www/assets/php/_core/image.php
<?php
require('../../../includes/prepend.inc.php');
QImageControl::Run();
?>
freenetis/trunk/www/assets/php/_core/error_page.php
<?php
/*
* error_page include file
*
* expects the following variables to be set:
* $__exc_strType
* $__exc_strMessage
* $__exc_strObjectType
* $__exc_strFilename
* $__exc_intLineNumber
* $__exc_strStackTrace
*
* optional:
* $__exc_strRenderedPage
* $__exc_objErrorAttributeArray
*/
$__exc_strMessageBody = htmlentities($__exc_strMessage);
$__exc_strMessageBody = str_replace(" ", "&nbsp;", str_replace("\n", "<br/>\n", $__exc_strMessageBody));
$__exc_strMessageBody = str_replace(":&nbsp;", ": ", $__exc_strMessageBody);
$__exc_objFileArray = file($__exc_strFilename);
?>
<html>
<head>
<title>PHP <?php _p($__exc_strType); ?> - <?php _p($__exc_strMessage); ?></title>
<style>
body { font-family: 'Arial' 'Helvetica' 'sans-serif'; font-size: 11px; }
a:link, a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
pre { font-family: 'Lucida Console' 'Courier New' 'Courier' 'monospaced'; font-size: 11px; line-height: 13px; }
.page { padding: 10px; }
.headingLeft { background-color: #440066; color: #ffffff; padding: 10px 0px 10px 10px; font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 18px; font-weight: bold; width: 70%; vertical-align: middle; }
.headingLeftSmall { font-size: 10px; }
.headingRight { background-color: #440066; color: #ffffff; padding: 0px 10px 10px 10px; font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 10px; width: 30%; vertical-align: middle; text-align: right; }
.title { font-family: 'Verdana' 'Arial' 'Helvetica' 'sans-serif'; font-size: 19px; font-style: italic; color: #330055; }
.code { background-color: #f4eeff; padding: 1px 10px 1px 10px; }
</style>
<script type="text/javascript">
function RenderPage(strHtml) { document.rendered.strHtml.value = strHtml; document.rendered.submit(); }
function ToggleHidden(strDiv) { var obj = document.getElementById(strDiv); var stlSection = obj.style; var isCollapsed = obj.style.display.length; if (isCollapsed) stlSection.display = ''; else stlSection.display = 'none'; }
</script>
</head>
<body bgcolor="white" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<table border="0" cellspacing="0" width="100%">
<tr>
<td nowrap="nowrap" class="headingLeft"><span class="headingLeftSmall"><?php _p($__exc_strType); ?> in PHP Script<br /></span><?php _p($_SERVER["PHP_SELF"]); ?></div></td>
<td nowrap="nowrap" class="headingRight">
<b>PHP Version:</b> <?php _p(PHP_VERSION); ?>;&nbsp;&nbsp;<b>Zend Engine Version:</b> <?php _p(zend_version()); ?>;&nbsp;&nbsp;<b>Qcodo Version:</b> <?php _p(QCODO_VERSION); ?><br />
<?php if (array_key_exists('OS', $_SERVER)) printf('<b>Operating System:</b> %s;&nbsp;&nbsp;', $_SERVER['OS']); ?><b>Application:</b> <?php _p($_SERVER['SERVER_SOFTWARE']); ?>;&nbsp;&nbsp;<b>Server Name:</b> <?php _p($_SERVER['SERVER_NAME']); ?><br />
<b>HTTP User Agent:</b> <?php _p($_SERVER['HTTP_USER_AGENT']); ?></td>
</tr>
</table>
<div class="page">
<span class="title"><?php _p($__exc_strMessageBody, false); ?></span><br />
<form method="post" action="<?php _p(__VIRTUAL_DIRECTORY__ . __PHP_ASSETS__) ;?>/_core/error_already_rendered_page.php" target="blank" name="rendered"><input type="hidden" name="strHtml" value=""></form>
<b><?php _p($__exc_strType); ?> Type:</b>&nbsp;&nbsp;
<?php _p($__exc_strObjectType); ?>
<br /><br />
<?php
if (isset($__exc_strRenderedPage)) {
?>
<script type="text/javascript">RenderedPage = "<?php _p(PrepDataForScript($__exc_strRenderedPage), false); ?>";</script>
<b>Rendered Page:</b>&nbsp;&nbsp;
<a href="javascript:RenderPage(RenderedPage)">Click here</a> to view contents able to be rendered</a>
<br /><br />
<?php
}
?>
<b>Source File:</b>&nbsp;&nbsp;
<?php _p($__exc_strFilename); ?>
&nbsp;&nbsp;&nbsp;&nbsp;<b>Line:</b>&nbsp;&nbsp;
<?php _p($__exc_intLineNumber); ?>
<br /><br />
<div class="code">
<?php
_p('<pre>', false);
for ($__exc_intLine = max(1, $__exc_intLineNumber - 5); $__exc_intLine <= min(count($__exc_objFileArray), $__exc_intLineNumber + 5); $__exc_intLine++) {
if ($__exc_intLineNumber == $__exc_intLine)
printf("<font color=red>Line %s: %s</font>", $__exc_intLine, htmlentities($__exc_objFileArray[$__exc_intLine - 1]));
else
printf("Line %s: %s", $__exc_intLine, htmlentities($__exc_objFileArray[$__exc_intLine - 1]));
}
_p('</pre>', false);
?>
</div><br />
<?php
if (isset($__exc_objErrorAttributeArray))
foreach ($__exc_objErrorAttributeArray as $__exc_objErrorAttribute) {
printf("<b>%s:</b>&nbsp;&nbsp;", $__exc_objErrorAttribute->Label);
$__exc_strJavascriptLabel = str_replace(" ", "", $__exc_objErrorAttribute->Label);
if ($__exc_objErrorAttribute->MultiLine) {
printf("\n<a href=\"javascript:ToggleHidden('%s')\">Show/Hide</a>",
$__exc_strJavascriptLabel);
printf('<br /><br /><div id="%s" class="code" style="Display: none;"><pre>%s</pre></div><br />',
$__exc_strJavascriptLabel,
htmlentities($__exc_objErrorAttribute->Contents));
} else
printf("%s\n<br /><br />\n", htmlentities($__exc_objErrorAttribute->Contents));
}
?>
<b>Call Stack:</b>
<br><br>
<div class="code">
<pre><?php _p($__exc_strStackTrace); ?></pre>
</div><br />
<b>Variable Dump:</b>&nbsp;&nbsp;
<a href="javascript:ToggleHidden('VariableDump')">Show/Hide</a>
<br /><br />
<div id="VariableDump" class="code" style="Display: none;">
<?php
_p('<pre>', false);
// Dump All Variables
foreach ($GLOBALS as $__exc_Key => $__exc_Value) {
// TODO: Figure out why this is so strange
if (isset($__exc_Key))
if ($__exc_Key != "_SESSION")
global $$__exc_Key;
}
$__exc_ObjVariableArray = get_defined_vars();
$__exc_ObjVariableArrayKeys = array_keys($__exc_ObjVariableArray);
sort($__exc_ObjVariableArrayKeys);
$__exc_StrToDisplay = "";
$__exc_StrToScript = "";
foreach ($__exc_ObjVariableArrayKeys as $__exc_Key) {
if ((strpos($__exc_Key, "__exc_") === false) && (strpos($__exc_Key, "_DATE_") === false) && ($__exc_Key != "GLOBALS") && !($__exc_ObjVariableArray[$__exc_Key] instanceof QForm)) {
try {
if (($__exc_Key == 'HTTP_SESSION_VARS') || ($__exc_Key == '_SESSION')) {
$__exc_ObjSessionVarArray = array();
foreach ($$__exc_Key as $__exc_StrSessionKey => $__exc_StrSessionValue) {
if (strpos($__exc_StrSessionKey, 'qform') !== 0)
$__exc_ObjSessionVarArray[$__exc_StrSessionKey] = $__exc_StrSessionValue;
}
$__exc_StrVarExport = htmlentities(var_export($__exc_ObjSessionVarArray, true));
} else if (($__exc_ObjVariableArray[$__exc_Key] instanceof QControl) || ($__exc_ObjVariableArray[$__exc_Key] instanceof QForm))
$__exc_StrVarExport = htmlentities($__exc_ObjVariableArray[$__exc_Key]->VarExport());
else
$__exc_StrVarExport = htmlentities(var_export($__exc_ObjVariableArray[$__exc_Key], true));
$__exc_StrToDisplay .= sprintf(" <a href=\"javascript:RenderPage(%s)\" title=\"%s\">%s</a>\n", $__exc_Key, $__exc_StrVarExport, $__exc_Key);
$__exc_StrToScript .= sprintf(" %s = \"<pre>%s</pre>\";\n", $__exc_Key, PrepDataForScript($__exc_StrVarExport));
} catch (Exception $__exc_objExcOnVarDump) {
$__exc_StrToDisplay .= sprintf(" Fatal error: Nesting level too deep - recursive dependency?\n", $__exc_objExcOnVarDump->Message);
}
}
}
_p($__exc_StrToDisplay . '</pre>', false);
printf('<script type="text/javascript">%s</script>', $__exc_StrToScript);
?>
</div><br />
<hr width="100%" size="1" color="#dddddd" />
<center><i><?php _p($__exc_strType); ?> Report Generated:&nbsp;&nbsp;<?php _p(date('l, F j Y, g:i:s A')); ?></i></center>
</font>
</div>
</body>
</html>
freenetis/trunk/www/assets/php/_README.txt
The various assets directory are for assets and helpers for the various
QControls, including images, javascript files and popups.
Of course, these files can technically be anywhere in the docroot,
but the current directory location of /assets/* is meant to serve
as a centrally-available assets location for these QControl helpers.
If you want to move them (either individually or entirely),
be sure to update your configuration.inc.php to reflect the new
location(s) of the assets.
In short, feel free to add/modify as you wish.
And also, any additional QControl classes that you create or download which
may have their own assets should have their assets installed in one of these
subdirectories. And any additional other js, css, etc. assets for your
application could be placed here, as well.
Finally, note that within EACH asset type (e.g. css, images, js and php),
files in the _core subdirectory are intended to be part of Qcodo Core,
and rules concerning the upgrading/modification for these files follows
the same rules for Qcodo Core files everywhere else.
freenetis/trunk/www/assets/css/template.css
b{font-size: 110%;}
em{color: red;}
#maincontainer{
padding-top: 10px;
width: 980px; /*Width of main container*/
margin: 0 auto; /*Center container on page*/
border-color: black;
border-width: 3px;
}
#topsection{
background: #EEEEEE;
height: 90px; /*Height of top section*/
}
.userlog{
padding-right: 10px;
text-align: right;
}
.userinfo{
background: grey;
width: 150px;
height: 100px;
margin-bottom: 10px;
}
.usermenu{
width: 150px;
}
#contentwrapper{
float: left;
width: 100%;
}
#contentcolumn{
margin-left: 170px; /*Set left margin to LeftColumnWidth*/
margin-bottom: 10px;
}
#leftcolumn{
float: left;
width: 170px; /*Width of left column*/
margin-left: -980px; /*Set left margin to -(MainContainerWidth)*/
padding: 10px 0px 10px 0px;
background: #C8FC98;
}
#footer{
clear: left;
width: 100%;
background: black;
color: #FFF;
text-align: center;
padding: 4px 0;
}
#footer a{
color: #FFFF80;
}
.innertube{
margin: 10px 10px 10px 10px;
}
.section{
font: 22px 'Verdana','Arial','Helvetica','Sans-Serif';
color: black;
font-weight: bold;
}
.subsection{
font: 16px 'Verdana','Arial','Helvetica','Sans-Serif';
color: black;
font-weight: bold;
}
.variable{
font: 14px 'Verdana','Arial','Helvetica','Sans-Serif';
color: black;
text-align: left;
font-weight: bold;
}
.value{
font: 14px 'Verdana','Arial','Helvetica','Sans-Serif';
color: black;
}
freenetis/trunk/www/assets/css/styles.css
/* These are all EXAMPLES -- they are meant to be updated/changed/modified */
TD, BODY { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; text-align: left; }
TH { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; text-align: left; font-weight: bold; }
.title { font: 30px 'Verdana','Arial','Helvetica','Sans-Serif'; font-weight: bold; margin-left: -2px;}
.title_action { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; font-weight: bold; margin-bottom: -4px; }
.warning { color: #ff0000; }
.instructions { font: 9px 'Arial','Helvetica','Sans-Serif'; font-style: italic; }
.item_divider { line-height: 16px; }
.item_label { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; padding-bottom: 4px; }
.item_label_disabled { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; padding-bottom: 4px; color: #999999; }
.button { font: 10px 'Verdana','Arial','Helvetica','Sans-Serif'; font-weight: bold; }
.listbox { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; width: 250px; }
.textbox { font: 12px 'Verdana','Arial','Helvetica','Sans-Serif'; width: 250px; }
.paginator_inactive_step { font-weight: bold; color: #aaaaaa; }
.paginator_active_step { font-weight: bold; color: #000000; text-decoration: none; }
.paginator_page { text-decoration: none; color: #000000; padding: 0px 3px 0px 3px; }
.paginator_selected_page { font-weight: bold; background-color: #ddccff; padding: 0px 3px 0px 3px; border: 1px; border-style: solid; }
.dashboard_top {width: 854px; margin-left: 170px; color: #000066; font: 30px 'Verdana','Arial','Helvetica','Sans-Serif'; font-weight: bold; height: 40px;}
.dashboard_pane {float: left; font-size: 10px; width: 160px;}
.dashboard_left {float: left; background-color: #eeeeff; width: 400px; height: 500px; margin-left: 10px; border-width: 1px; border-style: solid; border-color: black; padding: 10px; overflow: auto;}
.dashboard_right {float: left; background-color: #eeeeff; width: 400px; height: 500px; margin-left: 10px; border-width: 1px; border-style: solid; border-color: black; padding: 10px; overflow: auto;}
.file_asset_dbox { border: 1px solid #1c4a8c; background-color: #fff; padding: 20px; width: 400px; overflow: auto; }
.file_asset_dbox h1 { margin: 0; }
.file_asset_dbox input { padding: 3px; margin-right: 5px; }
freenetis/trunk/www/assets/css/_README.txt
The various assets directory are for assets and helpers for the various
QControls, including images, javascript files and popups.
Of course, these files can technically be anywhere in the docroot,
but the current directory location of /assets/* is meant to serve
as a centrally-available assets location for these QControl helpers.
If you want to move them (either individually or entirely),
be sure to update your configuration.inc.php to reflect the new
location(s) of the assets.
In short, feel free to add/modify as you wish.
And also, any additional QControl classes that you create or download which
may have their own assets should have their assets installed in one of these
subdirectories. And any additional other js, css, etc. assets for your
application could be placed here, as well.
Finally, note that within EACH asset type (e.g. css, images, js and php),
files in the _core subdirectory are intended to be part of Qcodo Core,
and rules concerning the upgrading/modification for these files follows
the same rules for Qcodo Core files everywhere else.
freenetis/trunk/www/assets/css/menus.css
/* ================================================================
This copyright notice must be untouched at all times.
The original version of this stylesheet and the associated (x)html
is available at http://www.cssplay.co.uk/menus/flyout_4level.html
Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
This stylesheet and the associated (x)html may be modified in any
way to fit your requirements.
=================================================================== */
.menu {
height:150px;
font-size:90%;
margin:0px 0px 50px 0px; /* this page only */
}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
position:relative;
z-index:500;
padding:0;
margin:0;
list-style-type:none;
width:150px;
}
/* style the list items */
.menu li {
background:#d4d8bd url(../images/shade.gif);
height:26px;
/* for IE7 */
float:left;
}
.menu li.sub {background:#d4d8bd url(../images/sub.gif) no-repeat right center;}
/* get rid of the table */
.menu table {position:absolute; border-collapse:collapse; top:0; left:0; z-index:100; font-size:1em;}
/* style the links */
.menu a, .menu a:visited {
display:block;
text-decoration:none;
height:25px;
line-height:25px;
width:149px;
color:#000;
text-indent:5px;
border:1px solid #fff;
border-width:0 1px 1px 1px;
}
/* hack for IE5.5 */
* html .menu a, * html .menu a:visited {width:150px; w\idth:149px;}
/* style the link hover */
* html .menu a:hover {color:#efa; background:#aa7; position:relative;}
.menu li:hover {position:relative;}
/* For accessibility of the top level menu when tabbing */
.menu a:active, .menu a:focus {color:#efa; background:#aa7;}
/* retain the hover colors for each sublevel IE7 and Firefox etc */
.menu li:hover > a {color:#efa; background:#aa7;}
/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu li ul {
visibility:hidden;
position:absolute;
top:-30px;
/* set up the overlap (minus the overrun) */
left:100px;
/* set up the overrun area */
padding:30px;
/* this is for IE to make it interpret the overrrun padding */
background:transparent url(../images/transparent.gif);
}
/* for browsers that understand this is all you need for the flyouts */
.menu li:hover > ul {visibility:visible;}
/* for IE5.5 and IE6 you need to style each level hover */
/* keep the third level+ hidden when you hover on first level link */
.menu ul a:hover ul ul{
visibility:hidden;
}
/* keep the fourth level+ hidden when you hover on second level link */
.menu ul a:hover ul a:hover ul ul{
visibility:hidden;
}
/* keep the fifth level hidden when you hover on third level link */
.menu ul a:hover ul a:hover ul a:hover ul ul{
visibility:hidden;
}
/* make the second level visible when hover on first level link */
.menu ul a:hover ul {
visibility:visible;
}
/* make the third level visible when you hover over second level link */
.menu ul a:hover ul a:hover ul{
visibility:visible;
}
/* make the fourth level visible when you hover over third level link */
.menu ul a:hover ul a:hover ul a:hover ul {
visibility:visible;
}
/* make the fifth level visible when you hover over fourth level link */
.menu ul a:hover ul a:hover ul a:hover ul a:hover ul {
visibility:visible;
}
freenetis/trunk/www/assets/js/_core/listbox.js
function __resetListBox(strFormId, strControlId) {
var objListBox = document.forms[strFormId].elements[strControlId];
objListBox.selectedIndex = -1;
if (objListBox.onchange)
objListBox.onchange();
};
freenetis/trunk/www/assets/js/_core/treenav.js
function treenavToggleImage(strControlId) {
var blnShow = treenavToggleDisplay(strControlId + "_sub", null, "block");
var objImage = document.getElementById(strControlId + "_image");
var strPath = qc.imageAssets + "/treenav_expanded.png";
var strPathNotExpanded = qc.imageAssets + "/treenav_not_expanded.png";
if (blnShow)
objImage.src = strPath;
else
objImage.src = strPathNotExpanded;
strActualControlId = strControlId.substr(0, strControlId.indexOf('_'));
qcodo.recordControlModification(strActualControlId, 'ItemExpanded', strControlId + ((blnShow) ? ' 1' : ' 0'));
};
function treenavToggleDisplay(mixControl, strShowOrHide, strDisplayStyle) {
// Toggles the display/hiding of the entire control (including any design/wrapper HTML)
// If ShowOrHide is blank, then we toggle
// Otherwise, we'll execute a "show" or a "hide"
var objControl; if (!(objControl = qcodo.getControl(mixControl))) return;
if (strShowOrHide) {
if (strShowOrHide == "show") {
objControl.style.display = strDisplayStyle;
return true;
} else {
objControl.style.display = "none";
return false;
};
} else {
if (objControl.style.display == "none") {
objControl.style.display = strDisplayStyle;
return true;
} else {
objControl.style.display = "none";
return false;
};
};
};
function treenavItemUnselect(strControlId, strStyleName) {
var objControl = document.getElementById(strControlId);
objControl.className = strStyleName;
objControl.onmouseout = function() {treenavItemSetStyle(strControlId, strStyleName);};
};
function treenavItemSetStyle(strControlId, strStyleName) {
var objControl = document.getElementById(strControlId);
objControl.className = strStyleName;
};
function treenavRedrawElement(strElementId, strHtml) {
document.getElementById(strElementId).innerHTML = strHtml;
};
freenetis/trunk/www/assets/js/_core/post.js
////////////////////////////////////////////
// PostBack and AjaxPostBack
////////////////////////////////////////////
qcodo.postBack = function(strForm, strControl, strEvent, strParameter) {
var objForm = document.getElementById(strForm);
objForm.Qform__FormControl.value = strControl;
objForm.Qform__FormEvent.value = strEvent;
objForm.Qform__FormParameter.value = strParameter;
objForm.Qform__FormCallType.value = "Server";
objForm.Qform__FormUpdates.value = this.formUpdates();
objForm.Qform__FormCheckableControls.value = this.formCheckableControls(strForm, "Server");
objForm.submit();
};
qcodo.formUpdates = function() {
var strToReturn = "";
for (var strControlId in qcodo.controlModifications)
for (var strProperty in qcodo.controlModifications[strControlId])
strToReturn += strControlId + " " + strProperty + " " + qcodo.controlModifications[strControlId][strProperty] + "\n";
qcodo.controlModifications = new Array();
return strToReturn;
};
qcodo.formCheckableControls = function(strForm, strCallType) {
var objForm = document.getElementById(strForm);
var strToReturn = "";
for (var intIndex = 0; intIndex < objForm.elements.length; intIndex++) {
if (((objForm.elements[intIndex].type == "checkbox") ||
(objForm.elements[intIndex].type == "radio")) &&
((strCallType == "Ajax") ||
(!objForm.elements[intIndex].disabled))) {
// CheckBoxList
if (objForm.elements[intIndex].id.indexOf('[') >= 0) {
if (objForm.elements[intIndex].id.indexOf('[0]') >= 0)
strToReturn += " " + objForm.elements[intIndex].id.substring(0, objForm.elements[intIndex].id.length - 3);
// RadioButtonList
} else if (objForm.elements[intIndex].id.indexOf('_') >= 0) {
if (objForm.elements[intIndex].id.indexOf('_0') >= 0)
strToReturn += " " + objForm.elements[intIndex].id.substring(0, objForm.elements[intIndex].id.length - 2);
// Standard Radio or Checkbox
} else {
strToReturn += " " + objForm.elements[intIndex].id;
};
};
};
if (strToReturn.length > 0)
return strToReturn.substring(1);
else
return "";
};
qcodo.ajaxQueue = new Array();
qcodo.postAjax = function(strForm, strControl, strEvent, strParameter, strWaitIconControlId) {
// alert(strForm + " " + strControl + " " + strEvent + " " + strParameter);
// Figure out if Queue is Empty
var blnQueueEmpty = false;
if (qcodo.ajaxQueue.length == 0)
blnQueueEmpty = true;
// Enqueue the AJAX Request
qcodo.ajaxQueue.push(new Array(strForm, strControl, strEvent, strParameter, strWaitIconControlId));
// If the Queue was originally empty, call the Dequeue
if (blnQueueEmpty)
qcodo.dequeueAjaxQueue();
};
qcodo.clearAjaxQueue = function() {
qcodo.ajaxQueue = new Array();
};
qcodo.objAjaxWaitIcon = null;
qcodo.dequeueAjaxQueue = function() {
if (qcodo.ajaxQueue.length > 0) {
strForm = this.ajaxQueue[0][0];
strControl = this.ajaxQueue[0][1];
strEvent = this.ajaxQueue[0][2];
strParameter = this.ajaxQueue[0][3];
strWaitIconControlId = this.ajaxQueue[0][4];
// Display WaitIcon (if applicable)
if (strWaitIconControlId) {
this.objAjaxWaitIcon = this.getWrapper(strWaitIconControlId);
if (this.objAjaxWaitIcon)
this.objAjaxWaitIcon.style.display = 'inline';
};
var objForm = document.getElementById(strForm);
objForm.Qform__FormControl.value = strControl;
objForm.Qform__FormEvent.value = strEvent;
objForm.Qform__FormParameter.value = strParameter;
objForm.Qform__FormCallType.value = "Ajax";
objForm.Qform__FormUpdates.value = qcodo.formUpdates();
objForm.Qform__FormCheckableControls.value = this.formCheckableControls(strForm, "Ajax");
var strPostData = "";
for (var i = 0; i < objForm.elements.length; i++) {
switch (objForm.elements[i].type) {
case "checkbox":
case "radio":
if (objForm.elements[i].checked) {
var strTestName = objForm.elements[i].name + "_";
if (objForm.elements[i].id.substring(0, strTestName.length) == strTestName)
strPostData += "&" + objForm.elements[i].name + "=" + objForm.elements[i].id.substring(strTestName.length);
else
// strPostData += "&" + objForm.elements[i].id + "=" + "1";
strPostData += "&" + objForm.elements[i].id + "=" + objForm.elements[i].value;
};
break;
case "select-multiple":
var blnOneSelected = false;
for (var intIndex = 0; intIndex < objForm.elements[i].options.length; intIndex++)
if (objForm.elements[i].options[intIndex].selected) {
strPostData += "&" + objForm.elements[i].name + "=";
strPostData += objForm.elements[i].options[intIndex].value;
};
break;
default:
strPostData += "&" + objForm.elements[i].id + "=";
// For Internationalization -- we must escape the element's value properly
var strPostValue = objForm.elements[i].value;
if (strPostValue) {
strPostValue = strPostValue.replace(/\%/g, "%25");
strPostValue = strPostValue.replace(/&/g, escape('&'));
strPostValue = strPostValue.replace(/\+/g, "%2B");
};
strPostData += strPostValue;
break;
};
};
var strUri = objForm.action;
var objRequest;
if (window.XMLHttpRequest) {
objRequest = new XMLHttpRequest();
} else if (typeof ActiveXObject != "undefined") {
objRequest = new ActiveXObject("Microsoft.XMLHTTP");
};
if (objRequest) {
objRequest.open("POST", strUri, true);
objRequest.setRequestHeader("Method", "POST " + strUri + " HTTP/1.1");
objRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
objRequest.onreadystatechange = function() {
if (!qcodo.unloadFlag && objRequest.readyState == 4) {
try {
var objXmlDoc = objRequest.responseXML;
// qcodo.logMessage(objRequest.responseText, true);
// alert('AJAX Response Received');
if (!objXmlDoc) {
alert("An error occurred during AJAX Response parsing.\r\n\r\nThe error response will appear in a new popup.");
var objErrorWindow = window.open('about:blank', 'qcodo_error','menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=1000,height=700,left=50,top=50');
objErrorWindow.focus();
objErrorWindow.document.write(objRequest.responseText);
return;
} else {
var intLength = 0;
// Go through Controls
var objXmlControls = objXmlDoc.getElementsByTagName('control');
intLength = objXmlControls.length;
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff