Attached Files |
769.patch [^] (3,921 bytes) 2011-09-28 04:52
[Show Content]
Index: admin_templates/logs/change_logs/change_log_list.tpl
===================================================================
--- admin_templates/logs/change_logs/change_log_list.tpl (revision 14592)
+++ admin_templates/logs/change_logs/change_log_list.tpl (working copy)
@@ -47,6 +47,13 @@
);
a_toolbar.Render();
+
+ function enable_log()
+ {
+ if (inpConfirm('<inp2:m_Phrase name="la_msg_EnableTrackingDatabaseChangesToChangeLog" escape="1"/>')) {
+ submit_event('change-log', 'OnEnableLog');
+ }
+ }
</script>
</td>
@@ -88,6 +95,15 @@
<inp2:Field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="1" format="$format"/>
</inp2:m_DefineElement>
+
+<inp2:m_ifnot check="m_ConfigEquals" var="UseChangeLog" value="1">
+ <inp2:m_RenderElement design="form_message" pass_params="1">
+ <inp2:m_Phrase name="la_msg_ChangeLogIsCurrentlyDisabled"/> <inp2:m_Phrase name="la_msg_TurnOn"/> "<a href="javascript:enable_log()" class="error"><inp2:m_Phrase name="la_msg_TrackDatabaseChangesToChangeLog"/></a>" <inp2:m_Phrase name="la_msg_SettingToEnableIt"/><br/>
+ </inp2:m_RenderElement>
+ <inp2:m_RemoveVar name="event_used_in_order" />
+</inp2:m_ifnot>
+
+
<inp2:m_RenderElement name="grid" PrefixSpecial="change-log" IdField="ChangeLogId" grid="Default" row_class_render_as="row_class"/>
<script type="text/javascript">
Grids['change-log'].SetDependantToolbarButtons( new Array('edit', 'delete') );
Index: install/english.lang
===================================================================
--- install/english.lang (revision 14592)
+++ install/english.lang (working copy)
@@ -1495,6 +1495,11 @@
<PHRASE Label="lu_opt_AutoDetect" Module="Core" Type="1">QXV0by1EZXRlY3Q=</PHRASE>
<PHRASE Label="lu_opt_Cookies" Module="Core" Type="1">Q29va2llcw==</PHRASE>
<PHRASE Label="lu_opt_QueryString" Module="Core" Type="1">UXVlcnkgU3RyaW5nIChTSUQp</PHRASE>
+ <PHRASE Label="la_msg_ChangeLogIsCurrentlyDisabled" Module="Core" Type="1">Q2hhbmdlIGxvZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQu</PHRASE>
+ <PHRASE Label="la_msg_EnableTrackingDatabaseChangesToChangeLog" Module="Core" Type="1">RW5hYmxlIHRyYWNraW5nIGRhdGFiYXNlIGNoYW5nZXMgdG8gY2hhbmdlIGxvZz8=</PHRASE>
+ <PHRASE Label="la_msg_SettingToEnableIt" Module="Core" Type="1">c2V0dGluZyB0byBlbmFibGUgaXQu</PHRASE>
+ <PHRASE Label="la_msg_TrackDatabaseChangesToChangeLog" Module="Core" Type="1">VHJhY2sgZGF0YWJhc2UgY2hhbmdlcyB0byBjaGFuZ2UgbG9n</PHRASE>
+ <PHRASE Label="la_msg_TurnOn" Module="Core" Type="1">VHVybiBvbg==</PHRASE>
</PHRASES>
<EVENTS>
<EVENT MessageType="html" Event="CATEGORY.ADD" Type="0">U3ViamVjdDogTmV3IENhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIC0gQWRkZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGFkZGVkLg==</EVENT>
Index: units/logs/change_logs/change_log_eh.php
===================================================================
--- units/logs/change_logs/change_log_eh.php (revision 14592)
+++ units/logs/change_logs/change_log_eh.php (working copy)
@@ -19,4 +19,32 @@
WHERE SessionLogId = ' . $object->GetDBField('SessionLogId');
$this->Conn->Query($sql);
}
+
+ /**
+ * Allows to override standart permission mapping
+ *
+ */
+ function mapPermissions()
+ {
+ parent::mapPermissions();
+ $permissions = Array (
+ // admin
+ 'OnEnableLog' => Array('self' => 'view'), // because setting to logged in user only
+ );
+
+ $this->permMapping = array_merge($this->permMapping, $permissions);
+ }
+
+ /**
+ * Changes configuration value to enable log writing
+ *
+ * @param kEvent $event
+ */
+ function OnEnableLog(&$event)
+ {
+ if (!$this->Application->isAdmin) {
+ return;
+ }
+ $this->Application->SetConfigValue('UseChangeLog', 1);
+ }
}
\ No newline at end of file
change_log_off_notice_769.2.patch [^] (5,791 bytes) 2011-10-04 05:21
[Show Content]
Index: admin_templates/logs/change_logs/change_log_list.tpl
===================================================================
--- admin_templates/logs/change_logs/change_log_list.tpl (revision 14610)
+++ admin_templates/logs/change_logs/change_log_list.tpl (working copy)
@@ -47,6 +47,13 @@
);
a_toolbar.Render();
+
+ function enable_log()
+ {
+ if (confirm('<inp2:m_Phrase name="la_msg_EnableTrackingDatabaseChangesToChangeLog" escape="1"/>')) {
+ submit_event('change-log', 'OnEnableLog');
+ }
+ }
</script>
</td>
@@ -88,6 +95,16 @@
<inp2:Field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="1" format="$format"/>
</inp2:m_DefineElement>
+<inp2:m_ifnot check="m_GetConfig" var="UseChangeLog">
+ <inp2:m_DefineElement name="use_change_log_link">
+ "<a href="javascript:enable_log()" class="error"><inp2:m_Phrase name="la_config_UseChangeLog"/></a>"
+ </inp2:m_DefineElement>
+ <inp2:m_RenderElement design="form_message" pass_params="1">
+ <inp2:change-log_PrintUseChangeLogMessage render_as="use_change_log_link"/>
+ </inp2:m_RenderElement>
+</inp2:m_ifnot>
+
+
<inp2:m_RenderElement name="grid" PrefixSpecial="change-log" IdField="ChangeLogId" grid="Default" row_class_render_as="row_class"/>
<script type="text/javascript">
Grids['change-log'].SetDependantToolbarButtons( new Array('edit', 'delete') );
Index: install/english.lang
===================================================================
--- install/english.lang (revision 14610)
+++ install/english.lang (working copy)
@@ -1498,6 +1498,8 @@
<PHRASE Label="lu_opt_AutoDetect" Module="Core" Type="1">QXV0by1EZXRlY3Q=</PHRASE>
<PHRASE Label="lu_opt_Cookies" Module="Core" Type="1">Q29va2llcw==</PHRASE>
<PHRASE Label="lu_opt_QueryString" Module="Core" Type="1">UXVlcnkgU3RyaW5nIChTSUQp</PHRASE>
+ <PHRASE Label="la_msg_ChangeLogIsCurrentlyDisabledTurnOnSettingToEnableIt" Module="Core" Type="1">Q2hhbmdlIGxvZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQuIFR1cm4gb24gJXMgc2V0dGluZyB0byBlbmFibGUgaXQu</PHRASE>
+ <PHRASE Label="la_msg_TrackDatabaseChangesToChangeLog" Module="Core" Type="1">VHJhY2sgZGF0YWJhc2UgY2hhbmdlcyB0byBjaGFuZ2UgbG9n</PHRASE>
</PHRASES>
<EVENTS>
<EVENT MessageType="html" Event="CATEGORY.ADD" Type="0">U3ViamVjdDogTmV3IENhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIC0gQWRkZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGFkZGVkLg==</EVENT>
Index: units/logs/change_logs/change_log_eh.php
===================================================================
--- units/logs/change_logs/change_log_eh.php (revision 14610)
+++ units/logs/change_logs/change_log_eh.php (working copy)
@@ -19,4 +19,29 @@
WHERE SessionLogId = ' . $object->GetDBField('SessionLogId');
$this->Conn->Query($sql);
}
+
+ /**
+ * Allows to override standart permission mapping
+ *
+ */
+ function mapPermissions()
+ {
+ parent::mapPermissions();
+ $permissions = Array (
+ // admin
+ 'OnEnableLog' => Array('self' => 'view'), // because setting to logged in user only
+ );
+
+ $this->permMapping = array_merge($this->permMapping, $permissions);
+ }
+
+ /**
+ * Changes configuration value to enable log writing
+ *
+ * @param kEvent $event
+ */
+ function OnEnableLog(&$event)
+ {
+ $this->Application->SetConfigValue('UseChangeLog', 1);
+ }
}
\ No newline at end of file
Index: units/logs/change_logs/change_log_tp.php
===================================================================
--- units/logs/change_logs/change_log_tp.php (revision 0)
+++ units/logs/change_logs/change_log_tp.php (revision 0)
@@ -0,0 +1,27 @@
+<?php
+/**
+* @version $Id: change_log_tp.php 14244 2011-10-04 20:53:41Z erik $
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2011 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
+
+ defined('FULL_PATH') or die('restricted access!');
+
+ class ChangeLogTagProcessor extends kDBTagProcessor
+ {
+
+ function PrintUseChangeLogMessage($params)
+ {
+ return sprintf(
+ $this->Application->Phrase('la_msg_ChangeLogIsCurrentlyDisabledTurnOnSettingToEnableIt'),
+ $this->Application->ParseBlock( Array( 'name' => $this->SelectParam($params, 'render_as,name') ) )
+ );
+ }
+ }
\ No newline at end of file
Index: units/logs/change_logs/change_logs_config.php
===================================================================
--- units/logs/change_logs/change_logs_config.php (revision 14610)
+++ units/logs/change_logs/change_logs_config.php (working copy)
@@ -19,7 +19,7 @@
'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
'ListClass' => Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
'EventHandlerClass' => Array ('class' => 'ChangeLogEventHandler', 'file' => 'change_log_eh.php', 'build_event' => 'OnBuild'),
- 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'ChangeLogTagProcessor', 'file' => 'change_log_tp.php', 'build_event' => 'OnBuild'),
'RegisterClasses' => Array (
Array ('pseudo' => 'kChangesFormatter', 'class' => 'kChangesFormatter', 'file' => 'changes_formatter.php', 'build_event' => '', 'require_classes' => 'kFormatter'),
change_log_off_notice_v3.patch [^] (8,005 bytes) 2011-10-05 09:16
[Show Content]
Index: admin_templates/logs/change_logs/change_log_list.tpl
===================================================================
--- admin_templates/logs/change_logs/change_log_list.tpl (revision 14590)
+++ admin_templates/logs/change_logs/change_log_list.tpl (working copy)
@@ -47,6 +47,14 @@
);
a_toolbar.Render();
+
+ <inp2:m_ifnot check="m_GetConfig" var="UseChangeLog">
+ function enable_log() {
+ if ( confirm('<inp2:m_Phrase name="la_msg_EnableTrackingDatabaseChangesToChangeLog" js_escape="1"/>') ) {
+ submit_event('change-log', 'OnEnableLog');
+ }
+ }
+ </inp2:m_ifnot>
</script>
</td>
@@ -88,6 +96,17 @@
<inp2:Field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="1" format="$format"/>
</inp2:m_DefineElement>
+<inp2:m_DefineElement name="enable_change_log_link">
+ <a href="javascript:enable_log()"><inp2:m_Phrase name="la_config_UseChangeLog"/></a>
+</inp2:m_DefineElement>
+
+<inp2:m_ifnot check="m_GetConfig" var="UseChangeLog">
+ <inp2:m_RenderElement design="form_message">
+ <inp2:change-log_EnableChangeLogMessage phrase="la_msg_ChangeLogIsCurrentlyDisabledTurnOnSettingToEnableIt" link_render_as="enable_change_log_link"/>
+ </inp2:m_RenderElement>
+</inp2:m_ifnot>
+
+
<inp2:m_RenderElement name="grid" PrefixSpecial="change-log" IdField="ChangeLogId" grid="Default" row_class_render_as="row_class"/>
<script type="text/javascript">
Grids['change-log'].SetDependantToolbarButtons( new Array('edit', 'delete') );
Index: install/english.lang
===================================================================
--- install/english.lang (revision 14637)
+++ install/english.lang (working copy)
@@ -694,6 +694,8 @@
<PHRASE Label="la_MixedCategoryPath" Module="Core" Type="1">U2VjdGlvbiBwYXRoIGluIG9uZSBmaWVsZA==</PHRASE>
<PHRASE Label="la_module_not_licensed" Module="Core" Type="1">TW9kdWxlIG5vdCBsaWNlbnNlZA==</PHRASE>
<PHRASE Label="la_monday" Module="Core" Type="1">TW9uZGF5</PHRASE>
+ <PHRASE Label="la_msg_ChangeLogIsCurrentlyDisabledTurnOnSettingToEnableIt" Module="Core" Type="1">Q2hhbmdlIGxvZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQuIFR1cm4gb24gIiVzIiBzZXR0aW5nIHRvIGVuYWJsZSBpdC4=</PHRASE>
+ <PHRASE Label="la_msg_EnableTrackingDatabaseChangesToChangeLog" Module="Core" Type="1">RW5hYmxlIHRyYWNraW5nIGRhdGFiYXNlIGNoYW5nZXMgdG8gY2hhbmdlIGxvZz8=</PHRASE>
<PHRASE Label="la_msg_LastOperationHasBeenSuccessfullyCompleted" Module="Core" Type="1">TGFzdCBvcGVyYXRpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCE=</PHRASE>
<PHRASE Label="la_Msg_PropagateCategoryStatus" Module="Core" Type="1">QXBwbHkgdG8gYWxsIFN1Yi1zZWN0aW9ucz8=</PHRASE>
<PHRASE Label="la_msg_RootPasswordWasReset" Module="Core" Type="1">WW91ciAicm9vdCIgcGFzc3dvcmQgaGFzIGJlZW4gcmVzZXQuIFBsZWFzZSByZW1vdmUgREJHX1JFU0VUX1JPT1QgY29uc3RhbnQgYW5kIGNoZWNrIHlvdXIgZS1tYWlsIGFkZHJlc3Mu</PHRASE>
Index: units/logs/change_logs/change_log_eh.php
===================================================================
--- units/logs/change_logs/change_log_eh.php (revision 14590)
+++ units/logs/change_logs/change_log_eh.php (working copy)
@@ -1,22 +1,61 @@
<?php
+/**
+* @version $Id$
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2011 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
- class ChangeLogEventHandler extends kDBEventHandler {
+defined('FULL_PATH') or die('restricted access!');
- /**
- * Updates affected record count in session, when change log record is deleted
- *
- * @param kEvent $event
- */
- function OnAfterItemDelete(&$event)
- {
- parent::OnAfterItemDelete($event);
+class ChangeLogEventHandler extends kDBEventHandler {
- $object =& $event->getObject();
- /* @var $object kDBItem */
+ /**
+ * Allows to override standard permission mapping
+ *
+ */
+ function mapPermissions()
+ {
+ parent::mapPermissions();
- $sql = 'UPDATE ' . $this->Application->getUnitOption('session-log', 'TableName') . '
- SET AffectedItems = AffectedItems - 1
- WHERE SessionLogId = ' . $object->GetDBField('SessionLogId');
- $this->Conn->Query($sql);
- }
- }
\ No newline at end of file
+ $permissions = Array (
+ 'OnEnableLog' => Array ('self' => 'view'),
+ );
+
+ $this->permMapping = array_merge($this->permMapping, $permissions);
+ }
+
+ /**
+ * Updates affected record count in session, when change log record is deleted
+ *
+ * @param kEvent $event
+ */
+ function OnAfterItemDelete(&$event)
+ {
+ parent::OnAfterItemDelete($event);
+
+ $object =& $event->getObject();
+ /* @var $object kDBItem */
+
+ $sql = 'UPDATE ' . $this->Application->getUnitOption('session-log', 'TableName') . '
+ SET AffectedItems = AffectedItems - 1
+ WHERE SessionLogId = ' . $object->GetDBField('SessionLogId');
+ $this->Conn->Query($sql);
+ }
+
+ /**
+ * Changes configuration value to enable log writing
+ *
+ * @param kEvent $event
+ */
+ function OnEnableLog(&$event)
+ {
+ $this->Application->SetConfigValue('UseChangeLog', 1);
+ }
+}
\ No newline at end of file
Index: units/logs/change_logs/change_log_tp.php
===================================================================
--- units/logs/change_logs/change_log_tp.php (revision 0)
+++ units/logs/change_logs/change_log_tp.php (revision 0)
@@ -0,0 +1,32 @@
+<?php
+/**
+* @version $Id$
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2011 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
+
+defined('FULL_PATH') or die('restricted access!');
+
+class ChangeLogTagProcessor extends kDBTagProcessor
+{
+ /**
+ * Displays a message, that allows to enable change log, when it is disabled
+ *
+ * @param Array $params
+ * @return string
+ * @access protected
+ */
+ protected function EnableChangeLogMessage($params)
+ {
+ $link_html = $this->Application->ParseBlock( Array ('name' => $params['link_render_as'], 'strip_nl' => 2) );
+
+ return sprintf( $this->Application->Phrase($params['phrase']), $link_html );
+ }
+}
Property changes on: units\logs\change_logs\change_log_tp.php
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ LF
Index: units/logs/change_logs/change_logs_config.php
===================================================================
--- units/logs/change_logs/change_logs_config.php (revision 14590)
+++ units/logs/change_logs/change_logs_config.php (working copy)
@@ -19,7 +19,7 @@
'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
'ListClass' => Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
'EventHandlerClass' => Array ('class' => 'ChangeLogEventHandler', 'file' => 'change_log_eh.php', 'build_event' => 'OnBuild'),
- 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'ChangeLogTagProcessor', 'file' => 'change_log_tp.php', 'build_event' => 'OnBuild'),
'RegisterClasses' => Array (
Array ('pseudo' => 'kChangesFormatter', 'class' => 'kChangesFormatter', 'file' => 'changes_formatter.php', 'build_event' => '', 'require_classes' => 'kFormatter'),
|