diff --git a/lib/dashboard/Notification.inc.php b/lib/dashboard/Notification.inc.php index 0b8a176..3bade91 100644 --- a/lib/dashboard/Notification.inc.php +++ b/lib/dashboard/Notification.inc.php @@ -5,32 +5,32 @@ * KnowledgeTree Open Source Edition * Document Management Made Simple * Copyright (C) 2004 - 2007 The Jam Warehouse Software (Pty) Limited - * + * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation. - * + * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * + * * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place, * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com. - * + * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. - * + * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by - * KnowledgeTree" logo and retain the original copyright notice. If the display of the + * KnowledgeTree" logo and retain the original copyright notice. If the display of the * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices - * must display the words "Powered by KnowledgeTree" and retain the original - * copyright notice. + * must display the words "Powered by KnowledgeTree" and retain the original + * copyright notice. * Contributor( s): ______________________________________ * */ @@ -58,7 +58,7 @@ class KTNotification extends KTEntity { /** primary key value */ var $iId = -1; var $iUserId; - + // sType and sLabel provide the title of the dashboard alert. var $sLabel; // a simple label - e.g. the document's title, or so forth. var $sType; // namespaced item type. (e.g. ktcore/subscriptions, word/officeupload) @@ -73,34 +73,34 @@ class KTNotification extends KTEntity { var $iData2; // sData1 and sData2 are 255-length character fields var $sData1; - var $sData2; + var $sData2; // sText1 is a 65535-length text field - var $sText1; - + var $sText1; + var $_bUsePearError = true; - + function getId() { return $this->iId; } - - function getLabel() { return $this->sLabel; } + + function getLabel() { return $this->sLabel; } function setLabel($sLabel) { $this->sLabel = $sLabel; } - function getType() { return $this->sType; } + function getType() { return $this->sType; } function setType($sType) { $this->sType = $sType; } - - function getIntData1() { return $this->iData1; } + + function getIntData1() { return $this->iData1; } function setIntData1($iData1) { $this->iData1 = $iData1; } - function getIntData2() { return $this->iData2; } + function getIntData2() { return $this->iData2; } function setIntData2($iData2) { $this->iData2 = $iData2; } - function getStrData1() { return $this->sData1; } + function getStrData1() { return $this->sData1; } function setStrData1($sData1) { $this->sData1 = $sData1; } - function getStrData2() { return $this->sData2; } - function setStrData2($sData2) { $this->sData2 = $sData2; } - function getTextData1() { return $this->sText1; } - function setTextData1($mValue) { $this->sText1 = $mValue; } + function getStrData2() { return $this->sData2; } + function setStrData2($sData2) { $this->sData2 = $sData2; } + function getTextData1() { return $this->sText1; } + function setTextData1($mValue) { $this->sText1 = $mValue; } var $_aFieldToSelect = array( "iId" => "id", "iUserId" => "user_id", - "sLabel" => "label", + "sLabel" => "label", "sType" => "type", "dCreationDate" => "creation_date", "iData1" => "data_int_1", @@ -109,7 +109,7 @@ class KTNotification extends KTEntity { "sData2" => "data_str_2", "sText1" => "data_text_1", ); - + function _table () { return KTUtil::getTableName('notifications'); } @@ -118,11 +118,11 @@ class KTNotification extends KTEntity { $notificationRegistry =& KTNotificationRegistry::getSingleton(); $handler = $notificationRegistry->getHandler($this->sType); - if (is_null($handler)) { return null; } - + if (is_null($handler)) { return null; } + return $handler->handleNotification($this); } - + function &getHandler() { $notificationRegistry =& KTNotificationRegistry::getSingleton(); $handler =& $notificationRegistry->getHandler($this->sType); @@ -131,10 +131,10 @@ class KTNotification extends KTEntity { // Static function function &get($iId) { return KTEntityUtil::get('KTNotification', $iId); } - function &getList($sWhereClause = null, $aOptions = null ) { + function &getList($sWhereClause = null, $aOptions = null ) { if(!is_array($aOptions)) $aOptions = array($aOptions); $aOptions['orderby'] = KTUtil::arrayGet($aOptions, 'orderby', 'creation_date DESC'); - return KTEntityUtil::getList2('KTNotification', $sWhereClause, $aOptions); + return KTEntityUtil::getList2('KTNotification', $sWhereClause, $aOptions); } function &createFromArray($aOptions) { return KTEntityUtil::createFromArray('KTNotification', $aOptions); } @@ -151,14 +151,15 @@ class KTNotificationHandler extends KTStandardDispatcher { function handleNotification($oKTNotification) { $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate("kt3/notifications/generic"); - $aTemplateData = array("context" => $oKTNotification,); + + $aTemplateData = array("context" => $oKTNotification, "oKTConfig" => $oKTConfig); return $oTemplate->render($aTemplateData); } function do_main() { $this->resolveNotification($this->notification); } - + // called to resolve the notification (typically from /notify.php?id=xxxxx function resolveNotification($oKTNotification) { $_SESSION['KTErrorMessage'][] = _kt("This notification handler does not support publication."); @@ -172,10 +173,10 @@ class KTSubscriptionNotification extends KTNotificationHandler { /* Subscription Notifications * * Subscriptions are a large part of the notification volume. - * That said, notifications cater to a larger group, so there is some + * That said, notifications cater to a larger group, so there is some * degree of mismatch between the two. * - * Mapping the needs of subscriptions onto the provisions of notifications + * Mapping the needs of subscriptions onto the provisions of notifications * works as: * * $oKTN->label: object name [e.g. Document Name] @@ -183,9 +184,9 @@ class KTSubscriptionNotification extends KTNotificationHandler { * $oKTN->strData2: _location_ name. (e.g. folder of the subscription.) * $oKTN->intData1: object id (e.g. document_id, folder_id) * $oKTN->intData2: actor id (e.g. user_id) - * + * */ - + var $notificationType = 'ktcore/subscriptions'; var $_eventObjectMap = array( @@ -202,7 +203,7 @@ class KTSubscriptionNotification extends KTNotificationHandler { "ArchivedDocument" => 'document', // can go through and request un-archival (?) "RestoredArchivedDocument" => 'document', "DiscussDocument" => 'document', - ); + ); function KTSubscriptionNotification() { $this->_eventTypeNames = array( @@ -218,7 +219,7 @@ class KTSubscriptionNotification extends KTNotificationHandler { "MovedDocument" => _kt('Document moved'), "ArchivedDocument" => _kt('Document archived'), // can go through and request un-archival (?) "RestoredArchivedDocument" => _kt('Document restored'), - "DiscussDocument" => _kt('Document Discussions updated'), + "DiscussDocument" => _kt('Document Discussions updated'), ); //parent::KTNotificationHandler(); } @@ -233,9 +234,9 @@ class KTSubscriptionNotification extends KTNotificationHandler { 'has_actor' => false, 'notify_id' => $oKTNotification->getId(), ); - + $info['title'] = KTUtil::arrayGet($this->_eventTypeNames, $info['event_type'], 'Subscription alert:') .': ' . $info['object_name']; - + if ($info['actor_id'] !== null) { $oTempUser = User::get($info['actor_id']); if (PEAR::isError($oTempUser) || ($oTempUser == false)) { @@ -246,31 +247,31 @@ class KTSubscriptionNotification extends KTNotificationHandler { $info['has_actor'] = true; } } - + if ($info['object_id'] !== null) { $info['object'] = $this->_getEventObject($info['event_type'], $info['object_id']); } - + return $info; } - + // resolve the object type based on the alert type. function _getEventObject($sAlertType, $id) { $t = KTUtil::arrayGet($this->_eventObjectMap, $sAlertType ,''); - + if ($t == 'document') { $o = Document::get($id); - if (PEAR::isError($o) || ($o == false)) { return null; + if (PEAR::isError($o) || ($o == false)) { return null; } else { return $o; } } else if ($t == 'folder') { $o = Folder::get($id); - if (PEAR::isError($o) || ($o == false)) { return null; + if (PEAR::isError($o) || ($o == false)) { return null; } else { return $o; } } else { return null; } } - + function _getEventObjectType($sAlertType) { return KTUtil::arrayGet($this->_eventObjectMap, $sAlertType ,''); } @@ -286,21 +287,21 @@ class KTSubscriptionNotification extends KTNotificationHandler { /* "iId" => "id", "iUserId" => "user_id", - "sLabel" => "label", + "sLabel" => "label", "sType" => "type", "dCreationDate" => "creation_date", "iData1" => "data_int_1", "iData2" => "data_int_2", "sData1" => "data_str_1", "sData2" => "data_str_2", - + 'object_name' => $oKTNotification->getLabel(), 'event_type' => $oKTNotification->getStrData1(), 'location_name' => $oKTNotification->getStrData2(), 'object_id' => $oKTNotification->getIntData1(), 'actor_id' => $oKTNotification->getIntData2(), - 'has_actor' => false, - + 'has_actor' => false, + */ $creationInfo['sLabel'] = $aOptions['target_name']; $creationInfo['sData1'] = $aOptions['event_type']; @@ -312,20 +313,23 @@ class KTSubscriptionNotification extends KTNotificationHandler { $creationInfo['dCreationDate'] = getCurrentDateTime(); // erk. global $default; - + //$default->log->debug('subscription notification: from ' . print_r($aOptions, true)); $default->log->debug('subscription notification: using ' . print_r($creationInfo, true)); - + $oNotification =& KTNotification::createFromArray($creationInfo); - - + + $default->log->debug('subscription notification: created ' . print_r($oNotification, true)); - + return $oNotification; // $res. } - - - + + /** + * View the notification, and clear if requested + * + * @param unknown_type $oKTNotification + */ function resolveNotification($oKTNotification) { $notify_action = KTUtil::arrayGet($_REQUEST, 'notify_action', null); if ($notify_action == 'clear') { @@ -333,38 +337,38 @@ class KTSubscriptionNotification extends KTNotificationHandler { $oKTNotification->delete(); exit(redirect(generateControllerLink('dashboard'))); } - + // otherwise, we want to redirect the to object represented by the item. // - viewDocument and viewFolder are the appropriate items. - // - object_id + // - object_id $info = $this->_getSubscriptionData($oKTNotification); - + $object_type = $this->_getEventObjectType($info['event_type']); - + if ($object_type == '') { - $_SESSION['KTErrorMessage'][] = 'This notification has no "target". Please report as a bug that this subscription should only have a clear action.' . $object_type; + $_SESSION['KTErrorMessage'][] = 'This notification has no "target". Please report as a bug that this subscription should only have a clear action.' . $object_type; exit(redirect(generateControllerLink('dashboard'))); - } - + } + if ($object_type == 'document') { if ($info['object_id'] !== null) { // fails and generates an error with no doc-id. $params = 'fDocumentId=' . $info['object_id']; $url = generateControllerLink('viewDocument', $params); - $oKTNotification->delete(); // clear the alert. + //$oKTNotification->delete(); // clear the alert. exit(redirect($url)); - } + } } else if ($object_type == 'folder') { if ($info['object_id'] !== null) { // fails and generates an error with no doc-id. $params = 'fFolderId=' . $info['object_id']; $url = generateControllerLink('browse', $params); - $oKTNotification->delete(); // clear the alert. + //$oKTNotification->delete(); // clear the alert. exit(redirect($url)); - } + } } - $_SESSION['KTErrorMessage'][] = sprintf('This notification has no "target". Please inform the %s developers that there is a target bug with type: ' . $info['event_type'], APP_NAME); + $_SESSION['KTErrorMessage'][] = sprintf('This notification has no "target". Please inform the %s developers that there is a target bug with type: ' . $info['event_type'], APP_NAME); exit(redirect(generateControllerLink('dashboard'))); } - + } class KTWorkflowNotification extends KTNotificationHandler { @@ -374,41 +378,41 @@ class KTWorkflowNotification extends KTNotificationHandler { foreach ($aNotifications as $oNotification) { $oNotification->delete(); } - + } - function & newNotificationForDocument($oDocument, $oUser, $oState, $oActor, $sComments) { - $aInfo = array(); + function & newNotificationForDocument($oDocument, $oUser, $oState, $oActor, $sComments) { + $aInfo = array(); $aInfo['sData1'] = $oState->getName(); $aInfo['sData2'] = $sComments; $aInfo['iData1'] = $oDocument->getId(); $aInfo['iData2'] = $oActor->getId(); $aInfo['sType'] = 'ktcore/workflow'; - $aInfo['dCreationDate'] = getCurrentDateTime(); + $aInfo['dCreationDate'] = getCurrentDateTime(); $aInfo['iUserId'] = $oUser->getId(); $aInfo['sLabel'] = $oDocument->getName(); - + $oNotification = KTNotification::createFromArray($aInfo); - + $handler = new KTWorkflowNotification(); - + if ($oUser->getEmailNotification() && (strlen($oUser->getEmail()) > 0)) { $emailContent = $handler->handleNotification($oNotification); $emailSubject = sprintf(_kt('Workflow Notification: %s'), $oDocument->getName()); $oEmail = new EmailAlert($oUser->getEmail(), $emailSubject, $emailContent); $oEmail->send(); } - + return $oNotification; } - function handleNotification($oKTNotification) { + function handleNotification($oKTNotification) { $oTemplating =& KTTemplating::getSingleton(); $oTemplate =& $oTemplating->loadTemplate('ktcore/workflow/workflow_notification'); - + $oDoc = Document::get($oKTNotification->getIntData1()); $isBroken = (PEAR::isError($oDoc) || ($oDoc->getStatusID() != LIVE)); - + $oTemplate->setData(array( 'context' => $this, 'document_id' => $oKTNotification->getIntData1(), @@ -421,7 +425,7 @@ class KTWorkflowNotification extends KTNotificationHandler { )); return $oTemplate->render(); } - + function resolveNotification($oKTNotification) { $notify_action = KTUtil::arrayGet($_REQUEST, 'notify_action', null); if ($notify_action == 'clear') { @@ -429,10 +433,10 @@ class KTWorkflowNotification extends KTNotificationHandler { $oKTNotification->delete(); exit(redirect(generateControllerLink('dashboard'))); } - + $params = 'fDocumentId=' . $oKTNotification->getIntData1(); $url = generateControllerLink('viewDocument', $params); - $oKTNotification->delete(); // clear the alert. + //$oKTNotification->delete(); // clear the alert. exit(redirect($url)); } } diff --git a/templates/kt3/notifications/subscriptions.AddDocument.smarty b/templates/kt3/notifications/subscriptions.AddDocument.smarty index 0931815..f54ad2a 100644 --- a/templates/kt3/notifications/subscriptions.AddDocument.smarty +++ b/templates/kt3/notifications/subscriptions.AddDocument.smarty @@ -1,13 +1,26 @@
{$info.title|sanitize}
+ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" was added{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}to "#location_name#"{/i18n}{/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Document{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Document{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} + +  |  + +
+
+ {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n} +
diff --git a/templates/kt3/notifications/subscriptions.AddFolder.smarty b/templates/kt3/notifications/subscriptions.AddFolder.smarty index fd23def..a1897a9 100644 --- a/templates/kt3/notifications/subscriptions.AddFolder.smarty +++ b/templates/kt3/notifications/subscriptions.AddFolder.smarty @@ -3,11 +3,22 @@ {i18n arg_object_name=$info.object_name|sanitize}The folder "#object_name#" was added{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}to "#location_name#"{/i18n}{/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
+
{if !$is_broken} - {i18n}View New Folder{/i18n} - {else} - {i18n}Folder is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} + {i18n}View New Folder{/i18n} + {else} + {i18n}Folder is no longer available{/i18n} + {/if} +  |  + +
+
+ {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n} +
+
diff --git a/templates/kt3/notifications/subscriptions.ArchivedDocument.smarty b/templates/kt3/notifications/subscriptions.ArchivedDocument.smarty index 32210fa..0cd268f 100644 --- a/templates/kt3/notifications/subscriptions.ArchivedDocument.smarty +++ b/templates/kt3/notifications/subscriptions.ArchivedDocument.smarty @@ -3,6 +3,9 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#"{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}from "#location_name#"{/i18n}{/if} {i18n}was archived{/i18n}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
+ {i18n}Clear Alert{/i18n} {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.CheckInDocument.smarty b/templates/kt3/notifications/subscriptions.CheckInDocument.smarty index 4fe7a1d..5bbf175 100644 --- a/templates/kt3/notifications/subscriptions.CheckInDocument.smarty +++ b/templates/kt3/notifications/subscriptions.CheckInDocument.smarty @@ -3,11 +3,18 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been checked in{/i18n}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}{if ($info.location_name !== null)}, {i18n arg_location_name=$info.location_name}in the folder "#location_name#"{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Document{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Document{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} +  |  +
+ {i18n}Clear Alert{/i18n} + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.CheckOutDocument.smarty b/templates/kt3/notifications/subscriptions.CheckOutDocument.smarty index 4a48000..af607f3 100644 --- a/templates/kt3/notifications/subscriptions.CheckOutDocument.smarty +++ b/templates/kt3/notifications/subscriptions.CheckOutDocument.smarty @@ -3,11 +3,18 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been checked out{/i18n}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}{if ($info.location_name !== null)}, {i18n arg_location_name=$info.location_name}from the folder "#location_name#"{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Document{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Document{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} +  |  +
+ {i18n}Clear Alert{/i18n} + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.DiscussDocument.smarty b/templates/kt3/notifications/subscriptions.DiscussDocument.smarty index a691323..eabfd95 100644 --- a/templates/kt3/notifications/subscriptions.DiscussDocument.smarty +++ b/templates/kt3/notifications/subscriptions.DiscussDocument.smarty @@ -7,11 +7,20 @@ The discussion around document "{$info.object_name|sanitize}" has been updated. {/if}
- {if !$is_broken} - {i18n}View Document{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Document{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.ModifyDocument.smarty b/templates/kt3/notifications/subscriptions.ModifyDocument.smarty index c61fb83..ed8625b 100644 --- a/templates/kt3/notifications/subscriptions.ModifyDocument.smarty +++ b/templates/kt3/notifications/subscriptions.ModifyDocument.smarty @@ -3,11 +3,20 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been changed{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}in the folder "#location_name#"{/i18n}{/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Document{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Document{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.MoveDocument.smarty b/templates/kt3/notifications/subscriptions.MoveDocument.smarty index 194c549..504c68b 100644 --- a/templates/kt3/notifications/subscriptions.MoveDocument.smarty +++ b/templates/kt3/notifications/subscriptions.MoveDocument.smarty @@ -3,12 +3,21 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been moved{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}to the folder "#location_name#"{/i18n}{/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
- {if !$is_broken} - {i18n}View New Location{/i18n} - {else} - {i18n}Location is no longer available{/i18n} - {/if} +
+ {if !$is_broken} + {i18n}View New Location{/i18n} + {else} + {i18n}Location is no longer available{/i18n} + {/if} - | {i18n}Clear Alert{/i18n} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.RemoveChildDocument.smarty b/templates/kt3/notifications/subscriptions.RemoveChildDocument.smarty index e0db4f0..c347c53 100644 --- a/templates/kt3/notifications/subscriptions.RemoveChildDocument.smarty +++ b/templates/kt3/notifications/subscriptions.RemoveChildDocument.smarty @@ -3,11 +3,20 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been removed{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}from the folder "#location_name#"{/i18n} ({i18n}to which you are subscribed{/i18n}){/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Folder{/i18n} - {else} - {i18n}Folder is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Folder{/i18n} + {else} + {i18n}Folder is no longer available{/i18n} + {/if} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.RemoveChildFolder.smarty b/templates/kt3/notifications/subscriptions.RemoveChildFolder.smarty index 105eaf0..da6816a 100644 --- a/templates/kt3/notifications/subscriptions.RemoveChildFolder.smarty +++ b/templates/kt3/notifications/subscriptions.RemoveChildFolder.smarty @@ -3,12 +3,21 @@ {i18n arg_object_name=$info.object_name|sanitize}The folder "#object_name#" has been removed{/i18n}{if ($info.location_name !== null)} {i18n arg_location_name=$info.location_name}from "#location_name#"{/i18n}{/if}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}.
- {if !$is_broken} - {i18n}View Folder{/i18n} - {else} - {i18n}Location is no longer available{/i18n} - {/if} +
+ {if !$is_broken} + {i18n}View Folder{/i18n} + {else} + {i18n}Location is no longer available{/i18n} + {/if} - | {i18n}Clear Alert{/i18n} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/kt3/notifications/subscriptions.RemoveSubscribedDocument.smarty b/templates/kt3/notifications/subscriptions.RemoveSubscribedDocument.smarty index 2ecebd8..7f9b479 100644 --- a/templates/kt3/notifications/subscriptions.RemoveSubscribedDocument.smarty +++ b/templates/kt3/notifications/subscriptions.RemoveSubscribedDocument.smarty @@ -3,6 +3,12 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" to which you were subscribed, has been removed{/i18n}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}. diff --git a/templates/kt3/notifications/subscriptions.RemoveSubscribedFolder.smarty b/templates/kt3/notifications/subscriptions.RemoveSubscribedFolder.smarty index 1a8c49a..f8eaf16 100644 --- a/templates/kt3/notifications/subscriptions.RemoveSubscribedFolder.smarty +++ b/templates/kt3/notifications/subscriptions.RemoveSubscribedFolder.smarty @@ -3,6 +3,12 @@ {i18n arg_object_name=$info.object_name|sanitize}The folder "#object_name#" to which you were subscribed, has been removed{/i18n}{if ($info.has_actor)} {i18n arg_actor_name=$info.actor_name}by #actor_name#{/i18n}{/if}. diff --git a/templates/kt3/notifications/subscriptions.RestoreDocument.smarty b/templates/kt3/notifications/subscriptions.RestoreDocument.smarty index 02aa440..4f36447 100644 --- a/templates/kt3/notifications/subscriptions.RestoreDocument.smarty +++ b/templates/kt3/notifications/subscriptions.RestoreDocument.smarty @@ -3,6 +3,12 @@ {i18n arg_object_name=$info.object_name|sanitize}The document "#object_name#" has been restored by an administrator.{/i18n} diff --git a/templates/kt3/notifications/subscriptions.generic.smarty b/templates/kt3/notifications/subscriptions.generic.smarty index fdc7074..0bfb0ab 100644 --- a/templates/kt3/notifications/subscriptions.generic.smarty +++ b/templates/kt3/notifications/subscriptions.generic.smarty @@ -1,6 +1,12 @@
{$info.title|sanitize}
diff --git a/templates/ktcore/assist/assist_notification.smarty b/templates/ktcore/assist/assist_notification.smarty index 4f3057c..c734fb6 100644 --- a/templates/ktcore/assist/assist_notification.smarty +++ b/templates/ktcore/assist/assist_notification.smarty @@ -4,11 +4,20 @@ user, #user#, has requested help on the document #name#, and you are the owner or an admin of this document.{/i18n}
- {if !$is_broken} - {i18n}View Help Request{/i18n} - {else} - {i18n}Document is no longer available{/i18n} - {/if} - | {i18n}Clear Alert{/i18n} +
+ {if !$is_broken} + {i18n}View Help Request{/i18n} + {else} + {i18n}Document is no longer available{/i18n} + {/if} +  |  +
+ + {i18n}Clear Alert{/i18n} + + {i18n}Clear Alert{/i18n}
diff --git a/templates/ktcore/assist/assist_notification_details.smarty b/templates/ktcore/assist/assist_notification_details.smarty index c3bb4cf..f2c14eb 100644 --- a/templates/ktcore/assist/assist_notification_details.smarty +++ b/templates/ktcore/assist/assist_notification_details.smarty @@ -12,7 +12,16 @@