Attached Files |
system_tools_dashboard.patch [^] (17,467 bytes) 2010-09-16 14:38
[Show Content]
Index: admin_templates/tools/system_tools.tpl
===================================================================
--- admin_templates/tools/system_tools.tpl (revision 13936)
+++ admin_templates/tools/system_tools.tpl (working copy)
@@ -28,105 +28,273 @@
</tr>
</inp2:m_DefineElement>
-<table width="100%" cellspacing="0" cellpadding="4" class="bordered">
- <!--##<inp2:m_RenderElement name="subsection" title="la_section_General"/>##-->
- <inp2:m_RenderElement name="service_elem" title="Reset mod_rewrite Cache" event_name="OnResetModRwCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset SMS Menu Cache" event_prefix="c" event_name="OnResetCMSMenuCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Sections Cache" event_name="OnResetSections"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Configs Cache" event_name="OnResetConfigsCache"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Multilanguage Fields" event_prefix="lang" event_name="OnReflectMultiLingualFields"/>
+<style type="text/css">
+ .summary-box {
+ border: 1px solid black;
+ margin-bottom: 4px;
+ }
- <inp2:m_RenderElement name="subsection" title="la_section_Templates"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Themes Files" event_name="OnRebuildThemes"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Re-compile Templates
- </td>
- <td valign="top" colspan="2">
- <input class="button" type="button" onclick="compile_templates();" value="Run">
- </td>
- </tr>
- <inp2:m_RenderElement name="service_elem" title="Clear Templates Cache" event_name="OnDeleteCompiledTemplates"/>
- <inp2:m_RenderElement name="subsection" title="la_section_Configs"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Table Structure:
- </td>
- <td valign="top" colspan="2">
+ .summary-box .title {
+ color: white;
+ font-weight: bold;
+ padding: 6px 4px;
+ vertical-align: middle;
+ background-color: #4A92CE;
+ border-bottom: 1px solid black;
+ }
+
+ .summary-box .content {
+ padding: 4px;
+ background-color: #F6F6F6;
+ }
+
+ .summary-box .hint {
+ font-size: 10px;
+ color: grey;
+ margin-bottom: 3px;
+ }
+
+ .summary-box .group {
+ border-bottom: 1px solid black;
+ margin-bottom: 4px;
+ padding-bottom: 4px;
+ }
+
+ /*.summary-box .button {
+ font-size: 13px;
+ padding: 1px 3px;
+ border: 1px solid black;
+ color: white;
+ font-weight: bold;
+ background: #4A92CE;
+ }
+
+ .summary-box .button[disabled] {
+ color: #676767;
+ background-color: #F6F6F6;
+ border-color: grey;
+ }*/
+
+ .summary-box li {
+ padding-bottom: 4px;
+ }
+</style>
+
+<br />
+
+<div style="float: left; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Configs"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ Reset Parsed Data
+ <div class="hint">
+ Updates various cached data, obtained from discovered units (defined PHP classes, hooks,
+ agents, used configuration variables, replacement templates, rewrite listeners and
+ installed modules).<br/>
+ Cache Key: <strong>master:configs_parsed</strong>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetParsedData');" value="Run"/> or
+ <input type="button" class="button" onclick="Application.SetVar('validate_configs', 1); submit_event('adm', 'OnResetParsedData'); Application.SetVar('validate_configs', null);" value="Run & Validate"/>
+ </div>
+
+ <div class="group">
+ Reset Sections Cache
+ <div class="hint">
+ Updates cache of Administrative Console left menu section definitions obtained from discovered units.
+ When newly added sections doesn't appear - try this option.<br/>
+ Cache Key: <strong>master:sections_parsed</strong>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetSections');" value="Run"/>
+ </div>
+
+ <div class="group">
+ Re-build Multilanguage Fields
+ <div class="hint">
+ Adds missing columns (in format "l<N>_FieldName") to store data of translatable fields. Such
+ action is performed automatically, only when new language is added. This option should be used only,
+ to synchronize columns of newly added translatable fields definitions in units.
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('lang', 'OnReflectMultiLingualFields');" value="Run"/>
+ </div>
+
+ <div class="group">
+ Table Structure
+ <div class="hint">
+ Shows structure of the table with given name (table prefix is optional) or table,
+ associated with given "unit config prefix".
+ </div>
<input type="text" name="table_name" value="" size="30"/>
- <input class="button" type="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Run">
- <span class="small">table name (table prefix is optional) OR "unit config" prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Run"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Locate Unit Config File:
- </td>
- <td valign="top" colspan="2">
+ <div class="group">
+ Locate Unit Config File
+ <div class="hint">
+ Shows location of unit config file, associated with given unit config prefix.
+ </div>
<input type="text" name="config_prefix" value="" size="30"/>
- <input class="button" type="button" onclick="check_prefix_config();" value="Run">
- <span class="small">unit config prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="check_prefix_config();" value="Run"/>
+ </div>
+
+ <div>
+ Reset Configs Cache
+ <div class="hint">
+ <ul>
+ <li>
+ Discovers new units, by scanning "core" and "modules" folders (execution time is directly
+ proportional to discovered unit count).<br/>
+ Cache Key: <strong>master:config_files</strong>
+ </li>
+
+ <li>
+ Updates various cached data, obtained from discovered units (defined PHP classes, hooks,
+ agents, used configuration variables, replacement templates, rewrite listeners and
+ installed modules).<br/>
+ Cache Key: <strong>master:configs_parsed</strong>
+ </li>
+
+ <li>
+ Deletes compiled Administrative Console skins (css files).
+ </li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetConfigsCache');" value="Run"/>
+ </div>
+ </div>
+ </div>
+
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_FrontEnd"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ Reset mod_rewrite Cache
+ <div class="hint">
+ Deletes mapping between Front-End page urls and actual theme templates, that are displayed. This
+ mapping is updated automatically, when data in "Structure & Data" section is changed.
+ This option should be used only in case, when displayed page differs from page, that usually is
+ displayed, when given url is visited.
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetModRwCache');" value="Run"/>
+ </div>
+
+ <div>
+ Reset SMS Menu Cache
+ <div class="hint">
+ Deletes cached version of Front-End menu (displayed via "<inp2:st_CachedMenu .../>" tag). This
+ cache is updated automatically, when data in "Structure & Data" section is changed. This option
+ should be used only in case, when displayed menu on Front-End doesn't match expected menu, defined in
+ Administrative Console.<br/>
+ Cache Keys: <strong>master:cms_menu</strong>, <strong>master:StructureTree</strong>, <strong>master:template_mapping</strong>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('c', 'OnResetCMSMenuCache');" value="Run"/>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div style="float: right; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Templates"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ Re-build Themes Files
+ <div class="hint">
+ Discovers newly added Front-End theme templates. This action is performed automatically only, when
+ new theme is added or existing theme is enabled. This option should be used to solve case, when
+ "404 Not Found" page is shown instead of expected newly added page/template.<br/>
+
+ This function is also available via "Refresh" toolbar button in "Themes" section. It also deletes
+ all compressed ".js"/".css" files, which are used by <inp2:m_Compress .../> tag.
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnRebuildThemes');" value="Run"/>
+ </div>
+
+ <div class="group">
+ Re-compile Templates
+ <div class="hint">
+ Complies all templates from themes, enabled on Front-End and enabled modules from administrative
+ console. This option also check <inp2:.../> tag syntax across all In-Portal installation.
+ Such action is never performed automatically.
+ </div>
+ <input type="button" class="button" onclick="compile_templates();" value="Run"/>
+ </div>
+
+ <div>
+ Clear Templates Cache
+ <div class="hint">
+ Deletes all compiled templates from Administrative Console and Front-End themes. Should be used in
+ maintenance purposes only, since it doesn't give any benefits except temporary disk space
+ preservation. In any case all templates will be re-compiled once, they are visited.
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnDeleteCompiledTemplates');" value="Run"/>
+ </div>
+ </div>
+ </div>
+
<inp2:m_if check="adm_MemoryCacheEnabled">
- <inp2:m_RenderElement name="subsection" title="la_section_MemoryCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset All Keys" event_name="OnResetMemcache"/>
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_MemoryCache"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ Reset All Keys
+ <div class="hint">
+ Invalidates all data, that is stored in the cache. Not recommended for regular use due long execution time.
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetMemcache');" value="Run"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
+ <div class="group">
Key Name:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="2">
- <a href="#" class="quick-memory-cache-key">master:configs_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:config_files</a>,
- <a href="#" class="quick-memory-cache-key">master:sections_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:cms_menu</a>,
- <a href="#" class="quick-memory-cache-key">master:template_mapping</a>,
- <a href="#" class="quick-memory-cache-key">master:StructureTree</a>
- <br/>
- <br/>
- </td>
- </tr>
- <tr>
- <td style="width: 440px;">
- <input type="text" id="memory_cache_key_name" value="" style="width: 440px;"/>
- </td>
- <td style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_get" value="Get Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
+ <div class="hint">
+ Key name, used to retrieve/store data in the cache (used in "kApplication::setCache" and "kApplication::getCache" methods).
+ </div>
+
+ <input type="text" id="memory_cache_key_name" style="width: 230px;" value=""/>
+ <input type="button" class="button" id="memory_cache_get" value="Retrieve Value"/>
+
+ <div style="margin-top: 3px;">
+ Popular keys:<br/>
+ <a href="#" class="quick-memory-cache-key">master:configs_parsed</a>,
+ <a href="#" class="quick-memory-cache-key">master:config_files</a>,
+ <a href="#" class="quick-memory-cache-key">master:sections_parsed</a>,
+ <a href="#" class="quick-memory-cache-key">master:cms_menu</a>,
+ <a href="#" class="quick-memory-cache-key">master:template_mapping</a>,
+ <a href="#" class="quick-memory-cache-key">master:StructureTree</a>
+ </div>
+ </div>
+
+ <div>
Key Value:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td valign="bottom">
- <textarea id="memory_cache_key_value" style="width: 440px; height: 120px;"></textarea>
- </td>
- <td valign="bottom" style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_set" value="Set Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
+ <div class="hint">
+ Retrieved value (for getting) or new value (for setting) of key name, entered/selected above.
+ </div>
+ <div style="margin-right: 4px; margin-bottom: 3px;">
+ <textarea id="memory_cache_key_value" style="width: 100%; height: 200px;"></textarea><br/>
+ </div>
+
+ <input type="button" class="button" id="memory_cache_set" value="Store Value"/>
+ </div>
+ </div>
+ </div>
</inp2:m_if>
-</table>
+</div>
+<div style="clear: both;"></div>
+
<script type="text/javascript">
<inp2:m_if check="m_Get" name="refresh_tree">
getFrame('menu').location.reload();
Index: install/install_toolkit.php
===================================================================
--- install/install_toolkit.php (revision 13936)
+++ install/install_toolkit.php (working copy)
@@ -816,6 +816,7 @@
function deleteCache($refresh_permissions = false)
{
$this->Application->HandleEvent($event, 'adm:OnResetConfigsCache');
+ $this->Application->HandleEvent($event, 'adm:OnResetSections');
$this->Application->HandleEvent($event, 'c:OnResetCMSMenuCache');
$this->Conn->Query('DELETE FROM ' . TABLE_PREFIX . 'CachedUrls');
Index: kernel/utility/debugger.php
===================================================================
--- kernel/utility/debugger.php (revision 13936)
+++ kernel/utility/debugger.php (working copy)
@@ -228,8 +228,13 @@
$dbg_constMap['DBG_SKIP_REPORTING'] = 1;
}
+ // allows to validate unit configs via request variable
+ if ( !array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) ) {
+ $dbg_constMap['DBG_VALIDATE_CONFIGS'] = array_key_exists('validate_configs', $_GET) ? (int)$_GET['validate_configs'] : 0;
+ }
+
// when validation configs, don't show sqls for better validation error displaying
- if (array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) && $dbg_constMap['DBG_VALIDATE_CONFIGS']) {
+ if ($dbg_constMap['DBG_VALIDATE_CONFIGS']) {
$dbg_constMap['DBG_SQL_PROFILE'] = 0;
}
Index: units/admin/admin_events_handler.php
===================================================================
--- units/admin/admin_events_handler.php (revision 13936)
+++ units/admin/admin_events_handler.php (working copy)
@@ -43,7 +43,7 @@
$perm_value = null;
$system_events = Array (
- 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetMemcache',
+ 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetParsedData', 'OnResetMemcache',
'OnDeleteCompiledTemplates', 'OnCompileTemplates', 'OnGenerateTableStructure',
'OnRebuildThemes', 'OnCheckPrefixConfig', 'OnMemoryCacheGet', 'OnMemoryCacheSet'
);
@@ -122,21 +122,35 @@
if ($this->Application->isCachingType(CACHING_TYPE_MEMORY)) {
$this->Application->deleteCache('master:config_files');
- $this->Application->deleteCache('master:configs_parsed');
- $this->Application->deleteCache('master:sections_parsed');
}
else {
$this->Application->deleteDBCache('config_files');
- $this->Application->deleteDBCache('configs_parsed');
- $this->Application->deleteDBCache('sections_parsed');
}
+ $this->OnResetParsedData($event);
+
$skin_helper =& $this->Application->recallObject('SkinHelper');
/* @var $skin_helper SkinHelper */
$skin_helper->deleteCompiled();
+ }
- $event->SetRedirectParam('refresh_tree', 1);
+ /**
+ * Resets parsed data from unit configs
+ *
+ * @param kEvent $event
+ */
+ function OnResetParsedData(&$event)
+ {
+ if ($this->Application->GetVar('ajax') == 'yes') {
+ $event->status = erSTOP;
+ }
+
+ $this->Application->UnitConfigReader->ResetParsedData();
+
+ if ( $this->Application->GetVar('validate_configs') ) {
+ $event->SetRedirectParam('validate_configs', 1);
+ }
}
function OnResetMemcache(&$event)
system_tools_dashboard-Dmitry.patch [^] (19,263 bytes) 2010-09-17 15:52
[Show Content]
Index: admin_templates/tools/system_tools.tpl
===================================================================
--- admin_templates/tools/system_tools.tpl (revision 13951)
+++ admin_templates/tools/system_tools.tpl (working copy)
@@ -28,105 +28,302 @@
</tr>
</inp2:m_DefineElement>
-<table width="100%" cellspacing="0" cellpadding="4" class="bordered">
- <!--##<inp2:m_RenderElement name="subsection" title="la_section_General"/>##-->
- <inp2:m_RenderElement name="service_elem" title="Reset mod_rewrite Cache" event_name="OnResetModRwCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset SMS Menu Cache" event_prefix="c" event_name="OnResetCMSMenuCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Sections Cache" event_name="OnResetSections"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Configs Cache" event_name="OnResetConfigsCache"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Multilanguage Fields" event_prefix="lang" event_name="OnReflectMultiLingualFields"/>
+<style type="text/css">
+ .summary-box {
+ border: 1px solid black;
+ margin-bottom: 4px;
+ }
- <inp2:m_RenderElement name="subsection" title="la_section_Templates"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Themes Files" event_name="OnRebuildThemes"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Re-compile Templates
- </td>
- <td valign="top" colspan="2">
- <input class="button" type="button" onclick="compile_templates();" value="Run">
- </td>
- </tr>
- <inp2:m_RenderElement name="service_elem" title="Clear Templates Cache" event_name="OnDeleteCompiledTemplates"/>
- <inp2:m_RenderElement name="subsection" title="la_section_Configs"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Table Structure:
- </td>
- <td valign="top" colspan="2">
+ .summary-box .title {
+ color: white;
+ font-weight: bold;
+ padding: 6px 4px;
+ vertical-align: middle;
+ background-color: #4A92CE;
+ border-bottom: 1px solid black;
+ }
+
+ .summary-box .content {
+ padding: 4px;
+ background-color: #F6F6F6;
+ }
+
+ .summary-box .hint {
+ font-size: 10px;
+ color: grey;
+ margin-bottom: 3px;
+ }
+
+ .summary-box .group {
+ border-bottom: 1px solid black;
+ margin-bottom: 10px;
+ padding-bottom: 10px;
+ }
+
+ /*.summary-box .button {
+ font-size: 13px;
+ padding: 1px 3px;
+ border: 1px solid black;
+ color: white;
+ font-weight: bold;
+ background: #4A92CE;
+ }
+
+ .summary-box .button[disabled] {
+ color: #676767;
+ background-color: #F6F6F6;
+ border-color: grey;
+ }*/
+
+ .summary-box ul {
+ margin-top: 5px;
+ }
+
+ .summary-box li {
+ padding-bottom: 4px;
+ }
+
+ .summary-box h4 {
+ margin: 0;
+ padding: 0 0 3px 0;
+ font-size: 90%;
+ font-weight: bold;
+ }
+</style>
+
+<br />
+
+<div style="float: left; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Configs"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4>Reset Parsed and Cached System Data</h4>
+ <div class="hint">
+ <ul>
+ <li>Resets various cached system data such as definitions of PHP Classes, Hooks,
+ Agents, Cached Configuration Variables, Replacement Templates, Rewrite Listeners and
+ Loaded Modules. Data is read and collected from <strong><i>Unit Config</i></strong> files that already been scanned and cached by the system.</li>
+ <li><strong>Cache Key</strong>: <strong><i>configs_parsed</i></strong></li>
+ </ul>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetParsedData');" value="Reset"/> or
+ <input type="button" class="button" onclick="Application.SetVar('validate_configs', 1); submit_event('adm', 'OnResetParsedData'); Application.SetVar('validate_configs', null);" value="Reset & Validate Config Files"/>
+ </div>
+
+ <div class="group">
+ <h4>Reset Admin Console Sections</h4>
+ <div class="hint">
+ <ul>
+ <li>Resets the cache of Administrative Console sections (left menu). The definitions of sections are read and collected from <strong><i>Unit Config</i></strong> files that already been scanned and cached by the system.</li>
+ <li>Use this reset option if a newly added section doesn't appear in the left Admin menu.</li>
+ <li><strong>Cache Key</strong>: <strong><i>sections_parsed</i></strong></li>
+ </ul>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetSections');" value="Reset"/>
+ </div>
+
+ <div class="group">
+ <h4>Rebuild Multilingual Fields</h4>
+ <div class="hint">
+ <ul>
+ <li>Scans and adds missing database table columns (format "l<N>_FieldName", where N is a LanguageId) to store the data for translatable fields. This action is performed automatically whenever a new Language is created via Admin Console. Use this "Rebuild" option only for synchronization of database table columns with newly added multilingual fields (Multilingual formatter) defined through <strong><i>Unit Config</i></strong> files.
+ </li>
+ </ul>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('lang', 'OnReflectMultiLingualFields');" value="Rebuild"/>
+ </div>
+
+ <div class="group">
+ <h4>Show Database Table Structure</h4>
+ <div class="hint">
+ <ul>
+ <li>Shows the structure of the database table loading it by the table name or Unit Config Prefix associated with this table.</li>
+ </ul>
+ </div>
<input type="text" name="table_name" value="" size="30"/>
- <input class="button" type="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Run">
- <span class="small">table name (table prefix is optional) OR "unit config" prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Show Structure"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Locate Unit Config File:
- </td>
- <td valign="top" colspan="2">
+ <div class="group">
+ <h4>Locate Unit Config File</h4>
+ <div class="hint">
+ <ul>
+ <li>Shows the location of Unit Config file, associated with the given Unit Config Prefix (ie. adm).</li>
+ </ul>
+ </div>
<input type="text" name="config_prefix" value="" size="30"/>
- <input class="button" type="button" onclick="check_prefix_config();" value="Run">
- <span class="small">unit config prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="check_prefix_config();" value="Locate"/>
+ </div>
+
+ <div>
+ <h4>Reset Configs Files Cache and Parsed System Data</h4>
+ <div class="hint">
+ <ul>
+ <li>Scans "core" and "modules" folders to cache the location of all Unit Config files. The execution time depends on the number of Unif Config files found.<br/>
+ <strong>Cache Key</strong>: <strong><i>config_files</i></strong>
+ </li>
+
+ <li>
+ Resets various cached system data such as definitions of PHP Classes, Hooks,
+ Agents, Cached Configuration Variables, Replacement Templates, Rewrite Listeners and
+ Loaded Modules. Data is read and collected from <strong><i>Unit Config</i></strong> files that already been scanned and cached by the system.<br/>
+ <strong>Cache Key</strong>: <strong><i>configs_parsed</i></strong>
+ </li>
+
+ <li>Deletes compiled skins for Administrative Console (css files).</li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetConfigsCache');" value="Reset"/>
+ </div>
+ </div>
+ </div>
+
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_FrontEnd"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4>Reset ModRewrite Cache</h4>
+ <div class="hint">
+ <ul>
+ <li>Deletes the mapping between the Front-end URLs and actual Theme Templates. This mapping is updated automatically, when the website Structure or Sections are changed.</li>
+ <li>Use this option only in case if ModRewrite mode is enabled and displayed page differs from the page that it should be, when given URL is visited.</li>
+ </ul>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetModRwCache');" value="Reset"/>
+ </div>
+
+ <div>
+ <h4>Reset SMS Menu Cache</h4>
+ <div class="hint">
+ <ul>
+ <li>Deletes the cached version of Front-end menu (displayed via "<inp2:st_CachedMenu .../>" tag). This
+ cache is updated automatically, when the website structure or sections are changed.</li>
+ <li>Use this option only in case if displayed menu on the Front-end doesn't match the menu defined in
+ Administrative Console.</li>
+ <li>
+ <strong>Cache Key</strong>: <strong><i>cms_menu</i></strong>, <strong><i>StructureTree</i></strong>, <strong><i>template_mapping</i></strong>
+ </li>
+ </ul>
+ </div>
+
+ <input type="button" class="button" onclick="submit_event('c', 'OnResetCMSMenuCache');" value="Reset"/>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div style="float: right; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Templates"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4>Refresh Theme Files</h4>
+ <div class="hint">
+ <ul>
+ <li>Scans for newly added Front-end Theme templates across all <strong><i>enabled</i></strong> themes. This action is performed automatically when a new theme is added or existing theme is enabled. This option should be used in case when
+ "404 Not Found" page is shown instead of expected newly added page or template.</li>
+ <li>Additionally, deletes all compressed and cached Javascript/CSS files (.js .css) loaded using <strong><i><inp2:m_Compress .../></i></strong> tag.</li>
+ <li>This function is also available as a "Refresh" toolbar button in the Themes section in Admin.</li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnRebuildThemes');" value="Refresh"/>
+ </div>
+
+ <div class="group">
+ <h4>Recompile Templates</h4>
+ <div class="hint">
+ <ul>
+ <li>Completely recompiles the templates for all enabled Front-end themes as well as Admin Console templates for all loaded modules.</li>
+ <li>Additionally, checks for the syntax of all <strong><i><inp2:.../></i></strong> tags across the In-Portal installation.</li>
+ <li>This action is never performed automatically.</li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="compile_templates();" value="Recompile"/>
+ </div>
+
+ <div>
+ <h4>Clear Templates Cache</h4>
+ <div class="hint">
+ <ul>
+ <li>Deletes all compiled templates from Admin Console and Front-End themes.</li>
+ <li>Recommended for the maintenance purposes, since doesn't provide with any direct benefits except for a temporary lowering the usage of disk space. All templates will be automatically recompiled at the time of visit.</li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnDeleteCompiledTemplates');" value="Clear"/>
+ </div>
+ </div>
+ </div>
+
<inp2:m_if check="adm_MemoryCacheEnabled">
- <inp2:m_RenderElement name="subsection" title="la_section_MemoryCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset All Keys" event_name="OnResetMemcache"/>
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_MemoryCache"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4>Reset All Keys</h4>
+ <div class="hint">
+ <ul>
+ <li>Resets all the system data stored in the Memory Cache.</li>
+ <li>Use with caution due to long execution times.</li>
+ </ul>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetMemcache');" value="Reset"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Name:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="2">
- <a href="#" class="quick-memory-cache-key">master:configs_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:config_files</a>,
- <a href="#" class="quick-memory-cache-key">master:sections_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:cms_menu</a>,
- <a href="#" class="quick-memory-cache-key">master:template_mapping</a>,
- <a href="#" class="quick-memory-cache-key">master:StructureTree</a>
- <br/>
- <br/>
- </td>
- </tr>
- <tr>
- <td style="width: 440px;">
- <input type="text" id="memory_cache_key_name" value="" style="width: 440px;"/>
- </td>
- <td style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_get" value="Get Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Value:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td valign="bottom">
- <textarea id="memory_cache_key_value" style="width: 440px; height: 120px;"></textarea>
- </td>
- <td valign="bottom" style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_set" value="Set Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
+ <div class="group">
+ <h4>Key Name:</h4>
+ <div class="hint">
+ <ul>
+ <li>Enter a memory Key name used to get/set data in memory cache (used in "kApplication::setCache" and "kApplication::getCache" methods).</li>
+ </ul>
+ </div>
+
+ <input type="text" id="memory_cache_key_name" style="width: 230px;" value=""/>
+ <input type="button" class="button" id="memory_cache_get" value="Get Value"/>
+
+ <div style="margin-top: 3px;">
+ <h4>Popular keys:</h4>
+ <ul>
+ <li><a href="#" class="quick-memory-cache-key">master:configs_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:config_files</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:sections_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:cms_menu</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:template_mapping</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:StructureTree</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div>
+ <h4>Key Value:</h4>
+ <div class="hint">
+ Retrieved value (for getting) or new value (for setting) of key name, entered/selected above.
+ </div>
+ <div style="margin-right: 4px; margin-bottom: 3px;">
+ <textarea id="memory_cache_key_value" style="width: 100%; height: 200px;"></textarea><br/>
+ </div>
+
+ <input type="button" class="button" id="memory_cache_set" value="Set Value"/>
+ </div>
+ </div>
+ </div>
</inp2:m_if>
-</table>
+</div>
+<div style="clear: both;"></div>
+
<script type="text/javascript">
<inp2:m_if check="m_Get" name="refresh_tree">
getFrame('menu').location.reload();
Index: install/install_toolkit.php
===================================================================
--- install/install_toolkit.php (revision 13951)
+++ install/install_toolkit.php (working copy)
@@ -816,6 +816,7 @@
function deleteCache($refresh_permissions = false)
{
$this->Application->HandleEvent($event, 'adm:OnResetConfigsCache');
+ $this->Application->HandleEvent($event, 'adm:OnResetSections');
$this->Application->HandleEvent($event, 'c:OnResetCMSMenuCache');
$this->Conn->Query('DELETE FROM ' . TABLE_PREFIX . 'CachedUrls');
Index: kernel/utility/debugger.php
===================================================================
--- kernel/utility/debugger.php (revision 13951)
+++ kernel/utility/debugger.php (working copy)
@@ -228,8 +228,13 @@
$dbg_constMap['DBG_SKIP_REPORTING'] = 1;
}
+ // allows to validate unit configs via request variable
+ if ( !array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) ) {
+ $dbg_constMap['DBG_VALIDATE_CONFIGS'] = array_key_exists('validate_configs', $_GET) ? (int)$_GET['validate_configs'] : 0;
+ }
+
// when validation configs, don't show sqls for better validation error displaying
- if (array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) && $dbg_constMap['DBG_VALIDATE_CONFIGS']) {
+ if ($dbg_constMap['DBG_VALIDATE_CONFIGS']) {
$dbg_constMap['DBG_SQL_PROFILE'] = 0;
}
Index: units/admin/admin_events_handler.php
===================================================================
--- units/admin/admin_events_handler.php (revision 13951)
+++ units/admin/admin_events_handler.php (working copy)
@@ -43,7 +43,7 @@
$perm_value = null;
$system_events = Array (
- 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetMemcache',
+ 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetParsedData', 'OnResetMemcache',
'OnDeleteCompiledTemplates', 'OnCompileTemplates', 'OnGenerateTableStructure',
'OnRebuildThemes', 'OnCheckPrefixConfig', 'OnMemoryCacheGet', 'OnMemoryCacheSet'
);
@@ -122,21 +122,35 @@
if ($this->Application->isCachingType(CACHING_TYPE_MEMORY)) {
$this->Application->deleteCache('master:config_files');
- $this->Application->deleteCache('master:configs_parsed');
- $this->Application->deleteCache('master:sections_parsed');
}
else {
$this->Application->deleteDBCache('config_files');
- $this->Application->deleteDBCache('configs_parsed');
- $this->Application->deleteDBCache('sections_parsed');
}
+ $this->OnResetParsedData($event);
+
$skin_helper =& $this->Application->recallObject('SkinHelper');
/* @var $skin_helper SkinHelper */
$skin_helper->deleteCompiled();
+ }
- $event->SetRedirectParam('refresh_tree', 1);
+ /**
+ * Resets parsed data from unit configs
+ *
+ * @param kEvent $event
+ */
+ function OnResetParsedData(&$event)
+ {
+ if ($this->Application->GetVar('ajax') == 'yes') {
+ $event->status = erSTOP;
+ }
+
+ $this->Application->UnitConfigReader->ResetParsedData();
+
+ if ( $this->Application->GetVar('validate_configs') ) {
+ $event->SetRedirectParam('validate_configs', 1);
+ }
}
function OnResetMemcache(&$event)
system_tools_dashboard-Dmitry-Translated.patch [^] (34,175 bytes) 2010-09-19 20:31
[Show Content]
Index: admin_templates/tools/system_tools.tpl
===================================================================
--- admin_templates/tools/system_tools.tpl (revision 13954)
+++ admin_templates/tools/system_tools.tpl (working copy)
@@ -28,105 +28,269 @@
</tr>
</inp2:m_DefineElement>
-<table width="100%" cellspacing="0" cellpadding="4" class="bordered">
- <!--##<inp2:m_RenderElement name="subsection" title="la_section_General"/>##-->
- <inp2:m_RenderElement name="service_elem" title="Reset mod_rewrite Cache" event_name="OnResetModRwCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset SMS Menu Cache" event_prefix="c" event_name="OnResetCMSMenuCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Sections Cache" event_name="OnResetSections"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Configs Cache" event_name="OnResetConfigsCache"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Multilanguage Fields" event_prefix="lang" event_name="OnReflectMultiLingualFields"/>
+<style type="text/css">
+ .summary-box {
+ border: 1px solid black;
+ margin-bottom: 4px;
+ }
- <inp2:m_RenderElement name="subsection" title="la_section_Templates"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Themes Files" event_name="OnRebuildThemes"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Re-compile Templates
- </td>
- <td valign="top" colspan="2">
- <input class="button" type="button" onclick="compile_templates();" value="Run">
- </td>
- </tr>
- <inp2:m_RenderElement name="service_elem" title="Clear Templates Cache" event_name="OnDeleteCompiledTemplates"/>
- <inp2:m_RenderElement name="subsection" title="la_section_Configs"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Table Structure:
- </td>
- <td valign="top" colspan="2">
+ .summary-box .title {
+ color: white;
+ font-weight: bold;
+ padding: 6px 5px;
+ vertical-align: middle;
+ background-color: #4A92CE;
+ border-bottom: 1px solid black;
+ }
+
+ .summary-box .content {
+ padding: 4px;
+ background-color: #F6F6F6;
+ }
+
+ .summary-box .hint {
+ font-size: 10px;
+ color: grey;
+ margin-bottom: 3px;
+ }
+
+ .summary-box .group {
+ border-bottom: 1px solid black;
+ margin-bottom: 10px;
+ padding: 0 0 10px 10px;
+ }
+
+ .summary-box .last {
+ border-width: 0px;
+ margin-bottom: 0;
+ padding-bottom: 5px;
+ }
+
+ /*.summary-box .button {
+ font-size: 13px;
+ padding: 1px 3px;
+ border: 1px solid black;
+ color: white;
+ font-weight: bold;
+ background: #4A92CE;
+ }
+
+ .summary-box .button[disabled] {
+ color: #676767;
+ background-color: #F6F6F6;
+ border-color: grey;
+ }*/
+
+ .summary-box ul {
+ margin-top: 5px;
+ margin-bottom: 5px;
+ padding-left: 30px;
+ }
+
+ .summary-box ul {
+ margin-top: 5px;
+ margin-bottom: 3px;
+ }
+
+ .summary-box li {
+ padding-bottom: 4px;
+ }
+
+ .summary-box h4 {
+ margin: 0;
+ padding: 0 0 3px 0;
+ font-size: 11px;
+ font-weight: bold;
+ }
+
+ div.cache-key {
+ margin-bottom: 7px;
+ margin-left: 3px;
+ }
+</style>
+
+<br />
+
+<div style="float: left; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Configs"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetParsedCachedData"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetParsedCachedData"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>configs_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetParsedData');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/> <inp2:m_Phrase name="la_text_Or"/>
+ <input type="button" class="button" onclick="Application.SetVar('validate_configs', 1); submit_event('adm', 'OnResetParsedData'); Application.SetVar('validate_configs', null);" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/> & <inp2:m_Phrase name="la_btn_ValidateConfigFiles" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetAdminConsoleSections"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetAdminConsoleSections"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>sections_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetSections');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRebuildMultilingualFields"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRebuildMultilingualFields"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('lang', 'OnReflectMultiLingualFields');" value="<inp2:m_Phrase name="la_btn_Rebuild" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsShowDatabaseTableStructure"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsShowDatabaseTableStructure"/>
+ </div>
<input type="text" name="table_name" value="" size="30"/>
- <input class="button" type="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Run">
- <span class="small">table name (table prefix is optional) OR "unit config" prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="<inp2:m_Phrase name="la_btn_ShowStructure" no_editing="1"/>"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Locate Unit Config File:
- </td>
- <td valign="top" colspan="2">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsLocateUnitConfigFile"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsLocateUnitConfigFile"/>
+ </div>
<input type="text" name="config_prefix" value="" size="30"/>
- <input class="button" type="button" onclick="check_prefix_config();" value="Run">
- <span class="small">unit config prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="check_prefix_config();" value="<inp2:m_Phrase name="la_btn_Locate" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetConfigsAndParsedData"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetConfigsAndParsedData"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>config_files</i></strong>, <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>configs_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetConfigsCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_FrontEnd"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetModRewriteCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetModRewriteCache"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetModRwCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetSMSMenuCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetSMSMenuCache"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if><strong><i>cms_menu</i></strong>, <inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if><strong><i>template_mapping</i></strong>, <inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if><strong><i>StructureTree</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('c', 'OnResetCMSMenuCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div style="float: right; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Templates"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRefreshThemeFiles"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRefreshThemeFiles"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnRebuildThemes');" value="<inp2:m_Phrase name="la_btn_Refresh" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRecompileTemplates"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRecompileTemplates"/>
+ </div>
+ <input type="button" class="button" onclick="compile_templates();" value="<inp2:m_Phrase name="la_btn_Recompile" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsClearTemplatesCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsClearTemplatesCache"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnDeleteCompiledTemplates');" value="<inp2:m_Phrase name="la_btn_Clear" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+
<inp2:m_if check="adm_MemoryCacheEnabled">
- <inp2:m_RenderElement name="subsection" title="la_section_MemoryCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset All Keys" event_name="OnResetMemcache"/>
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_MemoryCache"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetAllKeys"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetAllKeys"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetMemcache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Name:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="2">
- <a href="#" class="quick-memory-cache-key">master:configs_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:config_files</a>,
- <a href="#" class="quick-memory-cache-key">master:sections_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:cms_menu</a>,
- <a href="#" class="quick-memory-cache-key">master:template_mapping</a>,
- <a href="#" class="quick-memory-cache-key">master:StructureTree</a>
- <br/>
- <br/>
- </td>
- </tr>
- <tr>
- <td style="width: 440px;">
- <input type="text" id="memory_cache_key_name" value="" style="width: 440px;"/>
- </td>
- <td style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_get" value="Get Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Value:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td valign="bottom">
- <textarea id="memory_cache_key_value" style="width: 440px; height: 120px;"></textarea>
- </td>
- <td valign="bottom" style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_set" value="Set Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsKeyName"/>:</h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsKeyName"/>
+ </div>
+ <input type="text" id="memory_cache_key_name" style="width: 230px;" value=""/>
+ <input type="button" class="button" id="memory_cache_get" value="<inp2:m_Phrase name="la_btn_GetValue" no_editing="1"/>"/>
+
+ <div style="margin-top: 3px;">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsCommonlyUsedKeys"/>:</h4>
+ <ul>
+ <li><a href="#" class="quick-memory-cache-key">master:configs_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:config_files</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:sections_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:cms_menu</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:template_mapping</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:StructureTree</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsKeyValue"/>:</h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsKeyValue"/>
+ </div>
+ <div style="margin-right: 4px; margin-bottom: 3px;">
+ <textarea id="memory_cache_key_value" style="width: 100%; height: 200px;"></textarea><br/>
+ </div>
+
+ <input type="button" class="button" id="memory_cache_set" value="<inp2:m_Phrase name="la_btn_SetValue" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
</inp2:m_if>
-</table>
+</div>
+<div style="clear: both;"></div>
+
<script type="text/javascript">
<inp2:m_if check="m_Get" name="refresh_tree">
getFrame('menu').location.reload();
Index: install/english.lang
===================================================================
--- install/english.lang (revision 13954)
+++ install/english.lang (working copy)
@@ -20,6 +20,7 @@
<PHRASE Label="la_btn_BrowseMode" Module="Core" Type="1">QnJvd3NlIE1vZGU=</PHRASE>
<PHRASE Label="la_btn_Cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_btn_Change" Module="Core" Type="1">Q2hhbmdl</PHRASE>
+ <PHRASE Label="la_btn_Clear" Module="Core" Type="1">Q2xlYXI=</PHRASE>
<PHRASE Label="la_btn_ContentMode" Module="Core" Type="1">Q29udGVudCBNb2Rl</PHRASE>
<PHRASE Label="la_btn_Delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_btn_DeleteDraft" Module="Core" Type="1">RGVsZXRl</PHRASE>
@@ -29,16 +30,25 @@
<PHRASE Label="la_btn_EditBlock" Module="Core" Type="1">RWRpdCBCbG9jaw==</PHRASE>
<PHRASE Label="la_btn_EditContent" Module="Core" Type="1">RWRpdCBDb250ZW50</PHRASE>
<PHRASE Label="la_btn_EditDesign" Module="Core" Type="1">RWRpdCBEZXNpZ24=</PHRASE>
+ <PHRASE Label="la_btn_GetValue" Module="Core" Type="1">R2V0IFZhbHVl</PHRASE>
+ <PHRASE Label="la_btn_Locate" Module="Core" Type="1">TG9jYXRl</PHRASE>
<PHRASE Label="la_btn_MoveDown" Module="Core" Type="1">TW92ZSBEb3du</PHRASE>
<PHRASE Label="la_btn_MoveUp" Module="Core" Type="1">TW92ZSBVcA==</PHRASE>
+ <PHRASE Label="la_btn_Rebuild" Module="Core" Type="1">UmVidWlsZA==</PHRASE>
+ <PHRASE Label="la_btn_Recompile" Module="Core" Type="1">UmVjb21waWxl</PHRASE>
+ <PHRASE Label="la_btn_Refresh" Module="Core" Type="1">UmVmcmVzaA==</PHRASE>
+ <PHRASE Label="la_btn_Reset" Module="Core" Type="1">UmVzZXQ=</PHRASE>
<PHRASE Label="la_btn_Save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_btn_SaveChanges" Module="Core" Type="1">U2F2ZSBDaGFuZ2Vz</PHRASE>
<PHRASE Label="la_btn_SectionProperties" Module="Core" Type="1">U2VjdGlvbiBQcm9wZXJ0aWVz</PHRASE>
<PHRASE Label="la_btn_SectionTemplate" Module="Core" Type="1">U2VjdGlvbiBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_btn_SelectAll" Module="Core" Type="1">U2VsZWN0IEFsbA==</PHRASE>
+ <PHRASE Label="la_btn_SetValue" Module="Core" Type="1">U2V0IFZhbHVl</PHRASE>
+ <PHRASE Label="la_btn_ShowStructure" Module="Core" Type="1">U2hvdyBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_btn_Unselect" Module="Core" Type="1">VW5zZWxlY3Q=</PHRASE>
<PHRASE Label="la_btn_Up" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_btn_UseDraft" Module="Core" Type="1">VXNl</PHRASE>
+ <PHRASE Label="la_btn_ValidateConfigFiles" Module="Core" Type="1">VmFsaWRhdGUgQ29uZmlnIEZpbGVz</PHRASE>
<PHRASE Label="la_Cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_category" Module="Core" Type="1">U2VjdGlvbg==</PHRASE>
<PHRASE Label="la_category_daysnew_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgY2F0LiB0byBiZSBORVc=</PHRASE>
@@ -682,6 +692,23 @@
<PHRASE Label="la_hint_PopPort" Module="Core" Type="1">UE9QMyBTZXJ2ZXIgUG9ydC4gRm9yIGV4LiAiMTEwIiBmb3IgcmVndWxhciBjb25uZWN0aW9uLCAiOTk1IiBmb3Igc2VjdXJlIGNvbm5lY3Rpb24u</PHRASE>
<PHRASE Label="la_hint_PopServer" Module="Core" Type="1">UE9QMyBTZXJ2ZXIgQWRkcmVzcy4gRm9yIGV4LiB1c2UgInNzbDovL3BvcC5nbWFpbC5jb20iIGZvciBHbWFpbCwgInBvcC5tYWlsLnlhaG9vLmNvbSIgZm9yIFlhaG9vLg==</PHRASE>
<PHRASE Label="la_hint_SSLUrl" Module="Core" Type="1">aHR0cHM6Ly93d3cuZG9tYWluLmNvbS9wYXRo</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsCacheKeys" Module="Core" Type="1">Q2FjaGUgS2V5KHMp</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsClearTemplatesCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyBhbGwgY29tcGlsZWQgdGVtcGxhdGVzIGZyb20gQWRtaW4gQ29uc29sZSBhbmQgRnJvbnQtRW5kIHRoZW1lcy48L2xpPg0KICA8bGk+UmVjb21tZW5kZWQgZm9yIHRoZSBtYWludGVuYW5jZSBwdXJwb3Nlcywgc2luY2UgZG9lcyBub3QgcHJvdmlkZSBhbnkgYWR2YW50YWdlcyBleGNlcHQgZm9yIHRlbXBvcmFyeSBsb3dlcmluZyB1c2FnZSBvZiB0aGUgZGlzayBzcGFjZS4gQWxsIHRlbXBsYXRlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVjb21waWxlZCBhdCB0aGUgdGltZSBvZiB2aXNpdC48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsDatabaseCache" Module="Core" Type="1">ZGF0YWJhc2UgY2FjaGU=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsKeyName" Module="Core" Type="1">PHVsPg0KICA8bGk+TmFtZSBvZiB0aGUgS2V5IHVzZWQgdG8gZ2V0IG9yIHNldCB0aGUgZGF0YSAodmFsdWUpIGluIHRoZSBtZW1vcnkgY2FjaGUgKDxzdHJvbmc+PGk+a0FwcGxpY2F0aW9uOjpzZXRDYWNoZTwvaT48L3N0cm9uZz4gYW5kIDxzdHJvbmc+PGk+a0FwcGxpY2F0aW9uOjpnZXRDYWNoZTwvaT48L3N0cm9uZz4gbWV0aG9kcykuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsKeyValue" Module="Core" Type="1">Q3VycmVudCB2YWx1ZSBvciBhIG5ldyB2YWx1ZSAoZm9yIHNldHRpbmcpIG9mIHRoZSBrZXkgbmFtZSBzcGVjaWZpZWQgYWJvdmUu</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsLocateUnitConfigFile" Module="Core" Type="1">PHVsPg0KICA8bGk+U2hvd3MgdGhlIGxvY2F0aW9uIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGUsIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gPHN0cm9uZz48aT5Vbml0IENvbmZpZyBQcmVmaXg8L2k+PC9zdHJvbmc+IChpZS4gImFkbSIsICJ1IiwgImxhbmciIGFuZCBvdGhlcnMpLjwvbGk+DQo8L3VsPg==</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsMemoryCache" Module="Core" Type="1">bWVtb3J5IGNhY2hl</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRebuildMultilingualFields" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgYW5kIGFkZHMgbWlzc2luZyBkYXRhYmFzZSB0YWJsZSBjb2x1bW5zIChmb3JtYXQgPHN0cm9uZz48aT4ibCZsdDtOJmd0O19GaWVsZE5hbWUiPC9pPjwvc3Ryb25nPiwgd2hlcmUgTiBpcyBhIExhbmd1YWdlSWQpIHRvIHN0b3JlIHRoZSBkYXRhIGZvciB0cmFuc2xhdGFibGUgZmllbGRzLiBUaGlzIGFjdGlvbiBpcyBwZXJmb3JtZWQgYXV0b21hdGljYWxseSB3aGVuZXZlciBhIG5ldyBMYW5ndWFnZSBpcyBjcmVhdGVkIHZpYSBBZG1pbiBDb25zb2xlLiBVc2UgdGhpcyAiUmVidWlsZCIgb3B0aW9uIG9ubHkgZm9yIHN5bmNocm9uaXphdGlvbiBvZiBkYXRhYmFzZSB0YWJsZSBjb2x1bW5zIHdpdGggbmV3bHkgYWRkZWQgbXVsdGlsaW5ndWFsIGZpZWxkcyAoa011bHRpTGFuZ3VhZ2UgZm9ybWF0dGVyKSBkZWZpbmVkIHRocm91Z2ggPHN0cm9uZz48aT5Vbml0IENvbmZpZzwvaT48L3N0cm9uZz4gZmlsZXMuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRecompileTemplates" Module="Core" Type="1">PHVsPg0KICA8bGk+Q29tcGxldGVseSByZWNvbXBpbGVzIHRoZSB0ZW1wbGF0ZXMgZm9yIGFsbCBlbmFibGVkIEZyb250LWVuZCB0aGVtZXMgYXMgd2VsbCBhcyBBZG1pbiBDb25zb2xlIHRlbXBsYXRlcyBmb3IgYWxsIGxvYWRlZCBtb2R1bGVzLjwvbGk+DQogIDxsaT5BZGRpdGlvbmFsbHksIGNoZWNrcyBmb3IgdGhlIHN5bnRheCBvZiBhbGwgPHN0cm9uZz48aT4mbHQ7aW5wMjouLi4vJmd0OzwvaT48L3N0cm9uZz4gdGFncyBhY3Jvc3MgdGhlIEluLVBvcnRhbCBpbnN0YWxsYXRpb24uPC9saT4NCiAgPGxpPlRoaXMgYWN0aW9uIGlzIG5ldmVyIHBlcmZvcm1lZCBhdXRvbWF0aWNhbGx5LiBIb3dldmVyLCBhbGwgbmV3bHkgbW9kaWZpZWQgdGVtcGxhdGVzIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWNvbXBpbGVkIGJ5IHRoZSBzeXN0ZW0gYXQgdGhlIHRpbWUgb2YgdmlzaXQuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRefreshThemeFiles" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgZm9yIG5ld2x5IGFkZGVkIEZyb250LWVuZCBUaGVtZSB0ZW1wbGF0ZXMgYWNyb3NzIGFsbCA8c3Ryb25nPjxpPmVuYWJsZWQ8L2k+PC9zdHJvbmc+IHRoZW1lcy4gVGhpcyBhY3Rpb24gaXMgcGVyZm9ybWVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG5ldyB0aGVtZSBpcyBhZGRlZCBvciBleGlzdGluZyB0aGVtZSBpcyBlbmFibGVkLiBUaGlzIG9wdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBjYXNlIHdoZW4gIjQwNCBOb3QgRm91bmQiIHBhZ2UgaXMgc2hvd24gaW5zdGVhZCBvZiBleHBlY3RlZCBuZXdseSBhZGRlZCBwYWdlIG9yIHRlbXBsYXRlLjwvbGk+DQogIDxsaT5BZGRpdGlvbmFsbHksIGRlbGV0ZXMgYWxsIGNvbXByZXNzZWQgYW5kIGNhY2hlZCBKYXZhc2NyaXB0L0NTUyBmaWxlcyAoLmpzIC5jc3MpIGxvYWRlZCB1c2luZyA8c3Ryb25nPjxpPiZsdDtpbnAyOm1fQ29tcHJlc3MgLi4uLyZndDs8L2k+PC9zdHJvbmc+IHRhZy48L2xpPg0KICA8bGk+VGhpcyBmdW5jdGlvbiBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhICJSZWZyZXNoIiBidXR0b24gaW4gdGhlIFRoZW1lcyBzZWN0aW9uIHRvb2xiYXIgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetAdminConsoleSections" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIHRoZSBjYWNoZSBvZiBBZG1pbiBDb25zb2xlIHNlY3Rpb25zIChsZWZ0IG1lbnUpLiBUaGUgZGVmaW5pdGlvbnMgb2Ygc2VjdGlvbnMgYXJlIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5Vc2UgdGhpcyByZXNldCBvcHRpb24gaWYgYSBuZXdseSBhZGRlZCBzZWN0aW9uIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBsZWZ0IEFkbWluIENvbnNvbGUgbWVudS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetAllKeys" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIDxzdHJvbmc+PGk+QWxsIERhdGE8L2k+PC9zdHJvbmc+IHN0b3JlZCBpbiB0aGUgTWVtb3J5IENhY2hlLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIFN5c3RlbSBEYXRhLCBNb2RSZXdyaXRlIFVSTHMgQ2FjaGUsIFRlbXBsYXRlIEJsb2NrcyBhbmQgRGF0YWJhc2UgSXRlbXMuPC9saT4NCiAgPGxpPlVzZSB3aXRoIGNhdXRpb24gZHVlIHRvIHBvc2liaWxpdHkgb2YgbG9uZyBleGVjdXRpb24gdGltZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetConfigsAndParsedData" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgPHN0cm9uZz48aT4iY29yZSI8L2k+PC9zdHJvbmc+IGFuZCA8c3Ryb25nPjxpPiJtb2R1bGVzIjwvaT48L3N0cm9uZz4gZm9sZGVycyB0byBjYWNoZSB0aGUgbG9jYXRpb24gb2YgYWxsIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzLiBUaGUgZXhlY3V0aW9uIHRpbWUgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIGZvdW5kLjwvbGk+DQogIDxsaT5SZXNldHMgdmFyaW91cyBjYWNoZWQgc3lzdGVtIGRhdGEgc3VjaCBhcyBkZWZpbmVkIFBIUCBDbGFzc2VzLCBIb29rcywgQWdlbnRzLCBDYWNoZWQgQ29uZmlndXJhdGlvbiBWYXJpYWJsZXMsIFJlcGxhY2VtZW50IFRlbXBsYXRlcywgUmV3cml0ZSBMaXN0ZW5lcnMgYW5kIExvYWRlZCBNb2R1bGVzLiBEYXRhIGlzIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5EZWxldGVzIGNvbXBpbGVkIHNraW5zIGZvciBBZG1pbiBDb25zb2xlIChjc3MgZmlsZXMpLjwvbGk+DQo8L3VsPg==</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetModRewriteCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBGcm9udC1lbmQgVVJMcyBhbmQgYWN0dWFsIFRoZW1lIFRlbXBsYXRlcy4gVGhpcyBtYXBwaW5nIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBTdHJ1Y3R1cmUgb3IgU2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgTW9kUmV3cml0ZSBtb2RlIGlzIGVuYWJsZWQgYW5kIGRpc3BsYXllZCBwYWdlIGRpZmZlcnMgZnJvbSB0aGUgcGFnZSB0aGF0IGl0IHNob3VsZCBiZSwgd2hlbiBnaXZlbiBVUkwgaXMgdmlzaXRlZC48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetParsedCachedData" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIHZhcmlvdXMgY2FjaGVkIHN5c3RlbSBkYXRhIHN1Y2ggYXMgZGVmaW5lZCBQSFAgQ2xhc3NlcyAobWFwcGluZyBiZXR3ZWVuIHRoZSBjbGFzcyBuYW1lIGFuZCBwaHlzaWNhbCBmaWxlbmFtZSBhbmQgbG9jYXRpb24gb2YgdGhlIGNsYXNzKSwgSG9va3MsIEFnZW50cywgQ2FjaGVkIENvbmZpZ3VyYXRpb24gVmFyaWFibGVzLCBSZXBsYWNlbWVudCBUZW1wbGF0ZXMsIFJld3JpdGUgTGlzdGVuZXJzIGFuZCBMb2FkZWQgTW9kdWxlcy4gRGF0YSBpcyByZWFkIGFuZCBjb2xsZWN0ZWQgZnJvbSA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnPC9pPjwvc3Ryb25nPiBmaWxlcyB0aGF0IGFscmVhZHkgYmVlbiBzY2FubmVkIGFuZCBjYWNoZWQgYnkgdGhlIHN5c3RlbS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetSMSMenuCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgRnJvbnQtZW5kIG1lbnUgKGRpc3BsYXllZCB2aWEgPHN0cm9uZz48aT4mbHQ7aW5wMjpzdF9DYWNoZWRNZW51IC4uLi8mZ3Q7PC9pPjwvc3Ryb25nPiB0YWcpLiBUaGlzIGNhY2hlIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBzdHJ1Y3R1cmUgb3Igc2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgZGlzcGxheWVkIG1lbnUgb24gdGhlIEZyb250LWVuZCBkb2Vzbid0IG1hdGNoIHRoZSBtZW51IGRlZmluZWQgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsShowDatabaseTableStructure" Module="Core" Type="1">PHVsPg0KICA8bGk+U2hvd3MgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZGF0YWJhc2UgdGFibGUgbG9hZGluZyBpdCBieSB0aGUgVGFibGUgTmFtZSAodGFibGUgcHJlZml4IGlzIG9wdGlvbmFsKSBvciA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnIFByZWZpeDwvaT48L3N0cm9uZz4gYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFibGUuPC9saT4NCjwvdWw+</PHRASE>
<PHRASE Label="la_hint_UsingRegularExpression" Module="Core" Type="1">VXNpbmcgUmVndWxhciBFeHByZXNzaW9u</PHRASE>
<PHRASE Label="la_Hot" Module="Core" Type="1">SG90</PHRASE>
<PHRASE Label="la_Html" Module="Core" Type="1">SFRNTA==</PHRASE>
@@ -1007,6 +1034,7 @@
<PHRASE Label="la_section_Counters" Module="Core" Type="1">Q291bnRlcnM=</PHRASE>
<PHRASE Label="la_section_CustomFields" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_section_Data" Module="Core" Type="1">U3VibWlzc2lvbiBEYXRh</PHRASE>
+ <PHRASE Label="la_section_FrontEnd" Module="Core" Type="1">RnJvbnQtZW5k</PHRASE>
<PHRASE Label="la_section_FullSizeImage" Module="Core" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
<PHRASE Label="la_section_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_section_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
@@ -1176,6 +1204,7 @@
<PHRASE Label="la_Text_None" Module="Core" Type="1">Tm9uZQ==</PHRASE>
<PHRASE Label="la_text_NoPermission" Module="Core" Type="1">Tm8gUGVybWlzc2lvbg==</PHRASE>
<PHRASE Label="la_Text_Not_Validated" Module="Core" Type="2">Tm90IFZhbGlkYXRlZA==</PHRASE>
+ <PHRASE Label="la_text_Or" Module="Core" Type="1">b3I=</PHRASE>
<PHRASE Label="la_Text_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_Text_Pop" Module="Core" Type="1">UG9wdWxhcg==</PHRASE>
<PHRASE Label="la_text_popularity" Module="Core" Type="1">UG9wdWxhcml0eQ==</PHRASE>
@@ -1335,6 +1364,21 @@
<PHRASE Label="la_title_Structure" Module="Core" Type="1">U3RydWN0dXJlICYgRGF0YQ==</PHRASE>
<PHRASE Label="la_title_Stylesheets" Module="Core" Type="1">U3R5bGVzaGVldHM=</PHRASE>
<PHRASE Label="la_title_SystemTools" Module="Core" Type="1">U3lzdGVtIFRvb2xz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsClearTemplatesCache" Module="Core" Type="1">Q2xlYXIgVGVtcGxhdGVzIENhY2hl</PHRASE>
+ <PHRASE Label="la_title_SystemToolsCommonlyUsedKeys" Module="Core" Type="1">Q29tbW9ubHkgVXNlZCBLZXlz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsKeyName" Module="Core" Type="1">S2V5IE5hbWU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsKeyValue" Module="Core" Type="1">S2V5IFZhbHVl</PHRASE>
+ <PHRASE Label="la_title_SystemToolsLocateUnitConfigFile" Module="Core" Type="1">TG9jYXRlIFVuaXQgQ29uZmlnIEZpbGU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRebuildMultilingualFields" Module="Core" Type="1">UmVidWlsZCBNdWx0aWxpbmd1YWwgRmllbGRz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRecompileTemplates" Module="Core" Type="1">UmVjb21waWxlIFRlbXBsYXRlcw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRefreshThemeFiles" Module="Core" Type="1">UmVmcmVzaCBUaGVtZSBGaWxlcw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetAdminConsoleSections" Module="Core" Type="1">UmVzZXQgQWRtaW4gQ29uc29sZSBTZWN0aW9ucw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetAllKeys" Module="Core" Type="1">UmVzZXQgQWxsIEtleXM=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetConfigsAndParsedData" Module="Core" Type="1">UmVzZXQgQ29uZmlncyBGaWxlcyBDYWNoZSBhbmQgUGFyc2VkIFN5c3RlbSBEYXRh</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetModRewriteCache" Module="Core" Type="1">UmVzZXQgTW9kUmV3cml0ZSBDYWNoZQ==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetParsedCachedData" Module="Core" Type="1">UmVzZXQgUGFyc2VkIGFuZCBDYWNoZWQgU3lzdGVtIERhdGE=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetSMSMenuCache" Module="Core" Type="1">UmVzZXQgU01TIE1lbnUgQ2FjaGU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsShowDatabaseTableStructure" Module="Core" Type="1">U2hvdyBEYXRhYmFzZSBUYWJsZSBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_title_ThemeFiles" Module="Core" Type="1">VGhlbWUgRmlsZXM=</PHRASE>
<PHRASE Label="la_title_Thesaurus" Module="Core" Type="1">VGhlc2F1cnVz</PHRASE>
<PHRASE Label="la_title_UpdatingCategories" Module="Core" Type="1">VXBkYXRpbmcgU2VjdGlvbnM=</PHRASE>
Index: install/install_toolkit.php
===================================================================
--- install/install_toolkit.php (revision 13954)
+++ install/install_toolkit.php (working copy)
@@ -816,6 +816,7 @@
function deleteCache($refresh_permissions = false)
{
$this->Application->HandleEvent($event, 'adm:OnResetConfigsCache');
+ $this->Application->HandleEvent($event, 'adm:OnResetSections');
$this->Application->HandleEvent($event, 'c:OnResetCMSMenuCache');
$this->Conn->Query('DELETE FROM ' . TABLE_PREFIX . 'CachedUrls');
Index: kernel/utility/debugger.php
===================================================================
--- kernel/utility/debugger.php (revision 13954)
+++ kernel/utility/debugger.php (working copy)
@@ -228,8 +228,13 @@
$dbg_constMap['DBG_SKIP_REPORTING'] = 1;
}
+ // allows to validate unit configs via request variable
+ if ( !array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) ) {
+ $dbg_constMap['DBG_VALIDATE_CONFIGS'] = array_key_exists('validate_configs', $_GET) ? (int)$_GET['validate_configs'] : 0;
+ }
+
// when validation configs, don't show sqls for better validation error displaying
- if (array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) && $dbg_constMap['DBG_VALIDATE_CONFIGS']) {
+ if ($dbg_constMap['DBG_VALIDATE_CONFIGS']) {
$dbg_constMap['DBG_SQL_PROFILE'] = 0;
}
Index: units/admin/admin_events_handler.php
===================================================================
--- units/admin/admin_events_handler.php (revision 13954)
+++ units/admin/admin_events_handler.php (working copy)
@@ -43,7 +43,7 @@
$perm_value = null;
$system_events = Array (
- 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetMemcache',
+ 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetParsedData', 'OnResetMemcache',
'OnDeleteCompiledTemplates', 'OnCompileTemplates', 'OnGenerateTableStructure',
'OnRebuildThemes', 'OnCheckPrefixConfig', 'OnMemoryCacheGet', 'OnMemoryCacheSet'
);
@@ -122,21 +122,35 @@
if ($this->Application->isCachingType(CACHING_TYPE_MEMORY)) {
$this->Application->deleteCache('master:config_files');
- $this->Application->deleteCache('master:configs_parsed');
- $this->Application->deleteCache('master:sections_parsed');
}
else {
$this->Application->deleteDBCache('config_files');
- $this->Application->deleteDBCache('configs_parsed');
- $this->Application->deleteDBCache('sections_parsed');
}
+ $this->OnResetParsedData($event);
+
$skin_helper =& $this->Application->recallObject('SkinHelper');
/* @var $skin_helper SkinHelper */
$skin_helper->deleteCompiled();
+ }
- $event->SetRedirectParam('refresh_tree', 1);
+ /**
+ * Resets parsed data from unit configs
+ *
+ * @param kEvent $event
+ */
+ function OnResetParsedData(&$event)
+ {
+ if ($this->Application->GetVar('ajax') == 'yes') {
+ $event->status = erSTOP;
+ }
+
+ $this->Application->UnitConfigReader->ResetParsedData();
+
+ if ( $this->Application->GetVar('validate_configs') ) {
+ $event->SetRedirectParam('validate_configs', 1);
+ }
}
function OnResetMemcache(&$event)
system_tools_dashboard_v4.patch [^] (70,945 bytes) 2010-09-22 05:13
[Show Content]
Index: admin_templates/incs/style_template.css
===================================================================
--- admin_templates/incs/style_template.css (revision 13955)
+++ admin_templates/incs/style_template.css (working copy)
@@ -691,4 +691,64 @@
.suggest-item-over {
background-color: #3366CC;
color: #fff;
+}
+
+/* Dashboard Summary Boxes */
+.summary-box {
+ border: 1px solid black;
+ margin-bottom: 4px;
+}
+
+.summary-box .title {
+ color: white;
+ font-weight: bold;
+ padding: 6px 5px;
+ vertical-align: middle;
+ background-color: #4A92CE;
+ border-bottom: 1px solid black;
+}
+
+.summary-box .content {
+ padding: 4px;
+ background-color: #F6F6F6;
+}
+
+.summary-box .group {
+ border-bottom: 1px solid black;
+ margin-bottom: 10px;
+ padding: 0 0 10px 10px;
+}
+
+.summary-box .group.last {
+ border-width: 0px;
+ margin-bottom: 0;
+ padding-bottom: 5px;
+}
+
+.summary-box h4 {
+ margin: 0;
+ padding: 0 0 3px 0;
+ font-size: 11px;
+ font-weight: bold;
+}
+
+.summary-box .hint {
+ font-size: 10px;
+ color: grey;
+ margin-bottom: 3px;
+}
+
+.summary-box .hint .cache-key {
+ margin-bottom: 7px;
+ margin-left: 3px;
+}
+
+.summary-box ul {
+ margin-top: 5px;
+ margin-bottom: 3px;
+ padding-left: 30px;
+}
+
+.summary-box li {
+ padding-bottom: 4px;
}
\ No newline at end of file
Index: admin_templates/tools/system_tools.tpl
===================================================================
--- admin_templates/tools/system_tools.tpl (revision 13936)
+++ admin_templates/tools/system_tools.tpl (working copy)
@@ -10,123 +10,193 @@
open_popup('adm', 'OnCheckPrefixConfig', 'config_check', '800x575');
}
- function compile_templates()
- {
+ function compile_templates() {
openwin('<inp2:m_Link template="tools/compile_templates" m_wid="100"/>', 'compile', 800, 575);
}
</script>
-<inp2:m_DefineElement name="service_elem" event_prefix="adm">
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- <inp2:m_param name="title"/>
- </td>
- <td valign="top" colspan="2">
- <input class="button" type="button" onclick="submit_event('<inp2:m_param name="event_prefix"/>', '<inp2:m_param name="event_name"/>');" value="Run">
- </td>
- </tr>
-</inp2:m_DefineElement>
+<br />
-<table width="100%" cellspacing="0" cellpadding="4" class="bordered">
- <!--##<inp2:m_RenderElement name="subsection" title="la_section_General"/>##-->
- <inp2:m_RenderElement name="service_elem" title="Reset mod_rewrite Cache" event_name="OnResetModRwCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset SMS Menu Cache" event_prefix="c" event_name="OnResetCMSMenuCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Sections Cache" event_name="OnResetSections"/>
- <inp2:m_RenderElement name="service_elem" title="Reset Configs Cache" event_name="OnResetConfigsCache"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Multilanguage Fields" event_prefix="lang" event_name="OnReflectMultiLingualFields"/>
+<div style="float: left; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Configs"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetParsedCachedData"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetParsedCachedData"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>configs_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetParsedData');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/> <inp2:m_Phrase name="la_text_Or"/>
+ <input type="button" class="button" onclick="Application.SetVar('validate_configs', 1); submit_event('adm', 'OnResetParsedData'); Application.SetVar('validate_configs', null);" value="<inp2:m_Phrase name="la_btn_ResetAndValidateConfigFiles" no_editing="1"/>"/>
+ </div>
- <inp2:m_RenderElement name="subsection" title="la_section_Templates"/>
- <inp2:m_RenderElement name="service_elem" title="Re-build Themes Files" event_name="OnRebuildThemes"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Re-compile Templates
- </td>
- <td valign="top" colspan="2">
- <input class="button" type="button" onclick="compile_templates();" value="Run">
- </td>
- </tr>
- <inp2:m_RenderElement name="service_elem" title="Clear Templates Cache" event_name="OnDeleteCompiledTemplates"/>
- <inp2:m_RenderElement name="subsection" title="la_section_Configs"/>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Table Structure:
- </td>
- <td valign="top" colspan="2">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetAdminConsoleSections"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetAdminConsoleSections"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>sections_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetSections');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRebuildMultilingualFields"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRebuildMultilingualFields"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('lang', 'OnReflectMultiLingualFields');" value="<inp2:m_Phrase name="la_btn_Rebuild" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsShowDatabaseTableStructure"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsShowDatabaseTableStructure"/>
+ </div>
<input type="text" name="table_name" value="" size="30"/>
- <input class="button" type="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="Run">
- <span class="small">table name (table prefix is optional) OR "unit config" prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="show_structure('adm', 'OnGenerateTableStructure');" value="<inp2:m_Phrase name="la_btn_ShowStructure" no_editing="1"/>"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Locate Unit Config File:
- </td>
- <td valign="top" colspan="2">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsLocateUnitConfigFile"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsLocateUnitConfigFile"/>
+ </div>
<input type="text" name="config_prefix" value="" size="30"/>
- <input class="button" type="button" onclick="check_prefix_config();" value="Run">
- <span class="small">unit config prefix</span>
- </td>
- </tr>
+ <input type="button" class="button" onclick="check_prefix_config();" value="<inp2:m_Phrase name="la_btn_Locate" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetConfigsAndParsedData"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetConfigsAndParsedData"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>config_files</i></strong>, <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>configs_parsed</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetConfigsCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_FrontEnd"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetModRewriteCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetModRewriteCache"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetModRwCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetSMSMenuCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetSMSMenuCache"/>
+ <div class="cache-key">
+ <strong><inp2:m_Phrase name="la_hint_SystemToolsCacheKeys"/></strong>: <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>cms_menu</i></strong>, <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>template_mapping</i></strong>, <strong><i><inp2:m_if check="adm_MemoryCacheEnabled">master:</inp2:m_if>StructureTree</i></strong> (<inp2:m_if check="adm_MemoryCacheEnabled"><inp2:m_Phrase name="la_hint_SystemToolsMemoryCache"/><inp2:m_else/><inp2:m_Phrase name="la_hint_SystemToolsDatabaseCache"/></inp2:m_if>)
+ </div>
+ </div>
+ <input type="button" class="button" onclick="submit_event('c', 'OnResetCMSMenuCache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div style="float: right; width: 49%;">
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_Templates"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRefreshThemeFiles"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRefreshThemeFiles"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnRebuildThemes');" value="<inp2:m_Phrase name="la_btn_Refresh" no_editing="1"/>"/>
+ </div>
+
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsRecompileTemplates"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsRecompileTemplates"/>
+ </div>
+ <input type="button" class="button" onclick="compile_templates();" value="<inp2:m_Phrase name="la_btn_Recompile" no_editing="1"/>"/>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsClearTemplatesCache"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsClearTemplatesCache"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnDeleteCompiledTemplates');" value="<inp2:m_Phrase name="la_btn_Clear" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
+
<inp2:m_if check="adm_MemoryCacheEnabled">
- <inp2:m_RenderElement name="subsection" title="la_section_MemoryCache"/>
- <inp2:m_RenderElement name="service_elem" title="Reset All Keys" event_name="OnResetMemcache"/>
+ <div class="summary-box">
+ <div class="title">
+ <inp2:m_Phrase name="la_section_MemoryCache"/>
+ </div>
+ <div class="content">
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsResetAllKeys"/></h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsResetAllKeys"/>
+ </div>
+ <input type="button" class="button" onclick="submit_event('adm', 'OnResetMemcache');" value="<inp2:m_Phrase name="la_btn_Reset" no_editing="1"/>"/>
+ </div>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Name:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="2">
- <a href="#" class="quick-memory-cache-key">master:configs_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:config_files</a>,
- <a href="#" class="quick-memory-cache-key">master:sections_parsed</a>,
- <a href="#" class="quick-memory-cache-key">master:cms_menu</a>,
- <a href="#" class="quick-memory-cache-key">master:template_mapping</a>,
- <a href="#" class="quick-memory-cache-key">master:StructureTree</a>
- <br/>
- <br/>
- </td>
- </tr>
- <tr>
- <td style="width: 440px;">
- <input type="text" id="memory_cache_key_name" value="" style="width: 440px;"/>
- </td>
- <td style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_get" value="Get Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
- <inp2:m_inc param="tab_index" by="1"/>
- <td class="text" style="width: 300px;">
- Key Value:
- </td>
- <td valign="top" colspan="2">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td valign="bottom">
- <textarea id="memory_cache_key_value" style="width: 440px; height: 120px;"></textarea>
- </td>
- <td valign="bottom" style="padding-bottom: 2px; padding-left: 4px;">
- <input type="button" class="button" id="memory_cache_set" value="Set Value"/>
- </td>
- </tr>
- </table>
- </td>
- </tr>
+ <div class="group">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsKeyName"/>:</h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsKeyName"/>
+ </div>
+ <input type="text" id="memory_cache_key_name" style="width: 230px;" value=""/>
+ <input type="button" class="button" id="memory_cache_get" value="<inp2:m_Phrase name="la_btn_GetValue" no_editing="1"/>"/>
+
+ <div style="margin-top: 3px;">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsCommonlyUsedKeys"/>:</h4>
+ <ul>
+ <li><a href="#" class="quick-memory-cache-key">master:configs_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:config_files</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:sections_parsed</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:cms_menu</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:template_mapping</a></li>
+ <li><a href="#" class="quick-memory-cache-key">master:StructureTree</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="group last">
+ <h4><inp2:m_Phrase name="la_title_SystemToolsKeyValue"/>:</h4>
+ <div class="hint">
+ <inp2:m_Phrase name="la_hint_SystemToolsKeyValue"/>
+ </div>
+ <div style="margin-right: 4px; margin-bottom: 3px;">
+ <textarea id="memory_cache_key_value" style="width: 100%; height: 200px;"></textarea><br/>
+ </div>
+
+ <input type="button" class="button" id="memory_cache_set" value="<inp2:m_Phrase name="la_btn_SetValue" no_editing="1"/>"/>
+ </div>
+ </div>
+ </div>
</inp2:m_if>
-</table>
+</div>
+<div style="clear: both;"></div>
+
<script type="text/javascript">
<inp2:m_if check="m_Get" name="refresh_tree">
getFrame('menu').location.reload();
Index: install/english.lang
===================================================================
--- install/english.lang (revision 13951)
+++ install/english.lang (working copy)
@@ -20,6 +20,7 @@
<PHRASE Label="la_btn_BrowseMode" Module="Core" Type="1">QnJvd3NlIE1vZGU=</PHRASE>
<PHRASE Label="la_btn_Cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_btn_Change" Module="Core" Type="1">Q2hhbmdl</PHRASE>
+ <PHRASE Label="la_btn_Clear" Module="Core" Type="1">Q2xlYXI=</PHRASE>
<PHRASE Label="la_btn_ContentMode" Module="Core" Type="1">Q29udGVudCBNb2Rl</PHRASE>
<PHRASE Label="la_btn_Delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_btn_DeleteDraft" Module="Core" Type="1">RGVsZXRl</PHRASE>
@@ -29,13 +30,22 @@
<PHRASE Label="la_btn_EditBlock" Module="Core" Type="1">RWRpdCBCbG9jaw==</PHRASE>
<PHRASE Label="la_btn_EditContent" Module="Core" Type="1">RWRpdCBDb250ZW50</PHRASE>
<PHRASE Label="la_btn_EditDesign" Module="Core" Type="1">RWRpdCBEZXNpZ24=</PHRASE>
+ <PHRASE Label="la_btn_GetValue" Module="Core" Type="1">R2V0IFZhbHVl</PHRASE>
+ <PHRASE Label="la_btn_Locate" Module="Core" Type="1">TG9jYXRl</PHRASE>
<PHRASE Label="la_btn_MoveDown" Module="Core" Type="1">TW92ZSBEb3du</PHRASE>
<PHRASE Label="la_btn_MoveUp" Module="Core" Type="1">TW92ZSBVcA==</PHRASE>
+ <PHRASE Label="la_btn_Rebuild" Module="Core" Type="1">UmVidWlsZA==</PHRASE>
+ <PHRASE Label="la_btn_Recompile" Module="Core" Type="1">UmVjb21waWxl</PHRASE>
+ <PHRASE Label="la_btn_Refresh" Module="Core" Type="1">UmVmcmVzaA==</PHRASE>
+ <PHRASE Label="la_btn_Reset" Module="Core" Type="1">UmVzZXQ=</PHRASE>
+ <PHRASE Label="la_btn_ResetAndValidateConfigFiles" Module="Core" Type="1">UmVzZXQgJmFtcDsgVmFsaWRhdGUgQ29uZmlnIEZpbGVz</PHRASE>
<PHRASE Label="la_btn_Save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_btn_SaveChanges" Module="Core" Type="1">U2F2ZSBDaGFuZ2Vz</PHRASE>
<PHRASE Label="la_btn_SectionProperties" Module="Core" Type="1">U2VjdGlvbiBQcm9wZXJ0aWVz</PHRASE>
<PHRASE Label="la_btn_SectionTemplate" Module="Core" Type="1">U2VjdGlvbiBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_btn_SelectAll" Module="Core" Type="1">U2VsZWN0IEFsbA==</PHRASE>
+ <PHRASE Label="la_btn_SetValue" Module="Core" Type="1">U2V0IFZhbHVl</PHRASE>
+ <PHRASE Label="la_btn_ShowStructure" Module="Core" Type="1">U2hvdyBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_btn_Unselect" Module="Core" Type="1">VW5zZWxlY3Q=</PHRASE>
<PHRASE Label="la_btn_Up" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_btn_UseDraft" Module="Core" Type="1">VXNl</PHRASE>
@@ -682,6 +692,23 @@
<PHRASE Label="la_hint_PopPort" Module="Core" Type="1">UE9QMyBTZXJ2ZXIgUG9ydC4gRm9yIGV4LiAiMTEwIiBmb3IgcmVndWxhciBjb25uZWN0aW9uLCAiOTk1IiBmb3Igc2VjdXJlIGNvbm5lY3Rpb24u</PHRASE>
<PHRASE Label="la_hint_PopServer" Module="Core" Type="1">UE9QMyBTZXJ2ZXIgQWRkcmVzcy4gRm9yIGV4LiB1c2UgInNzbDovL3BvcC5nbWFpbC5jb20iIGZvciBHbWFpbCwgInBvcC5tYWlsLnlhaG9vLmNvbSIgZm9yIFlhaG9vLg==</PHRASE>
<PHRASE Label="la_hint_SSLUrl" Module="Core" Type="1">aHR0cHM6Ly93d3cuZG9tYWluLmNvbS9wYXRo</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsCacheKeys" Module="Core" Type="1">Q2FjaGUgS2V5KHMp</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsClearTemplatesCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyBhbGwgY29tcGlsZWQgdGVtcGxhdGVzIGZyb20gQWRtaW4gQ29uc29sZSBhbmQgRnJvbnQtZW5kIHRoZW1lcy48L2xpPg0KICA8bGk+UmVjb21tZW5kZWQgZm9yIHRoZSBtYWludGVuYW5jZSBwdXJwb3Nlcywgc2luY2UgZG9lcyBub3QgcHJvdmlkZSBhbnkgYWR2YW50YWdlcyBleGNlcHQgZm9yIHRlbXBvcmFyeSBsb3dlcmluZyB1c2FnZSBvZiB0aGUgZGlzayBzcGFjZS4gQWxsIHRlbXBsYXRlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVjb21waWxlZCBhdCB0aGUgdGltZSBvZiB2aXNpdC48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsDatabaseCache" Module="Core" Type="1">ZGF0YWJhc2UgY2FjaGU=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsKeyName" Module="Core" Type="1">PHVsPg0KICA8bGk+TmFtZSBvZiB0aGUgS2V5IHVzZWQgdG8gZ2V0IG9yIHNldCB0aGUgZGF0YSAodmFsdWUpIGluIHRoZSBtZW1vcnkgY2FjaGUgKDxzdHJvbmc+PGk+a0FwcGxpY2F0aW9uOjpzZXRDYWNoZTwvaT48L3N0cm9uZz4gYW5kIDxzdHJvbmc+PGk+a0FwcGxpY2F0aW9uOjpnZXRDYWNoZTwvaT48L3N0cm9uZz4gbWV0aG9kcykuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsKeyValue" Module="Core" Type="1">Q3VycmVudCB2YWx1ZSBvciBhIG5ldyB2YWx1ZSAoZm9yIHNldHRpbmcpIG9mIHRoZSBrZXkgbmFtZSBzcGVjaWZpZWQgYWJvdmUu</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsLocateUnitConfigFile" Module="Core" Type="1">PHVsPg0KICA8bGk+U2hvd3MgdGhlIGxvY2F0aW9uIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGUsIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gPHN0cm9uZz48aT5Vbml0IENvbmZpZyBQcmVmaXg8L2k+PC9zdHJvbmc+IChpZS4gImFkbSIsICJ1IiwgImxhbmciIGFuZCBvdGhlcnMpLjwvbGk+DQo8L3VsPg==</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsMemoryCache" Module="Core" Type="1">bWVtb3J5IGNhY2hl</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRebuildMultilingualFields" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgYW5kIGFkZHMgbWlzc2luZyBkYXRhYmFzZSB0YWJsZSBjb2x1bW5zIChmb3JtYXQgPHN0cm9uZz48aT4ibCZsdDtOJmd0O19GaWVsZE5hbWUiPC9pPjwvc3Ryb25nPiwgd2hlcmUgTiBpcyBhIExhbmd1YWdlSWQpIHRvIHN0b3JlIHRoZSBkYXRhIGZvciB0cmFuc2xhdGFibGUgZmllbGRzLiBUaGlzIGFjdGlvbiBpcyBwZXJmb3JtZWQgYXV0b21hdGljYWxseSB3aGVuZXZlciBhIG5ldyBMYW5ndWFnZSBpcyBjcmVhdGVkIHZpYSBBZG1pbiBDb25zb2xlLjwvbGk+DQogIDxsaT5Vc2UgdGhpcyAiUmVidWlsZCIgb3B0aW9uIG9ubHkgZm9yIHN5bmNocm9uaXphdGlvbiBvZiBkYXRhYmFzZSB0YWJsZSBjb2x1bW5zIHdpdGggbmV3bHkgYWRkZWQgbXVsdGlsaW5ndWFsIGZpZWxkcyAoa011bHRpTGFuZ3VhZ2UgZm9ybWF0dGVyKSBkZWZpbmVkIHRocm91Z2ggPHN0cm9uZz48aT5Vbml0IENvbmZpZzwvaT48L3N0cm9uZz4gZmlsZXMuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRecompileTemplates" Module="Core" Type="1">PHVsPg0KICA8bGk+Q29tcGxldGVseSByZWNvbXBpbGVzIHRoZSB0ZW1wbGF0ZXMgZm9yIGFsbCBlbmFibGVkIEZyb250LWVuZCB0aGVtZXMgYXMgd2VsbCBhcyBBZG1pbiBDb25zb2xlIHRlbXBsYXRlcyBmb3IgYWxsIGxvYWRlZCBtb2R1bGVzLjwvbGk+DQogIDxsaT5BZGRpdGlvbmFsbHksIGNoZWNrcyBmb3IgdGhlIHN5bnRheCBvZiBhbGwgPHN0cm9uZz48aT4mbHQ7aW5wMjouLi4vJmd0OzwvaT48L3N0cm9uZz4gdGFncyBhY3Jvc3MgdGhlIEluLVBvcnRhbCBpbnN0YWxsYXRpb24uPC9saT4NCiAgPGxpPlRoaXMgYWN0aW9uIGlzIG5ldmVyIHBlcmZvcm1lZCBhdXRvbWF0aWNhbGx5LiBIb3dldmVyLCBhbGwgbmV3bHkgbW9kaWZpZWQgdGVtcGxhdGVzIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWNvbXBpbGVkIGJ5IHRoZSBzeXN0ZW0gYXQgdGhlIHRpbWUgb2YgdmlzaXQuPC9saT4NCjwvdWw+</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsRefreshThemeFiles" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgZm9yIG5ld2x5IGFkZGVkIEZyb250LWVuZCBUaGVtZSB0ZW1wbGF0ZXMgYWNyb3NzIGFsbCA8c3Ryb25nPjxpPmVuYWJsZWQ8L2k+PC9zdHJvbmc+IHRoZW1lcy4gVGhpcyBhY3Rpb24gaXMgcGVyZm9ybWVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG5ldyB0aGVtZSBpcyBhZGRlZCBvciBleGlzdGluZyB0aGVtZSBpcyBlbmFibGVkLjwvbGk+DQogIDxsaT5BZGRpdGlvbmFsbHksIGRlbGV0ZXMgYWxsIGNvbXByZXNzZWQgYW5kIGNhY2hlZCBKYXZhc2NyaXB0L0NTUyBmaWxlcyAoLmpzIC5jc3MpIGxvYWRlZCB1c2luZyA8c3Ryb25nPjxpPiZsdDtpbnAyOm1fQ29tcHJlc3MgLi4uLyZndDs8L2k+PC9zdHJvbmc+IHRhZy48L2xpPg0KICA8bGk+VGhpcyBmdW5jdGlvbiBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhICJSZWZyZXNoIiBidXR0b24gaW4gdGhlIFRoZW1lcyBzZWN0aW9uIHRvb2xiYXIgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KICA8bGk+VGhpcyBvcHRpb24gc2hvdWxkIGJlIHVzZWQgaW4gY2FzZSB3aGVuICI0MDQgTm90IEZvdW5kIiBwYWdlIGlzIHNob3duIGluc3RlYWQgb2YgZXhwZWN0ZWQgbmV3bHkgYWRkZWQgcGFnZSBvciB0ZW1wbGF0ZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetAdminConsoleSections" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIHRoZSBjYWNoZSBvZiBBZG1pbiBDb25zb2xlIHNlY3Rpb25zIChsZWZ0IG1lbnUpLiBUaGUgZGVmaW5pdGlvbnMgb2Ygc2VjdGlvbnMgYXJlIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5Vc2UgdGhpcyByZXNldCBvcHRpb24gaWYgYSBuZXdseSBhZGRlZCBzZWN0aW9uIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBsZWZ0IEFkbWluIENvbnNvbGUgbWVudS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetAllKeys" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIDxzdHJvbmc+PGk+QWxsIERhdGE8L2k+PC9zdHJvbmc+IHN0b3JlZCBpbiB0aGUgTWVtb3J5IENhY2hlLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIFN5c3RlbSBEYXRhIGFuZCBEYXRhYmFzZSBJdGVtcy48L2xpPg0KICA8bGk+VXNlIHdpdGggY2F1dGlvbiBkdWUgdG8gcG9zc2liaWxpdHkgb2YgbG9uZyBleGVjdXRpb24gdGltZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetConfigsAndParsedData" Module="Core" Type="1">PHVsPg0KICA8bGk+U2NhbnMgPHN0cm9uZz48aT4iY29yZSI8L2k+PC9zdHJvbmc+IGFuZCA8c3Ryb25nPjxpPiJtb2R1bGVzIjwvaT48L3N0cm9uZz4gZm9sZGVycyB0byBjYWNoZSB0aGUgbG9jYXRpb24gb2YgYWxsIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzLiBUaGUgZXhlY3V0aW9uIHRpbWUgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIGZvdW5kLjwvbGk+DQogIDxsaT5SZXNldHMgdmFyaW91cyBjYWNoZWQgc3lzdGVtIGRhdGEgc3VjaCBhcyBkZWZpbmVkIFBIUCBDbGFzc2VzIChtYXBwaW5nIGJldHdlZW4gdGhlIGNsYXNzIG5hbWUgYW5kIHBoeXNpY2FsIGZpbGVuYW1lIGFuZCBsb2NhdGlvbiBvZiB0aGUgY2xhc3MpLCBIb29rcywgQWdlbnRzLCBDYWNoZWQgQ29uZmlndXJhdGlvbiBWYXJpYWJsZXMsIFJlcGxhY2VtZW50IFRlbXBsYXRlcywgUmV3cml0ZSBMaXN0ZW5lcnMgYW5kIExvYWRlZCBNb2R1bGVzLiBEYXRhIGlzIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5EZWxldGVzIGNvbXBpbGVkIHNraW5zIGZvciBBZG1pbiBDb25zb2xlIChjc3MgZmlsZXMpLjwvbGk+DQo8L3VsPg==</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetModRewriteCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBGcm9udC1lbmQgVVJMcyBhbmQgYWN0dWFsIFRoZW1lIFRlbXBsYXRlcy4gVGhpcyBtYXBwaW5nIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBTdHJ1Y3R1cmUgb3IgU2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgTW9kUmV3cml0ZSBtb2RlIGlzIGVuYWJsZWQgYW5kIGRpc3BsYXllZCBwYWdlIGRpZmZlcnMgZnJvbSB0aGUgcGFnZSB0aGF0IGl0IHNob3VsZCBiZSwgd2hlbiBnaXZlbiBVUkwgaXMgdmlzaXRlZC48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetParsedCachedData" Module="Core" Type="1">PHVsPg0KICA8bGk+UmVzZXRzIHZhcmlvdXMgY2FjaGVkIHN5c3RlbSBkYXRhIHN1Y2ggYXMgZGVmaW5lZCBQSFAgQ2xhc3NlcyAobWFwcGluZyBiZXR3ZWVuIHRoZSBjbGFzcyBuYW1lIGFuZCBwaHlzaWNhbCBmaWxlbmFtZSBhbmQgbG9jYXRpb24gb2YgdGhlIGNsYXNzKSwgSG9va3MsIEFnZW50cywgQ2FjaGVkIENvbmZpZ3VyYXRpb24gVmFyaWFibGVzLCBSZXBsYWNlbWVudCBUZW1wbGF0ZXMsIFJld3JpdGUgTGlzdGVuZXJzIGFuZCBMb2FkZWQgTW9kdWxlcy4gRGF0YSBpcyByZWFkIGFuZCBjb2xsZWN0ZWQgZnJvbSA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnPC9pPjwvc3Ryb25nPiBmaWxlcyB0aGF0IGFscmVhZHkgYmVlbiBzY2FubmVkIGFuZCBjYWNoZWQgYnkgdGhlIHN5c3RlbS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsResetSMSMenuCache" Module="Core" Type="1">PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgRnJvbnQtZW5kIG1lbnUgKGRpc3BsYXllZCB2aWEgPHN0cm9uZz48aT4mbHQ7aW5wMjpzdF9DYWNoZWRNZW51IC4uLi8mZ3Q7PC9pPjwvc3Ryb25nPiB0YWcpLiBUaGlzIGNhY2hlIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBzdHJ1Y3R1cmUgb3Igc2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgZGlzcGxheWVkIG1lbnUgb24gdGhlIEZyb250LWVuZCBkb2Vzbid0IG1hdGNoIHRoZSBtZW51IGRlZmluZWQgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KPC91bD4=</PHRASE>
+ <PHRASE Label="la_hint_SystemToolsShowDatabaseTableStructure" Module="Core" Type="1">PHVsPg0KICA8bGk+U2hvd3MgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZGF0YWJhc2UgdGFibGUgbG9hZGluZyBpdCBieSB0aGUgVGFibGUgTmFtZSAodGFibGUgcHJlZml4IGlzIG9wdGlvbmFsKSBvciA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnIFByZWZpeDwvaT48L3N0cm9uZz4gYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFibGUuPC9saT4NCjwvdWw+</PHRASE>
<PHRASE Label="la_hint_UsingRegularExpression" Module="Core" Type="1">VXNpbmcgUmVndWxhciBFeHByZXNzaW9u</PHRASE>
<PHRASE Label="la_Hot" Module="Core" Type="1">SG90</PHRASE>
<PHRASE Label="la_Html" Module="Core" Type="1">SFRNTA==</PHRASE>
@@ -1007,6 +1034,7 @@
<PHRASE Label="la_section_Counters" Module="Core" Type="1">Q291bnRlcnM=</PHRASE>
<PHRASE Label="la_section_CustomFields" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_section_Data" Module="Core" Type="1">U3VibWlzc2lvbiBEYXRh</PHRASE>
+ <PHRASE Label="la_section_FrontEnd" Module="Core" Type="1">RnJvbnQtZW5k</PHRASE>
<PHRASE Label="la_section_FullSizeImage" Module="Core" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
<PHRASE Label="la_section_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_section_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
@@ -1176,6 +1204,7 @@
<PHRASE Label="la_Text_None" Module="Core" Type="1">Tm9uZQ==</PHRASE>
<PHRASE Label="la_text_NoPermission" Module="Core" Type="1">Tm8gUGVybWlzc2lvbg==</PHRASE>
<PHRASE Label="la_Text_Not_Validated" Module="Core" Type="2">Tm90IFZhbGlkYXRlZA==</PHRASE>
+ <PHRASE Label="la_text_Or" Module="Core" Type="1">b3I=</PHRASE>
<PHRASE Label="la_Text_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_Text_Pop" Module="Core" Type="1">UG9wdWxhcg==</PHRASE>
<PHRASE Label="la_text_popularity" Module="Core" Type="1">UG9wdWxhcml0eQ==</PHRASE>
@@ -1335,6 +1364,21 @@
<PHRASE Label="la_title_Structure" Module="Core" Type="1">U3RydWN0dXJlICYgRGF0YQ==</PHRASE>
<PHRASE Label="la_title_Stylesheets" Module="Core" Type="1">U3R5bGVzaGVldHM=</PHRASE>
<PHRASE Label="la_title_SystemTools" Module="Core" Type="1">U3lzdGVtIFRvb2xz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsClearTemplatesCache" Module="Core" Type="1">Q2xlYXIgVGVtcGxhdGVzIENhY2hl</PHRASE>
+ <PHRASE Label="la_title_SystemToolsCommonlyUsedKeys" Module="Core" Type="1">Q29tbW9ubHkgVXNlZCBLZXlz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsKeyName" Module="Core" Type="1">S2V5IE5hbWU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsKeyValue" Module="Core" Type="1">S2V5IFZhbHVl</PHRASE>
+ <PHRASE Label="la_title_SystemToolsLocateUnitConfigFile" Module="Core" Type="1">TG9jYXRlIFVuaXQgQ29uZmlnIEZpbGU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRebuildMultilingualFields" Module="Core" Type="1">UmVidWlsZCBNdWx0aWxpbmd1YWwgRmllbGRz</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRecompileTemplates" Module="Core" Type="1">UmVjb21waWxlIFRlbXBsYXRlcw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsRefreshThemeFiles" Module="Core" Type="1">UmVmcmVzaCBUaGVtZSBGaWxlcw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetAdminConsoleSections" Module="Core" Type="1">UmVzZXQgQWRtaW4gQ29uc29sZSBTZWN0aW9ucw==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetAllKeys" Module="Core" Type="1">UmVzZXQgQWxsIEtleXM=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetConfigsAndParsedData" Module="Core" Type="1">UmVzZXQgQ29uZmlncyBGaWxlcyBDYWNoZSBhbmQgUGFyc2VkIFN5c3RlbSBEYXRh</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetModRewriteCache" Module="Core" Type="1">UmVzZXQgTW9kUmV3cml0ZSBDYWNoZQ==</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetParsedCachedData" Module="Core" Type="1">UmVzZXQgUGFyc2VkIGFuZCBDYWNoZWQgU3lzdGVtIERhdGE=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsResetSMSMenuCache" Module="Core" Type="1">UmVzZXQgU01TIE1lbnUgQ2FjaGU=</PHRASE>
+ <PHRASE Label="la_title_SystemToolsShowDatabaseTableStructure" Module="Core" Type="1">U2hvdyBEYXRhYmFzZSBUYWJsZSBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_title_ThemeFiles" Module="Core" Type="1">VGhlbWUgRmlsZXM=</PHRASE>
<PHRASE Label="la_title_Thesaurus" Module="Core" Type="1">VGhlc2F1cnVz</PHRASE>
<PHRASE Label="la_title_UpdatingCategories" Module="Core" Type="1">VXBkYXRpbmcgU2VjdGlvbnM=</PHRASE>
Index: install/install_data.sql
===================================================================
--- install/install_data.sql (revision 13936)
+++ install/install_data.sql (working copy)
@@ -672,7 +672,7 @@
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:skins.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:skins.delete', 11, 1, 1, 0);
-INSERT INTO Skins VALUES (DEFAULT, 'Default', '/* General elements */\r\n\r\nhtml {\r\n height: 100%;\r\n}\r\n\r\nbody {\r\n font-family: verdana,arial,helvetica,sans-serif;\r\n color: #000000;\r\n overflow-x: auto; overflow-y: auto;\r\n margin: 0px 0px 0px 0px;\r\n text-decoration: none;\r\n}\r\n\r\nbody, td {\r\n /* fix for Firefox, when font-size was not inherited in table cells */\r\n font-size: 9pt;\r\n}\r\n\r\na {\r\n color: #006699;\r\n text-decoration: none;\r\n}\r\n\r\na:hover {\r\n color: #009ff0;\r\n text-decoration: none;\r\n}\r\n\r\nform {\r\n display: inline;\r\n}\r\n\r\nimg { border: 0px; }\r\n\r\nbody.height-100 {\r\n height: 100%;\r\n}\r\n\r\nbody.regular-body {\r\n margin: 0px 10px 5px 10px;\r\n color: #000000;\r\n background-color: @@SectionBgColor@@;\r\n}\r\n\r\nbody.edit-popup {\r\n margin: 0px 0px 0px 0px;\r\n}\r\n\r\ntable.collapsed {\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered, table.bordered, .bordered-no-bottom {\r\n border: 1px solid #000000;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered-no-bottom {\r\n border-top-width: 1px;\r\n border-bottom: none;\r\n}\r\n\r\n.login-table td {\r\n padding: 1px;\r\n}\r\n\r\n.disabled {\r\n background-color: #ebebeb;\r\n}\r\n\r\n/* Head frame */\r\ntable.head-table {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/right_background.png'') top right @@HeadBgColor@@ no-repeat;\r\n}\r\n\r\n.head-table tr td, .head-table tr td a {\r\n color: @@HeadColor@@\r\n}\r\n\r\ndiv#extra_toolbar td.button-active {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_button_background.gif'') bottom left repeat-x;\r\n height: 22px;\r\n}\r\n\r\ndiv#extra_toolbar td.button-active a {\r\n color: black;\r\n text-decoration: none;\r\n}\r\n\r\ntd.kx-block-header, .head-table tr td.kx-block-header{\r\n color: @@HeadBarColor@@;\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_background.gif'') repeat-x top left;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\na.kx-header-link {\r\n text-decoration: underline;\r\n font-weight: bold;\r\n color: #0080C8;\r\n}\r\n\r\na.kx-header-link:hover {\r\n color: #FFCB05;\r\n text-decoration: none;\r\n}\r\n\r\n.kx-secondary-foreground {\r\n color: #FFFFFF;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n}\r\n\r\n.kx-login-button {\r\n background-color: #2D79D6;\r\n color: #FFFFFF;\r\n}\r\n\r\n/* General form button (yellow) */\r\n.button {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #000000;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Disabled (grayed-out) form button */\r\n.button-disabled {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #676767;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back_disabled.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Tabs bar */\r\n\r\n.tab, .tab-active {\r\n background-color: #F0F1EB;\r\n padding: 3px 7px 2px 7px;\r\n border-top: 1px solid black;\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n margin-left: 3px !important;\r\n white-space: nowrap;\r\n}\r\n\r\n.tab-active {\r\n background-color: #4487D9;\r\n}\r\n\r\n.tab a {\r\n color: #4487D9;\r\n font-weight: bold;\r\n}\r\n\r\n.tab-active a {\r\n color: #FFFFFF;\r\n font-weight: bold;\r\n}\r\n\r\na.scroll-left, a.scroll-right {\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n height: 18px;\r\n margin: 0px 1px;\r\n width: 18px;\r\n}\r\n\r\na.scroll-left {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/left.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.scroll-right {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/right.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.disabled {\r\n visibility: hidden !important;\r\n}\r\n\r\na.scroll-left:hover, a.scroll-right:hover {\r\n background-position: 0 -18px;\r\n}\r\n\r\ntd.scroll-right-container {\r\n width: 20px;\r\n}\r\n\r\ntd.scroll-right-container.disabled, td.scroll-right-container.disabled * {\r\n width: 0px;\r\n margin: 0px;\r\n}\r\n\r\ntd.scroll-right-container.disabled br {\r\n display: none;\r\n}\r\n\r\n/* Toolbar */\r\n\r\n.toolbar {\r\n font-size: 8pt;\r\n border: 1px solid #000000;\r\n border-width: 0px 1px 1px 1px;\r\n background-color: @@ToolbarBgColor@@;\r\n border-collapse: collapse;\r\n}\r\n\r\n.toolbar td {\r\n height: 100%;\r\n}\r\n\r\n.toolbar-button, .toolbar-button-disabled, .toolbar-button-over {\r\n float: left;\r\n text-align: center;\r\n font-size: 8pt;\r\n padding: 5px 5px 5px 5px;\r\n vertical-align: middle;\r\n color: #006F99;\r\n}\r\n\r\n.toolbar-button-over {\r\n color: #000;\r\n}\r\n\r\n.toolbar-button-disabled {\r\n color: #444;\r\n}\r\n\r\n/* Scrollable Grids */\r\n\r\n\r\n.layout-only-table td {\r\n border: none !important;\r\n}\r\n\r\n/* Main Grid class */\r\n.grid-scrollable {\r\n padding: 0px;\r\n border: 1px solid black !important;\r\n border-top: none !important;\r\n}\r\n\r\n/* Div generated by js, which contains all the scrollable grid elements, affects the style of scrollable area without data (if there are too few rows) */\r\n.grid-container {\r\n background-color: #fff;\r\n}\r\n\r\n.grid-container table {\r\n border-collapse: collapse;\r\n}\r\n\r\n/* Inner div generated in each data-cell */\r\n.grid-cell-div {\r\n overflow: hidden;\r\n height: auto;\r\n}\r\n\r\n/* Main row definition */\r\n.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {\r\n font-weight: normal;\r\n color: @@OddColor@@;\r\n background-color: @@OddBgColor@@;\r\n padding: 3px 5px 3px 5px;\r\n overflow: hidden;\r\n border-right: 1px solid #c9c9c9;\r\n}\r\n.grid-data-row-even td, .table-color2 {\r\n background-color: @@EvenBgColor@@;\r\n color: @@EvenColor@@;\r\n}\r\n.grid-data-row td a, .grid-data-row-selected td a, .grid-data-row-mouseover td a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* mouse-over rows */\r\n.grid-data-row-mouseover td, table tr.grid-data-row[_row_highlighted] td {\r\n background: #FFFDF4;\r\n}\r\n\r\n/* Selected row, applies to both checkbox and data areas */\r\n.grid-data-row-selected td, table tr.grid-data-row[_row_selected] td {\r\n background: #FEF2D6;\r\n}\r\n\r\n.grid-data-row-even-selected td, .grid-data-row-even[_row_selected] td {\r\n background: #FFF7E0;\r\n}\r\n\r\n/* General header cell definition */\r\n.grid-header-row td {\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n text-decoration: none;\r\n padding: 3px 5px 3px 5px;\r\n color: @@ColumnTitlesColor@@;\r\n border-right: none;\r\n text-align: left;\r\n vertical-align: middle !important;\r\n white-space: nowrap;\r\n border-right: 1px solid #777;\r\n}\r\n\r\n/* Filters row */\r\ntr.grid-header-row-1 td {\r\n background-color: @@FiltersBgColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n/* Grid Filters */\r\ntable.range-filter {\r\n width: 100%;\r\n}\r\n\r\n.range-filter td {\r\n padding: 0px 0px 2px 2px !important;\r\n border: none !important;\r\n font-size: 8pt !important;\r\n font-weight: normal !important;\r\n text-align: left;\r\n color: #000000 !important;\r\n}\r\n\r\ninput.filter, select.filter, input.filter-active, select.filter-active {\r\n margin-bottom: 0px;\r\n border: 1px solid #aaa;\r\n}\r\n\r\ninput.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\nselect.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\n/* Column titles row */\r\ntr.grid-header-row-0 td {\r\n height: 25px;\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n color: @@ColumnTitlesColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\ntr.grid-header-row-0 td a {\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-0 td a:hover {\r\n color: #FFCC00;\r\n}\r\n\r\n\r\n.grid-footer-row td {\r\n background-color: #D7D7D7;\r\n font-weight: bold;\r\n border-right: 1px solid #C9C9C9;\r\n padding: 3px 5px 3px 5px;\r\n}\r\n\r\ntd.grid-header-last-cell, td.grid-data-last-cell, td.grid-footer-last-cell {\r\n border-right: none !important;\r\n}\r\n\r\ntd.grid-data-col-0, td.grid-data-col-0 div {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 div {\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n\r\n.grid-status-bar {\r\n border: 1px solid black;\r\n border-top: none;\r\n padding: 0px;\r\n width: 100%;\r\n border-collapse: collapse;\r\n height: 30px;\r\n}\r\n\r\n.grid-status-bar td {\r\n background-color: @@TitleBarBgColor@@;\r\n color: @@TitleBarColor@@;\r\n font-size: 11pt;\r\n font-weight: normal;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n\r\n/* /Scrollable Grids */\r\n\r\n\r\n/* Forms */\r\ntable.edit-form {\r\n border: none;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n width: 100%;\r\n}\r\n\r\n.edit-form-odd, .edit-form-even {\r\n padding: 0px;\r\n}\r\n\r\n.subsectiontitle {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #4A92CE;\r\n color: #fff;\r\n height: 25px;\r\n border-top: 1px solid black;\r\n vertical-align: middle;\r\n}\r\n\r\n/* remove top-border from first sub-section element */\r\ntable.edit-form .subsectiontitle:first-child, table.bordered .subsectiontitle:first-child {\r\n border-top-width: 0;\r\n}\r\n\r\n.subsectiontitle td {\r\n vertical-align: middle;\r\n /*padding: 3px 5px 3px 5px;*/\r\n padding: 1px 5px;\r\n}\r\n\r\n.label-cell {\r\n background: #DEE7F6 url(''@@base_url@@/core/admin_templates/img/bgr_input_name_line.gif'') no-repeat right bottom;\r\n font: 12px arial, sans-serif;\r\n padding: 4px 20px;\r\n width: 160px;\r\n}\r\n\r\n.control-mid {\r\n width: 13px;\r\n border-left: 1px solid #7A95C2;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_mid.gif'') repeat-x left bottom;\r\n}\r\n\r\n.control-cell {\r\n font: 11px arial, sans-serif;\r\n padding: 4px 10px 5px 5px;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_input_line.gif'') no-repeat left bottom;\r\n width: auto;\r\n vertical-align: middle;\r\n}\r\n\r\n.label-cell-filler {\r\n background: #DEE7F6 none;\r\n}\r\n.control-mid-filler {\r\n background: #fff none;\r\n border-left: 1px solid #7A95C2;\r\n}\r\n.control-cell-filler {\r\n background: #fff none;\r\n}\r\n\r\n.error {\r\n color: red;\r\n}\r\n.error-cell {\r\n color: red;\r\n}\r\n\r\n.field-required {\r\n color: red;\r\n}\r\n\r\n.warning-table {\r\n background-color: #F0F1EB;\r\n border: 1px solid #000000;\r\n border-collapse: collapse;\r\n border-top-width: 0px;\r\n}\r\n\r\n.form-warning {\r\n color: red;\r\n font-size: 11px;\r\n}\r\n\r\n.priority {\r\n color: red;\r\n padding-left: 1px;\r\n padding-right: 1px;\r\n font-size: 11px;\r\n}\r\n\r\n.small-statistics {\r\n font-size: 11px;\r\n color: #707070;\r\n}\r\n\r\n.req-note {\r\n font-style: italic;\r\n color: #333;\r\n}\r\n\r\n#scroll_container table.tableborder {\r\n border-collapse: separate\r\n}\r\n\r\n/* Uploader */\r\n.uploader-queue div.file {\r\n font-size: 11px;\r\n border: 1px solid #7F99C5;\r\n padding: 3px;\r\n background-color: #DEE7F6;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.uploader-queue .left {\r\n float: left;\r\n vertical-align: top;\r\n}\r\n\r\n.uploader-queue .file-label {\r\n margin-left: 5px;\r\n}\r\n\r\n.uploader-queue .preview .delete-checkbox {\r\n margin-top: -3px;\r\n}\r\n\r\n.uploader-queue .progress-container {\r\n margin: 2px 5px 0px 5px;\r\n}\r\n\r\n.uploader-queue .progress-empty {\r\n width: 150px;\r\n height: 9px;\r\n border: 1px solid black;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_left.gif'') repeat-x;\r\n}\r\n\r\n.uploader-queue .progress-full {\r\n height: 9px;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_done.gif'');\r\n}\r\n\r\n.uploader-queue .thumbnail {\r\n /*margin-bottom: 2px;*/\r\n border: 1px solid black;\r\n background-color: grey;\r\n}\r\n\r\n/* To be sorted */\r\nspan#category_path, span#category_path a {\r\n color: #FFFFFF;\r\n}\r\n\r\nspan#category_path a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* Section title, right to the big icon */\r\n.admintitle {\r\n font-size: 16pt;\r\n font-weight: bold;\r\n color: @@SectionColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Left side of bluebar */\r\n.header_left_bg {\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n padding-left: 5px;\r\n}\r\n\r\n/* Right side of bluebar */\r\n.tablenav, tablenav a {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n\r\n text-decoration: none;\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n}\r\n\r\n/* Section title in the bluebar * -- why ''link''? :S */\r\n.tablenav_link {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Active page in top and bottom bluebars pagination */\r\n.current_page {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #fff;\r\n color: #2D79D6;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Other pages and arrows in pagination on blue */\r\n.nav_url {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n color: #fff;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Tree */\r\n.tree-body {\r\n background-color: @@TreeBgColor@@;\r\n height: 100%\r\n}\r\n\r\n.tree_head.td, .tree_head, .tree_head:hover {\r\n font-weight: bold;\r\n font-size: 10px;\r\n color: #FFFFFF;\r\n font-family: Verdana, Arial;\r\n text-decoration: none;\r\n}\r\n\r\n.tree {\r\n padding: 0px;\r\n border: none;\r\n border-collapse: collapse;\r\n}\r\n\r\n.tree tr td {\r\n padding: 0px;\r\n margin: 0px;\r\n font-family: helvetica, arial, verdana,;\r\n font-size: 11px;\r\n white-space: nowrap;\r\n}\r\n\r\n.tree tr td a {\r\n font-size: 11px;\r\n color: @@TreeColor@@;\r\n font-family: Helvetica, Arial, Verdana;\r\n text-decoration: none;\r\n padding: 2px;\r\n}\r\n\r\n.tree tr td a:hover, .tree tr td a.debug-only-item:hover {\r\n color: @@TreeHoverColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a, .tree tr.highlighted td a.debug-only-item {\r\n color: @@TreeHighColor@@;\r\n background-color: @@TreeHighBgColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a:hover {\r\n color: @@TreeHighHoverColor@@;\r\n}\r\n\r\n.tree tr td a.debug-only-item {\r\n color: grey;\r\n}\r\n\r\n/* Ajax Dropdown */\r\n.suggest-box {\r\n border: 1px solid #999;\r\n background-color: #fff;\r\n}\r\n\r\n.suggest-item, .suggest-item-over {\r\n padding: 1px 2px 0px 2px;\r\n font-family: arial,verdana;\r\n font-size: 12px;\r\n}\r\n\r\n.suggest-item-over {\r\n background-color: #3366CC;\r\n color: #fff;\r\n}', 'in-portal_logo_img.jpg', 'in-portal_logo_img2.jpg', 'in-portal_logo_login.gif', 'a:22:{s:11:"HeadBgColor";a:2:{s:11:"Description";s:27:"Head frame background color";s:5:"Value";s:7:"#007BF4";}s:9:"HeadColor";a:2:{s:11:"Description";s:21:"Head frame text color";s:5:"Value";s:7:"#FFFFFF";}s:14:"SectionBgColor";a:2:{s:11:"Description";s:28:"Section bar background color";s:5:"Value";s:7:"#FFFFFF";}s:12:"SectionColor";a:2:{s:11:"Description";s:22:"Section bar text color";s:5:"Value";s:7:"#2D79D6";}s:12:"HeadBarColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"HeadBarBgColor";a:1:{s:5:"Value";s:7:"#1961B8";}s:13:"TitleBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TitleBarBgColor";a:1:{s:5:"Value";s:7:"#2D79D6";}s:14:"ToolbarBgColor";a:1:{s:5:"Value";s:7:"#F0F1EB";}s:14:"FiltersBgColor";a:1:{s:5:"Value";s:7:"#D7D7D7";}s:17:"ColumnTitlesColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:19:"ColumnTitlesBgColor";a:1:{s:5:"Value";s:7:"#999999";}s:8:"OddColor";a:1:{s:5:"Value";s:7:"#000000";}s:10:"OddBgColor";a:1:{s:5:"Value";s:7:"#F6F6F6";}s:9:"EvenColor";a:1:{s:5:"Value";s:7:"#000000";}s:11:"EvenBgColor";a:1:{s:5:"Value";s:7:"#EBEBEB";}s:9:"TreeColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"TreeHoverColor";a:1:{s:5:"Value";s:7:"#009FF0";}s:13:"TreeHighColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:18:"TreeHighHoverColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TreeHighBgColor";a:1:{s:5:"Value";s:7:"#4A92CE";}s:11:"TreeBgColor";a:1:{s:5:"Value";s:7:"#DCECF6";}}', 1283081767, 1);
+INSERT INTO Skins VALUES (DEFAULT, 'Default', '/* General elements */\r\n\r\nhtml {\r\n height: 100%;\r\n}\r\n\r\nbody {\r\n font-family: verdana,arial,helvetica,sans-serif;\r\n color: #000000;\r\n overflow-x: auto; overflow-y: auto;\r\n margin: 0px 0px 0px 0px;\r\n text-decoration: none;\r\n}\r\n\r\nbody, td {\r\n /* fix for Firefox, when font-size was not inherited in table cells */\r\n font-size: 9pt;\r\n}\r\n\r\na {\r\n color: #006699;\r\n text-decoration: none;\r\n}\r\n\r\na:hover {\r\n color: #009ff0;\r\n text-decoration: none;\r\n}\r\n\r\nform {\r\n display: inline;\r\n}\r\n\r\nimg { border: 0px; }\r\n\r\nbody.height-100 {\r\n height: 100%;\r\n}\r\n\r\nbody.regular-body {\r\n margin: 0px 10px 5px 10px;\r\n color: #000000;\r\n background-color: @@SectionBgColor@@;\r\n}\r\n\r\nbody.edit-popup {\r\n margin: 0px 0px 0px 0px;\r\n}\r\n\r\ntable.collapsed {\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered, table.bordered, .bordered-no-bottom {\r\n border: 1px solid #000000;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered-no-bottom {\r\n border-top-width: 1px;\r\n border-bottom: none;\r\n}\r\n\r\n.login-table td {\r\n padding: 1px;\r\n}\r\n\r\n.disabled {\r\n background-color: #ebebeb;\r\n}\r\n\r\n/* Head frame */\r\ntable.head-table {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/right_background.png'') top right @@HeadBgColor@@ no-repeat;\r\n}\r\n\r\n.head-table tr td, .head-table tr td a {\r\n color: @@HeadColor@@\r\n}\r\n\r\ndiv#extra_toolbar td.button-active {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_button_background.gif'') bottom left repeat-x;\r\n height: 22px;\r\n}\r\n\r\ndiv#extra_toolbar td.button-active a {\r\n color: black;\r\n text-decoration: none;\r\n}\r\n\r\ntd.kx-block-header, .head-table tr td.kx-block-header{\r\n color: @@HeadBarColor@@;\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_background.gif'') repeat-x top left;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\na.kx-header-link {\r\n text-decoration: underline;\r\n font-weight: bold;\r\n color: #0080C8;\r\n}\r\n\r\na.kx-header-link:hover {\r\n color: #FFCB05;\r\n text-decoration: none;\r\n}\r\n\r\n.kx-secondary-foreground {\r\n color: #FFFFFF;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n}\r\n\r\n.kx-login-button {\r\n background-color: #2D79D6;\r\n color: #FFFFFF;\r\n}\r\n\r\n/* General form button (yellow) */\r\n.button {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #000000;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Disabled (grayed-out) form button */\r\n.button-disabled {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #676767;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back_disabled.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Tabs bar */\r\n\r\n.tab, .tab-active {\r\n background-color: #F0F1EB;\r\n padding: 3px 7px 2px 7px;\r\n border-top: 1px solid black;\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n margin-left: 3px !important;\r\n white-space: nowrap;\r\n}\r\n\r\n.tab-active {\r\n background-color: #4487D9;\r\n}\r\n\r\n.tab a {\r\n color: #4487D9;\r\n font-weight: bold;\r\n}\r\n\r\n.tab-active a {\r\n color: #FFFFFF;\r\n font-weight: bold;\r\n}\r\n\r\na.scroll-left, a.scroll-right {\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n height: 18px;\r\n margin: 0px 1px;\r\n width: 18px;\r\n}\r\n\r\na.scroll-left {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/left.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.scroll-right {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/right.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.disabled {\r\n visibility: hidden !important;\r\n}\r\n\r\na.scroll-left:hover, a.scroll-right:hover {\r\n background-position: 0 -18px;\r\n}\r\n\r\ntd.scroll-right-container {\r\n width: 20px;\r\n}\r\n\r\ntd.scroll-right-container.disabled, td.scroll-right-container.disabled * {\r\n width: 0px;\r\n margin: 0px;\r\n}\r\n\r\ntd.scroll-right-container.disabled br {\r\n display: none;\r\n}\r\n\r\n/* Toolbar */\r\n\r\n.toolbar {\r\n font-size: 8pt;\r\n border: 1px solid #000000;\r\n border-width: 0px 1px 1px 1px;\r\n background-color: @@ToolbarBgColor@@;\r\n border-collapse: collapse;\r\n}\r\n\r\n.toolbar td {\r\n height: 100%;\r\n}\r\n\r\n.toolbar-button, .toolbar-button-disabled, .toolbar-button-over {\r\n float: left;\r\n text-align: center;\r\n font-size: 8pt;\r\n padding: 5px 5px 5px 5px;\r\n vertical-align: middle;\r\n color: #006F99;\r\n}\r\n\r\n.toolbar-button-over {\r\n color: #000;\r\n}\r\n\r\n.toolbar-button-disabled {\r\n color: #444;\r\n}\r\n\r\n/* Scrollable Grids */\r\n\r\n\r\n.layout-only-table td {\r\n border: none !important;\r\n}\r\n\r\n/* Main Grid class */\r\n.grid-scrollable {\r\n padding: 0px;\r\n border: 1px solid black !important;\r\n border-top: none !important;\r\n}\r\n\r\n/* Div generated by js, which contains all the scrollable grid elements, affects the style of scrollable area without data (if there are too few rows) */\r\n.grid-container {\r\n background-color: #fff;\r\n}\r\n\r\n.grid-container table {\r\n border-collapse: collapse;\r\n}\r\n\r\n/* Inner div generated in each data-cell */\r\n.grid-cell-div {\r\n overflow: hidden;\r\n height: auto;\r\n}\r\n\r\n/* Main row definition */\r\n.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {\r\n font-weight: normal;\r\n color: @@OddColor@@;\r\n background-color: @@OddBgColor@@;\r\n padding: 3px 5px 3px 5px;\r\n overflow: hidden;\r\n border-right: 1px solid #c9c9c9;\r\n}\r\n.grid-data-row-even td, .table-color2 {\r\n background-color: @@EvenBgColor@@;\r\n color: @@EvenColor@@;\r\n}\r\n.grid-data-row td a, .grid-data-row-selected td a, .grid-data-row-mouseover td a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* mouse-over rows */\r\n.grid-data-row-mouseover td, table tr.grid-data-row[_row_highlighted] td {\r\n background: #FFFDF4;\r\n}\r\n\r\n/* Selected row, applies to both checkbox and data areas */\r\n.grid-data-row-selected td, table tr.grid-data-row[_row_selected] td {\r\n background: #FEF2D6;\r\n}\r\n\r\n.grid-data-row-even-selected td, .grid-data-row-even[_row_selected] td {\r\n background: #FFF7E0;\r\n}\r\n\r\n/* General header cell definition */\r\n.grid-header-row td {\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n text-decoration: none;\r\n padding: 3px 5px 3px 5px;\r\n color: @@ColumnTitlesColor@@;\r\n border-right: none;\r\n text-align: left;\r\n vertical-align: middle !important;\r\n white-space: nowrap;\r\n border-right: 1px solid #777;\r\n}\r\n\r\n/* Filters row */\r\ntr.grid-header-row-1 td {\r\n background-color: @@FiltersBgColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n/* Grid Filters */\r\ntable.range-filter {\r\n width: 100%;\r\n}\r\n\r\n.range-filter td {\r\n padding: 0px 0px 2px 2px !important;\r\n border: none !important;\r\n font-size: 8pt !important;\r\n font-weight: normal !important;\r\n text-align: left;\r\n color: #000000 !important;\r\n}\r\n\r\ninput.filter, select.filter, input.filter-active, select.filter-active {\r\n margin-bottom: 0px;\r\n border: 1px solid #aaa;\r\n}\r\n\r\ninput.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\nselect.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\n/* Column titles row */\r\ntr.grid-header-row-0 td {\r\n height: 25px;\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n color: @@ColumnTitlesColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\ntr.grid-header-row-0 td a {\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-0 td a:hover {\r\n color: #FFCC00;\r\n}\r\n\r\n\r\n.grid-footer-row td {\r\n background-color: #D7D7D7;\r\n font-weight: bold;\r\n border-right: 1px solid #C9C9C9;\r\n padding: 3px 5px 3px 5px;\r\n}\r\n\r\ntd.grid-header-last-cell, td.grid-data-last-cell, td.grid-footer-last-cell {\r\n border-right: none !important;\r\n}\r\n\r\ntd.grid-data-col-0, td.grid-data-col-0 div {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 div {\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n\r\n.grid-status-bar {\r\n border: 1px solid black;\r\n border-top: none;\r\n padding: 0px;\r\n width: 100%;\r\n border-collapse: collapse;\r\n height: 30px;\r\n}\r\n\r\n.grid-status-bar td {\r\n background-color: @@TitleBarBgColor@@;\r\n color: @@TitleBarColor@@;\r\n font-size: 11pt;\r\n font-weight: normal;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n\r\n/* /Scrollable Grids */\r\n\r\n\r\n/* Forms */\r\ntable.edit-form {\r\n border: none;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n width: 100%;\r\n}\r\n\r\n.edit-form-odd, .edit-form-even {\r\n padding: 0px;\r\n}\r\n\r\n.subsectiontitle {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #4A92CE;\r\n color: #fff;\r\n height: 25px;\r\n border-top: 1px solid black;\r\n vertical-align: middle;\r\n}\r\n\r\n/* remove top-border from first sub-section element */\r\ntable.edit-form .subsectiontitle:first-child, table.bordered .subsectiontitle:first-child {\r\n border-top-width: 0;\r\n}\r\n\r\n.subsectiontitle td {\r\n vertical-align: middle;\r\n /*padding: 3px 5px 3px 5px;*/\r\n padding: 1px 5px;\r\n}\r\n\r\n.label-cell {\r\n background: #DEE7F6 url(''@@base_url@@/core/admin_templates/img/bgr_input_name_line.gif'') no-repeat right bottom;\r\n font: 12px arial, sans-serif;\r\n padding: 4px 20px;\r\n width: 160px;\r\n}\r\n\r\n.control-mid {\r\n width: 13px;\r\n border-left: 1px solid #7A95C2;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_mid.gif'') repeat-x left bottom;\r\n}\r\n\r\n.control-cell {\r\n font: 11px arial, sans-serif;\r\n padding: 4px 10px 5px 5px;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_input_line.gif'') no-repeat left bottom;\r\n width: auto;\r\n vertical-align: middle;\r\n}\r\n\r\n.label-cell-filler {\r\n background: #DEE7F6 none;\r\n}\r\n.control-mid-filler {\r\n background: #fff none;\r\n border-left: 1px solid #7A95C2;\r\n}\r\n.control-cell-filler {\r\n background: #fff none;\r\n}\r\n\r\n.error {\r\n color: red;\r\n}\r\n.error-cell {\r\n color: red;\r\n}\r\n\r\n.field-required {\r\n color: red;\r\n}\r\n\r\n.warning-table {\r\n background-color: #F0F1EB;\r\n border: 1px solid #000000;\r\n border-collapse: collapse;\r\n border-top-width: 0px;\r\n}\r\n\r\n.form-warning {\r\n color: red;\r\n font-size: 11px;\r\n}\r\n\r\n.priority {\r\n color: red;\r\n padding-left: 1px;\r\n padding-right: 1px;\r\n font-size: 11px;\r\n}\r\n\r\n.small-statistics {\r\n font-size: 11px;\r\n color: #707070;\r\n}\r\n\r\n.req-note {\r\n font-style: italic;\r\n color: #333;\r\n}\r\n\r\n#scroll_container table.tableborder {\r\n border-collapse: separate\r\n}\r\n\r\n/* Uploader */\r\n.uploader-queue div.file {\r\n font-size: 11px;\r\n border: 1px solid #7F99C5;\r\n padding: 3px;\r\n background-color: #DEE7F6;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.uploader-queue .left {\r\n float: left;\r\n vertical-align: top;\r\n}\r\n\r\n.uploader-queue .file-label {\r\n margin-left: 5px;\r\n}\r\n\r\n.uploader-queue .preview .delete-checkbox {\r\n margin-top: -3px;\r\n}\r\n\r\n.uploader-queue .progress-container {\r\n margin: 2px 5px 0px 5px;\r\n}\r\n\r\n.uploader-queue .progress-empty {\r\n width: 150px;\r\n height: 9px;\r\n border: 1px solid black;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_left.gif'') repeat-x;\r\n}\r\n\r\n.uploader-queue .progress-full {\r\n height: 9px;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_done.gif'');\r\n}\r\n\r\n.uploader-queue .thumbnail {\r\n /*margin-bottom: 2px;*/\r\n border: 1px solid black;\r\n background-color: grey;\r\n}\r\n\r\n/* To be sorted */\r\nspan#category_path, span#category_path a {\r\n color: #FFFFFF;\r\n}\r\n\r\nspan#category_path a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* Section title, right to the big icon */\r\n.admintitle {\r\n font-size: 16pt;\r\n font-weight: bold;\r\n color: @@SectionColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Left side of bluebar */\r\n.header_left_bg {\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n padding-left: 5px;\r\n}\r\n\r\n/* Right side of bluebar */\r\n.tablenav, tablenav a {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n\r\n text-decoration: none;\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n}\r\n\r\n/* Section title in the bluebar * -- why ''link''? :S */\r\n.tablenav_link {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Active page in top and bottom bluebars pagination */\r\n.current_page {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #fff;\r\n color: #2D79D6;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Other pages and arrows in pagination on blue */\r\n.nav_url {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n color: #fff;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Tree */\r\n.tree-body {\r\n background-color: @@TreeBgColor@@;\r\n height: 100%\r\n}\r\n\r\n.tree_head.td, .tree_head, .tree_head:hover {\r\n font-weight: bold;\r\n font-size: 10px;\r\n color: #FFFFFF;\r\n font-family: Verdana, Arial;\r\n text-decoration: none;\r\n}\r\n\r\n.tree {\r\n padding: 0px;\r\n border: none;\r\n border-collapse: collapse;\r\n}\r\n\r\n.tree tr td {\r\n padding: 0px;\r\n margin: 0px;\r\n font-family: helvetica, arial, verdana,;\r\n font-size: 11px;\r\n white-space: nowrap;\r\n}\r\n\r\n.tree tr td a {\r\n font-size: 11px;\r\n color: @@TreeColor@@;\r\n font-family: Helvetica, Arial, Verdana;\r\n text-decoration: none;\r\n padding: 2px;\r\n}\r\n\r\n.tree tr td a:hover, .tree tr td a.debug-only-item:hover {\r\n color: @@TreeHoverColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a, .tree tr.highlighted td a.debug-only-item {\r\n color: @@TreeHighColor@@;\r\n background-color: @@TreeHighBgColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a:hover {\r\n color: @@TreeHighHoverColor@@;\r\n}\r\n\r\n.tree tr td a.debug-only-item {\r\n color: grey;\r\n}\r\n\r\n/* Ajax Dropdown */\r\n.suggest-box {\r\n border: 1px solid #999;\r\n background-color: #fff;\r\n}\r\n\r\n.suggest-item, .suggest-item-over {\r\n padding: 1px 2px 0px 2px;\r\n font-family: arial,verdana;\r\n font-size: 12px;\r\n}\r\n\r\n.suggest-item-over {\r\n background-color: #3366CC;\r\n color: #fff;\r\n}\r\n\r\n/* Dashboard Summary Boxes */\r\n.summary-box {\r\n border: 1px solid black;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.summary-box .title {\r\n color: white;\r\n font-weight: bold;\r\n padding: 6px 5px;\r\n vertical-align: middle;\r\n background-color: #4A92CE;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n.summary-box .content {\r\n padding: 4px;\r\n background-color: #F6F6F6;\r\n}\r\n\r\n.summary-box .group {\r\n border-bottom: 1px solid black;\r\n margin-bottom: 10px;\r\n padding: 0 0 10px 10px;\r\n}\r\n\r\n.summary-box .group.last {\r\n border-width: 0px;\r\n margin-bottom: 0;\r\n padding-bottom: 5px;\r\n}\r\n\r\n.summary-box h4 {\r\n margin: 0;\r\n padding: 0 0 3px 0;\r\n font-size: 11px;\r\n font-weight: bold;\r\n}\r\n\r\n.summary-box .hint {\r\n font-size: 10px;\r\n color: grey;\r\n margin-bottom: 3px;\r\n}\r\n\r\n.summary-box .hint .cache-key {\r\n margin-bottom: 7px;\r\n margin-left: 3px;\r\n}\r\n\r\n.summary-box ul {\r\n margin-top: 5px;\r\n margin-bottom: 3px;\r\n padding-left: 30px;\r\n}\r\n\r\n.summary-box li {\r\n padding-bottom: 4px;\r\n}', 'in-portal_logo_img.jpg', 'in-portal_logo_img2.jpg', 'in-portal_logo_login.gif', 'a:22:{s:11:"HeadBgColor";a:2:{s:11:"Description";s:27:"Head frame background color";s:5:"Value";s:7:"#007BF4";}s:9:"HeadColor";a:2:{s:11:"Description";s:21:"Head frame text color";s:5:"Value";s:7:"#FFFFFF";}s:14:"SectionBgColor";a:2:{s:11:"Description";s:28:"Section bar background color";s:5:"Value";s:7:"#FFFFFF";}s:12:"SectionColor";a:2:{s:11:"Description";s:22:"Section bar text color";s:5:"Value";s:7:"#2D79D6";}s:12:"HeadBarColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"HeadBarBgColor";a:1:{s:5:"Value";s:7:"#1961B8";}s:13:"TitleBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TitleBarBgColor";a:1:{s:5:"Value";s:7:"#2D79D6";}s:14:"ToolbarBgColor";a:1:{s:5:"Value";s:7:"#F0F1EB";}s:14:"FiltersBgColor";a:1:{s:5:"Value";s:7:"#D7D7D7";}s:17:"ColumnTitlesColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:19:"ColumnTitlesBgColor";a:1:{s:5:"Value";s:7:"#999999";}s:8:"OddColor";a:1:{s:5:"Value";s:7:"#000000";}s:10:"OddBgColor";a:1:{s:5:"Value";s:7:"#F6F6F6";}s:9:"EvenColor";a:1:{s:5:"Value";s:7:"#000000";}s:11:"EvenBgColor";a:1:{s:5:"Value";s:7:"#EBEBEB";}s:9:"TreeColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"TreeHoverColor";a:1:{s:5:"Value";s:7:"#009FF0";}s:13:"TreeHighColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:18:"TreeHighHoverColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TreeHighBgColor";a:1:{s:5:"Value";s:7:"#4A92CE";}s:11:"TreeBgColor";a:1:{s:5:"Value";s:7:"#DCECF6";}}', 1285147750, 1);
INSERT INTO LocalesList VALUES
(1, '0x0436', 'Afrikaans (South Africa)', 'af-ZA', 'Latn', '1252'),
Index: install/install_toolkit.php
===================================================================
--- install/install_toolkit.php (revision 13936)
+++ install/install_toolkit.php (working copy)
@@ -816,6 +816,7 @@
function deleteCache($refresh_permissions = false)
{
$this->Application->HandleEvent($event, 'adm:OnResetConfigsCache');
+ $this->Application->HandleEvent($event, 'adm:OnResetSections');
$this->Application->HandleEvent($event, 'c:OnResetCMSMenuCache');
$this->Conn->Query('DELETE FROM ' . TABLE_PREFIX . 'CachedUrls');
Index: install/upgrades.css
===================================================================
--- install/upgrades.css (revision 13936)
+++ install/upgrades.css (working copy)
@@ -607,3 +607,69 @@
.subsectiontitle td {
vertical-align: middle;
/*padding: 3px 5px 3px 5px;*/
+@@ -684,4 +691,64 @@
+ .suggest-item-over {
+ background-color: #3366CC;
+ color: #fff;
++}
++
++/* Dashboard Summary Boxes */
++.summary-box {
++ border: 1px solid black;
++ margin-bottom: 4px;
++}
++
++.summary-box .title {
++ color: white;
++ font-weight: bold;
++ padding: 6px 5px;
++ vertical-align: middle;
++ background-color: #4A92CE;
++ border-bottom: 1px solid black;
++}
++
++.summary-box .content {
++ padding: 4px;
++ background-color: #F6F6F6;
++}
++
++.summary-box .group {
++ border-bottom: 1px solid black;
++ margin-bottom: 10px;
++ padding: 0 0 10px 10px;
++}
++
++.summary-box .group.last {
++ border-width: 0px;
++ margin-bottom: 0;
++ padding-bottom: 5px;
++}
++
++.summary-box h4 {
++ margin: 0;
++ padding: 0 0 3px 0;
++ font-size: 11px;
++ font-weight: bold;
++}
++
++.summary-box .hint {
++ font-size: 10px;
++ color: grey;
++ margin-bottom: 3px;
++}
++
++.summary-box .hint .cache-key {
++ margin-bottom: 7px;
++ margin-left: 3px;
++}
++
++.summary-box ul {
++ margin-top: 5px;
++ margin-bottom: 3px;
++ padding-left: 30px;
++}
++
++.summary-box li {
++ padding-bottom: 4px;
+ }
+\ No newline at end of file
Index: kernel/utility/debugger.php
===================================================================
--- kernel/utility/debugger.php (revision 13936)
+++ kernel/utility/debugger.php (working copy)
@@ -228,8 +228,13 @@
$dbg_constMap['DBG_SKIP_REPORTING'] = 1;
}
+ // allows to validate unit configs via request variable
+ if ( !array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) ) {
+ $dbg_constMap['DBG_VALIDATE_CONFIGS'] = array_key_exists('validate_configs', $_GET) ? (int)$_GET['validate_configs'] : 0;
+ }
+
// when validation configs, don't show sqls for better validation error displaying
- if (array_key_exists('DBG_VALIDATE_CONFIGS', $dbg_constMap) && $dbg_constMap['DBG_VALIDATE_CONFIGS']) {
+ if ($dbg_constMap['DBG_VALIDATE_CONFIGS']) {
$dbg_constMap['DBG_SQL_PROFILE'] = 0;
}
Index: kernel/utility/unit_config_reader.php
===================================================================
--- kernel/utility/unit_config_reader.php (revision 13936)
+++ kernel/utility/unit_config_reader.php (working copy)
@@ -299,7 +299,10 @@
if ($cache && $data) {
$this->configFiles = unserialize($data);
- shuffle($this->configFiles);
+
+ if ( !defined('DBG_VALIDATE_CONFIGS') && !DBG_VALIDATE_CONFIGS ) {
+ shuffle($this->configFiles);
+ }
}
else {
$this->findConfigFiles(FULL_PATH . DIRECTORY_SEPARATOR . 'core'); // search from core directory
Index: units/admin/admin_events_handler.php
===================================================================
--- units/admin/admin_events_handler.php (revision 13936)
+++ units/admin/admin_events_handler.php (working copy)
@@ -43,7 +43,7 @@
$perm_value = null;
$system_events = Array (
- 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetMemcache',
+ 'OnResetModRwCache', 'OnResetSections', 'OnResetConfigsCache', 'OnResetParsedData', 'OnResetMemcache',
'OnDeleteCompiledTemplates', 'OnCompileTemplates', 'OnGenerateTableStructure',
'OnRebuildThemes', 'OnCheckPrefixConfig', 'OnMemoryCacheGet', 'OnMemoryCacheSet'
);
@@ -122,21 +122,35 @@
if ($this->Application->isCachingType(CACHING_TYPE_MEMORY)) {
$this->Application->deleteCache('master:config_files');
- $this->Application->deleteCache('master:configs_parsed');
- $this->Application->deleteCache('master:sections_parsed');
}
else {
$this->Application->deleteDBCache('config_files');
- $this->Application->deleteDBCache('configs_parsed');
- $this->Application->deleteDBCache('sections_parsed');
}
+ $this->OnResetParsedData($event);
+
$skin_helper =& $this->Application->recallObject('SkinHelper');
/* @var $skin_helper SkinHelper */
$skin_helper->deleteCompiled();
+ }
- $event->SetRedirectParam('refresh_tree', 1);
+ /**
+ * Resets parsed data from unit configs
+ *
+ * @param kEvent $event
+ */
+ function OnResetParsedData(&$event)
+ {
+ if ($this->Application->GetVar('ajax') == 'yes') {
+ $event->status = erSTOP;
+ }
+
+ $this->Application->UnitConfigReader->ResetParsedData();
+
+ if ( $this->Application->GetVar('validate_configs') ) {
+ $event->SetRedirectParam('validate_configs', 1);
+ }
}
function OnResetMemcache(&$event)
|