mirror of
https://github.com/avecms/AVE.cms.git
synced 2025-01-22 07:20:07 +00:00
Fixes
This commit is contained in:
parent
15e6bc5425
commit
e2e034f316
@ -26,8 +26,8 @@
|
||||
|
||||
1. Распакуйте содержимое архива в новую папку на вашем локальном компьютере.
|
||||
2. Загрузить эту папку целиком через FTP-клиент на ваш хост.
|
||||
3. Вам также может потребоваться установить права доступа (CHMOD 777) рекурсивно, на папки /tmp/cache/, /tmp/session/ и /uploads/, если ваш хостинг не установливает это по умолчанию.
|
||||
4. Также вам может потребоваться установить права доступа (CHMOD 777) рекурсивно, на файлы inc/db.config.php и inc/config.inc.php, если ваш хостинг не установливает это по умолчанию.
|
||||
3. Вам также может потребоваться установить права доступа (CHMOD 777) рекурсивно, на папки /tmp/cache/, /tmp/session/ и /uploads/, если ваш хостинг не устанавливает это по умолчанию.
|
||||
4. Также вам может потребоваться установить права доступа (CHMOD 777) рекурсивно, на файлы inc/db.config.php и inc/config.inc.php, если ваш хостинг не устанавливает это по умолчанию.
|
||||
5. Наберите http://адрес вашего сайта/ в браузере.
|
||||
6. Следуйте инструкциям.
|
||||
7. После установки системы настоятельно рекомендуем устанавливать права доступа на папку uploads не выше CHMOD 755.
|
||||
|
@ -132,6 +132,6 @@
|
||||
$AVE_Template->display($tpl);
|
||||
|
||||
// Статистика
|
||||
//if (defined('PROFILING') && PROFILING)
|
||||
// echo get_statistic(1, 1, 1, 1);
|
||||
if (defined('PROFILING_ADMIN') && PROFILING_ADMIN)
|
||||
echo Debug::displayInfo();
|
||||
?>
|
@ -20,9 +20,11 @@
|
||||
|
||||
class Debug {
|
||||
|
||||
protected static $time = array();
|
||||
protected static $time = [];
|
||||
|
||||
protected static $memory = array();
|
||||
protected static $memory = [];
|
||||
|
||||
protected static $_debug = [];
|
||||
|
||||
|
||||
public function __construct()
|
||||
@ -607,6 +609,119 @@
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция для вывода переменной (для отладки)
|
||||
*
|
||||
* @param mixed $var любая переменная
|
||||
* @param bool $exit
|
||||
* @param null $bg
|
||||
* @param bool $echo
|
||||
*
|
||||
* @return false|null|string|string[]
|
||||
*/
|
||||
public static function _($var, $_bg = null, $from = '')
|
||||
{
|
||||
$code = '';
|
||||
|
||||
$backtrace = debug_backtrace();
|
||||
|
||||
$backtrace = $backtrace[0];
|
||||
|
||||
if (preg_match('/([^\(]*)\((.*)\)/i', $backtrace['file']))
|
||||
{
|
||||
preg_match('/([^\(]*)\((.*)\)/i', $backtrace['file'], $match);
|
||||
$file = $match[1];
|
||||
}
|
||||
|
||||
$fh = fopen((isset($file)
|
||||
? $file
|
||||
: $backtrace['file']), 'r');
|
||||
|
||||
$line = 0;
|
||||
|
||||
while (++$line <= $backtrace['line'])
|
||||
$code = fgets($fh);
|
||||
|
||||
fclose($fh);
|
||||
|
||||
preg_match('/' . __FUNCTION__ . '\s*\((.*)\)\s*;/u', $code, $name);
|
||||
|
||||
unset ($code, $backtrace);
|
||||
|
||||
ob_start();
|
||||
|
||||
var_dump($var);
|
||||
|
||||
$var_dump = ob_get_contents();
|
||||
|
||||
$var_dump = preg_replace('/=>(\s+|\s$)/', ' => ', $var_dump);
|
||||
|
||||
$var_dump = htmlspecialchars($var_dump);
|
||||
|
||||
$var_dump = preg_replace('/(=>)/', '<span style="color: #ff8c00;">$1</span>', $var_dump);
|
||||
|
||||
ob_end_clean();
|
||||
|
||||
if (! empty($name))
|
||||
{
|
||||
$fn_name = explode(',', $name[1]);
|
||||
$fn_name = array_shift($fn_name);
|
||||
}
|
||||
else
|
||||
$fn_name = 'EVAL';
|
||||
|
||||
if ($_bg)
|
||||
$bg = 'style="background: #' . $_bg . ';"';
|
||||
else
|
||||
$bg = '';
|
||||
|
||||
$var_dump = '
|
||||
<style>
|
||||
.debug_bg {
|
||||
margin: 20px;
|
||||
border: 1px solid #d9d9d9;
|
||||
background-color: #f1efef;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
|
||||
font-family: "Consolas", Verdana, Arial;
|
||||
font-size: 11px;
|
||||
}
|
||||
.debug_top {
|
||||
color: #ffffff;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
padding-left: 20px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||
background-color: #43648c;
|
||||
background-repeat: repeat-x;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
}
|
||||
.debug_box {
|
||||
margin: 10px;
|
||||
padding: 4px;
|
||||
background-color: #efeded;
|
||||
border: 1px solid #dedcdc;
|
||||
}
|
||||
</style>
|
||||
<div class="debug_bg">
|
||||
<div class="debug_top" ' . $bg . '>
|
||||
var_dump(<strong>' . trim($fn_name) . '</strong>) ' . $from . '
|
||||
</div>
|
||||
'.self::_trace().'
|
||||
<div class="debug_box">
|
||||
<pre style="background:#f5f5f5; color: #000; margin: 0; padding: 5px; border: 0; font-size: 11px; font-family: Consolas, Verdana, Arial;">'
|
||||
. $var_dump .
|
||||
'</pre>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
self::$_debug[] = $var_dump;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция для трейсинга дебаггера
|
||||
*
|
||||
@ -793,6 +908,18 @@
|
||||
$stat = self::_stat_get('request');
|
||||
break;
|
||||
|
||||
case 'files':
|
||||
$stat = self::_stat_get('files');
|
||||
break;
|
||||
|
||||
case 'cookie':
|
||||
$stat = self::_stat_get('cookie');
|
||||
break;
|
||||
|
||||
case 'env':
|
||||
$stat = self::_stat_get('env');
|
||||
break;
|
||||
|
||||
case 'session':
|
||||
$stat = self::_stat_get('session');
|
||||
break;
|
||||
@ -824,10 +951,16 @@
|
||||
var_dump($_POST);
|
||||
else if ($type == 'request')
|
||||
var_dump($_REQUEST);
|
||||
else if ($type == 'files')
|
||||
var_dump($_FILES);
|
||||
else if ($type == 'cookie')
|
||||
var_dump($_COOKIE);
|
||||
else if ($type == 'session')
|
||||
var_dump($_SESSION);
|
||||
else if ($type == 'server')
|
||||
var_dump($_SERVER);
|
||||
else if ($type == 'env')
|
||||
var_dump($_ENV);
|
||||
else if ($type == 'globals')
|
||||
var_dump($GLOBALS);
|
||||
$stat = ob_get_contents();
|
||||
@ -855,23 +988,28 @@
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<script src="/lib/debug/debug.js"></script>';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="debug_btn"></div>';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '
|
||||
<div id="debug-panel">
|
||||
<div class="debug-wrapper">
|
||||
<div id="debug-panel-legend" class="legend">
|
||||
<span>Debug console</span>
|
||||
<a id="debugArrowMinimize" class="debugArrow" href="javascript:void(0)" title="Minimize" onclick="javascript:appTabsHide()">×</a>
|
||||
<span>
|
||||
<a id="tabGeneral" href="javascript:void(\'General\')" onclick="javascript:appExpandTabs(\'auto\', \'General\')">General</a>
|
||||
<a id="tabParams" href="javascript:void(\'Params\')" onclick="javascript:appExpandTabs(\'auto\', \'Params\')">Params</a>
|
||||
<a id="tabGlobals" href="javascript:void(\'Globals\')" onclick="javascript:appExpandTabs(\'auto\', \'Globals\')">Globals</a>
|
||||
<a id="tabQueries" href="javascript:void(\'Queries\')" onclick="javascript:appExpandTabs(\'auto\', \'Queries\')">SQL Queries (' . self::getStatistic('sqlcount') . ')</a>
|
||||
<a id="tabSqlTrace" href="javascript:void(\'SqlTrace\')" onclick="javascript:appExpandTabs(\'auto\', \'SqlTrace\')">SQL Trace (' . self::getStatistic('sqltrace') . ')</a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="debug_bar">
|
||||
<ul class="debug_tabs">
|
||||
<li id="debug-1">Timers</li>
|
||||
<li id="debug-2">$_GET</li>
|
||||
<li id="debug-3">$_POST</li>
|
||||
<li id="debug-4">$_REQUEST</li>
|
||||
<li id="debug-5">$_FILES</li>
|
||||
<li id="debug-6">$_COOKIE</li>
|
||||
<li id="debug-7">$_SESSION</li>
|
||||
<li id="debug-8">$_SERVER</li>
|
||||
<li id="debug-9">$_ENV</li>
|
||||
<li id="debug-10">$GLOBALS</li>
|
||||
<li id="debug-11">MySQL</li>
|
||||
<li id="debug-12">Trace</li>
|
||||
<li id="debug-13">Debug</li>
|
||||
</ul>
|
||||
';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="contentGeneral" class="items" style="display: none">' . PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-1-cont" style="display: block;">' . PHP_EOL;
|
||||
$out .= 'Time generation: ' . self::getStatistic('time') . ' sec';
|
||||
$out .= '<br>';
|
||||
$out .= 'Memory usage: ' . self::getStatistic('memory');
|
||||
@ -882,38 +1020,82 @@
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="contentParams" class="items" style="display: none">' . PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-2-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'GET:';
|
||||
$out .= self::getStatistic('get');
|
||||
$out .= '<br>';
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-3-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'POST:';
|
||||
$out .= self::getStatistic('post');
|
||||
$out .= '<br>';
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-4-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'REQUEST:';
|
||||
$out .= self::getStatistic('request');
|
||||
$out .= '<br>';
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-5-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'FILES:';
|
||||
$out .= self::getStatistic('files');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-6-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'COOKIE:';
|
||||
$out .= self::getStatistic('cookie');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-7-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'SESSION:';
|
||||
$out .= self::getStatistic('session');
|
||||
$out .= '<br>';
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-8-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'SERVER:';
|
||||
$out .= self::getStatistic('server');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="contentGlobals" class="items" style="display: none">' . PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-9-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'ENV:';
|
||||
$out .= self::getStatistic('env');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
|
||||
$out .= '<div class="debug_tab" id="debug-10-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= self::getStatistic('globals');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="contentQueries" class="items" style="display: none">' . PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-11-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= $AVE_DB->DBProfilesGet('list');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="contentSqlTrace" class="items" style="display: none">' . PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-12-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= $AVE_DB->showAllQueries();
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-13-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= implode('', self::$_debug);
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '</div>';
|
||||
|
||||
|
@ -1234,7 +1234,6 @@
|
||||
*
|
||||
* @return int|bool Возвращает номер документа если все удачно или false если все плохо
|
||||
*/
|
||||
|
||||
function documentSave ($rubric_id, $document_id, $data, $update_non_exists_fields = false, $rubric_code = true, $revisions = true, $logs = true, $generate = true)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
@ -1262,8 +1261,19 @@
|
||||
// Забираем параметры рубрики
|
||||
$_rubric = $this->_get_rubric($rubric_id);
|
||||
|
||||
// Запускаем триггер перед сохранением
|
||||
Hooks::trigger('DocumentBeforeSave', array('rubric_id' => $rubric_id, 'document_id' => $document_id, 'data' => $data, 'requests' => $_REQUEST));
|
||||
$_data = [
|
||||
'rubric_id' => $rubric_id,
|
||||
'document_id' => $document_id,
|
||||
'data' => $data,
|
||||
'requests' => $_REQUEST
|
||||
];
|
||||
|
||||
Hooks::register('DocumentBeforeSave', 'DocumentBeforeSave', 100);
|
||||
|
||||
// Запускаем триггер перед сохранением, возвращаем $data для дальнейшего сохранения
|
||||
$data = Hooks::trigger('DocumentBeforeSave', $_data);
|
||||
|
||||
unset ($_data);
|
||||
|
||||
// Выполняем стартовый код рубрики
|
||||
if ($rubric_code)
|
||||
@ -1816,8 +1826,19 @@
|
||||
? $data['field_module']
|
||||
: '';
|
||||
|
||||
Hooks::register('DocumentAfterSave', 'DocumentAfterSave', 100);
|
||||
|
||||
$_data = [
|
||||
'rubric_id' => $rubric_id,
|
||||
'document_id' => $document_id,
|
||||
'data' => $data,
|
||||
'field_module' => $field_module
|
||||
];
|
||||
|
||||
// Запускаем триггер после сохранения
|
||||
Hooks::trigger('DocumentAfterSave', array('rubric_id' => $rubric_id, 'document_id' => $document_id, 'data' => $data, 'field_module' => $field_module));
|
||||
Hooks::trigger('DocumentAfterSave', $_data);
|
||||
|
||||
unset ($_data);
|
||||
|
||||
// Выполняем код рубрики, после сохранения
|
||||
if ($rubric_code)
|
||||
@ -1845,6 +1866,7 @@
|
||||
return $document_id;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для добавления нового документа в БД
|
||||
*
|
||||
@ -4419,5 +4441,17 @@
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function DocumentBeforeSave ($data)
|
||||
{
|
||||
return $data['data'];
|
||||
}
|
||||
|
||||
|
||||
function DocumentAfterSave ($data)
|
||||
{
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
?>
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
@define('APP_NAME', 'AVE.cms');
|
||||
@define('APP_VERSION', '3.26');
|
||||
@define('APP_VERSION', '3.25');
|
||||
@define('APP_INFO', '<a target="_blank" href="https://www.ave-cms.ru/">Ave-Cms.Ru</a> '.'© 2007-' . date('Y'));
|
||||
|
||||
$themes = array();
|
||||
@ -280,6 +280,14 @@
|
||||
'VARIANT' => array('off', 'light', 'full')
|
||||
);
|
||||
|
||||
//-- Вывод общей статистики
|
||||
$GLOBALS['CMS_CONFIG']['_CONST_DEV']['PROFILING_ADMIN'] = array(
|
||||
'DESCR' => 'Вывод общей статистики в дминистративной части',
|
||||
'DEFAULT' => false,
|
||||
'TYPE' => 'bool',
|
||||
'VARIANT' => ''
|
||||
);
|
||||
|
||||
//-- Собирать статистику выполненных запросов
|
||||
$GLOBALS['CMS_CONFIG']['_CONST_DEV']['SQL_PROFILING'] = array(
|
||||
'DESCR' => 'Собирать статистику выполненных SQL запросов',
|
||||
|
@ -1,51 +1,123 @@
|
||||
/* == Debug Panel == */
|
||||
#debug-panel {
|
||||
font-size: 12px !important;
|
||||
opacity: 0.9;
|
||||
#debug_btn {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKYSURBVDjLnZPJT1NRFMb5G1wDHV5boNiqdHrvFYolCAtsGSSWKpMFKhYqlDI6oAEKaVJwCIgSphaKtLYWCgSNBgRjMNHoxsSFS3cmJmA0NMTw+R6JKKZl4eJL7sm953fOd3JPHIC4WMpcppG5SGnZc8ZjVVF6QLn975sDgfaZmvg71oRJZIRUYcuAnq/2KWroGfm3QwEn2YpLVPPvOD2oiqj9yq/mGznegl56mx6T7ZbY1M6YAM0CuZkxT0b2Wg6QW/SsApRXDsotR+d6E9Y/h9DuqoCuJq0lKoDxqU1/pITGR27mBU4h+GEcTz5OY+ClA5JbyahYzof/9TBO9B/FcWcqpA4xU3We3GJ87ntnfO5meinMvruNnqcmXA2XoDVcCc0wCYkzBaZpA7ILRJ/2O2B87jA+QT9UeDRe8svZYAG8b/txc6kc9mA+yqayYPQXwvdmBEOrA5B2p0BtFIYOWKCm5RukWwZyXIbA+0F0LpaiKaBHmVsLw4we99ccsM8a8GClF5JOMcQdou8prULrgRmQo7KI0VcE13MrGv06lE5kodhzGvdWu2GdKkTVWC4DcELcJkKyXbCb1EhAVM//M0DVUNqP2qAJd1baUDaZjTMTeXAttsPi0cM0mgvHvA0NkxYk2QRIrieOsDmEmXttH0DfVfSluSToWmpD8bgOroUOWNw6VI7koGfOBuq6EqLLTNU6ojrmP5D1HVsjmrkYezGIrlA9LjKgnrlGXJlpgbCOD0EtD0QNN8I3cZqjAlhJr4rXpB1iNLhrYffUQWoT7yUKzbxqJlHLq0jc5JYmgHMunogKYJVqF7mTrPyfgktMRTMX/CrOq1gLF3fYNrLiX+Bs8MoTwT2fQPwXgBXHGL+TaIjfinb3C7cscRMIcYL6AAAAAElFTkSuQmCC);
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
top: 4px;
|
||||
right: 4px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
z-index: 99999999;
|
||||
}
|
||||
|
||||
#debug_bar {
|
||||
background: #ffffff;
|
||||
color: #000000;
|
||||
display: none;
|
||||
font-family: "Consolas", Verdana, Arial;
|
||||
font-size: 11pt;
|
||||
font-weight: normal;
|
||||
line-height: normal;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
font-family: Consolas, Monaco, Menlo, "Courier New", monospace !important;
|
||||
height: 100%;
|
||||
z-index: 90000000;
|
||||
}
|
||||
#debug-panel .debug-wrapper {
|
||||
padding: 0px .875em;
|
||||
background-color: #fff;
|
||||
border: 1px solid rgba(0,0,0,0.2);
|
||||
border-bottom: 0;
|
||||
margin: 0px auto 0px auto;
|
||||
|
||||
#debug_bar .debug_tabs {
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-bottom: 1px solid #999999;
|
||||
overflow: hidden;
|
||||
}
|
||||
#debug-panel .items {
|
||||
padding: 10px;
|
||||
height: 350px;
|
||||
padding-top: 1em;
|
||||
font-size: 12px !important;
|
||||
color: #888;
|
||||
font-family: Consolas, Monaco, Menlo, "Courier New", monospace !important;
|
||||
|
||||
#debug_bar .debug_tabs > li {
|
||||
cursor: pointer;
|
||||
font-family: Tahoma;
|
||||
font-size: 10px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
display: block;
|
||||
float: left;
|
||||
line-height: 18px;
|
||||
padding: 3px 5px;
|
||||
border-right: 1px solid #999999;
|
||||
}
|
||||
#debug-panel .debug-wrapper .legend {
|
||||
background-color: #f9f9f9;
|
||||
padding: .25em;
|
||||
border: 1px solid rgba(0,0,0,0.2);
|
||||
width: auto;
|
||||
margin-top: -1.25em;
|
||||
|
||||
#debug_bar .debug_tabs > li:hover {
|
||||
background: #ff8000;
|
||||
}
|
||||
#debug-panel .debug-wrapper .legend span {
|
||||
color: #999;
|
||||
font-weight: 300 !important
|
||||
|
||||
#debug_bar .debug_tabs > li.selected {
|
||||
background: #999999;
|
||||
border-bottom: 3px solid #999999;
|
||||
margin-bottom: -3px;
|
||||
color: #ffffff;
|
||||
}
|
||||
#debug-panel a {
|
||||
text-decoration: none;
|
||||
color: rgba(0,0,0,0.5);
|
||||
|
||||
#debug_bar .debug_tab {
|
||||
font-family: "Consolas", Verdana, Arial;
|
||||
font-size: 12px;
|
||||
margin: 0 .25em;
|
||||
clear: both;
|
||||
display: none;
|
||||
padding: 15px;
|
||||
overflow: scroll;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 25px;
|
||||
bottom: 0;
|
||||
}
|
||||
#debug-panel pre {
|
||||
border: 0px;
|
||||
font-family: Consolas, Monaco, Menlo, "Courier New", monospace !important;
|
||||
font-size: 12px !important;
|
||||
|
||||
#debug_bar pre,
|
||||
#debug_bar code {
|
||||
display: block;
|
||||
margin: 0;
|
||||
color: #000;
|
||||
background: #FFF;
|
||||
font-size: 12px;
|
||||
border: 0;
|
||||
padding: 5px 10px;
|
||||
overflow-y: auto;
|
||||
max-height: calc(100vh - 30px);
|
||||
max-width: 100%;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
#debugArrowMinimize {
|
||||
float: right;
|
||||
|
||||
#debug_bar pre.pre_wrap,
|
||||
#debug_bar code.pre_wrap {
|
||||
white-space: pre-wrap; /* Since CSS 2.1 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
#debug_bar .debug_one_query {
|
||||
padding: 2px 0px;
|
||||
}
|
||||
|
||||
#debug_bar .debug_one_query span {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: calc(100% - 64px);
|
||||
}
|
||||
|
||||
#debug_bar .debug_one_query span:first-child {
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
#debug_bar .debug_one_dump {
|
||||
padding:0 0 40px 0;
|
||||
}
|
||||
|
||||
#debug_bar .debug_one_dump .debug_varname {
|
||||
display:block;
|
||||
font-weight:bold;
|
||||
font-size: 16px;
|
||||
text-transform: uppercase;
|
||||
}
|
@ -1,30 +1,35 @@
|
||||
function appExpandTabs(act, key) {
|
||||
var arrDebugTabs = ["General", "Params", "Globals", "Queries", "SqlTrace"];
|
||||
$(document).ready(function() {
|
||||
|
||||
keyTab = (key == null)
|
||||
? "General"
|
||||
: key;
|
||||
$('#debug_btn').on('click', function() {
|
||||
|
||||
for (var i = 0; i < arrDebugTabs.length; i++) {
|
||||
if (act == "min" || arrDebugTabs[i] != keyTab) {
|
||||
$("#content" + arrDebugTabs[i]).css("display", "none");
|
||||
$("#tab" + arrDebugTabs[i]).css("color", "#bbb")
|
||||
$bar = $('#debug_bar');
|
||||
|
||||
if ($bar.css('display') == 'none') {
|
||||
$(document.body).css('overflow', 'hidden');
|
||||
$bar.show();
|
||||
} else {
|
||||
$(document.body).css('overflow', '');
|
||||
$bar.hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('.debug_tabs > li').on('click', function() {
|
||||
$('.debug_tabs > li').removeClass('selected');
|
||||
$('.debug_tab').hide();
|
||||
$(this).addClass('selected');
|
||||
$('#'+this.id+'-cont').show();
|
||||
if($.cookie){
|
||||
$.cookie('__debug_bar', this.id, {expires: 7, path: '/'});
|
||||
}
|
||||
});
|
||||
|
||||
if($.cookie){
|
||||
var id = $.cookie('__debug_bar');
|
||||
var tab = $('.debug_tabs > li#'+id);
|
||||
if(tab.length > 0){
|
||||
tab.click();
|
||||
}
|
||||
}
|
||||
if (act != "min") {
|
||||
$("#content" + keyTab).css("display", "");
|
||||
$("#content" + keyTab).css({
|
||||
"overflow-y": "auto"
|
||||
});
|
||||
$("#tab" + keyTab).css("color", "#222")
|
||||
}
|
||||
|
||||
$("#debug-panel").css("opacity", (act == "min") ? "0.9" : "1");
|
||||
};
|
||||
|
||||
|
||||
function appTabsHide()
|
||||
{
|
||||
$('#debug-panel-legend span a').css("color", "#bbb");
|
||||
$("#debug-panel .items").hide();
|
||||
}
|
||||
}); //document.ready
|
Loading…
x
Reference in New Issue
Block a user