Commit 8e4d7a531b57ed7fa18a8fe0dd29eebdb528b9b3
1 parent
f2549720
Bryn Divey 2006-04-24 Changed subscriptions to include full pathname and...
Bryn Divey 2006-04-21 Added document title to version comparison. Change... Bryn Divey 2006-04-21 Fixed the error message displayed when an existing... Bryn Divey 2006-04-21 Removed upload thingie to merge Bryn Divey 2006-04-21 Allowing checkin with different filename Bryn Divey 2006-04-21 Rename on upload Bryn Divey 2006-04-20 Fixed the lookup tree display in IE git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5324 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
22 changed files
with
221 additions
and
106 deletions
lib/dashboard/Notification.inc.php
| @@ -138,9 +138,7 @@ class KTNotificationHandler { | @@ -138,9 +138,7 @@ class KTNotificationHandler { | ||
| 138 | function handleNotification($oKTNotification) { | 138 | function handleNotification($oKTNotification) { |
| 139 | $oTemplating =& KTTemplating::getSingleton(); | 139 | $oTemplating =& KTTemplating::getSingleton(); |
| 140 | $oTemplate = $oTemplating->loadTemplate("kt3/notifications/generic"); | 140 | $oTemplate = $oTemplating->loadTemplate("kt3/notifications/generic"); |
| 141 | - $aTemplateData = array( | ||
| 142 | - "context" => $oKTNotification, | ||
| 143 | - ); | 141 | + $aTemplateData = array("context" => $oKTNotification,); |
| 144 | return $oTemplate->render($aTemplateData); | 142 | return $oTemplate->render($aTemplateData); |
| 145 | } | 143 | } |
| 146 | 144 |
lib/documentmanagement/MDTree.inc
| @@ -268,8 +268,11 @@ class MDTree { | @@ -268,8 +268,11 @@ class MDTree { | ||
| 268 | $extraclass = ''; | 268 | $extraclass = ''; |
| 269 | if (array_key_exists($subnode_val, $this->activenodes)) { | 269 | if (array_key_exists($subnode_val, $this->activenodes)) { |
| 270 | $extraclass = ' active'; | 270 | $extraclass = ' active'; |
| 271 | - } | ||
| 272 | - $treeStr .= '<li class="treenode' . $extraclass . '"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);">' . $treeToRender->mapnodes[$subnode_val]->getName() . 'Root</a>'; | 271 | + } else { |
| 272 | + $extraclass = ' inactive'; | ||
| 273 | + } | ||
| 274 | + | ||
| 275 | + $treeStr .= '<li class="treenode' . $extraclass . '"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">' . $treeToRender->mapnodes[$subnode_val]->getName() . 'Root</a>'; | ||
| 273 | $treeStr .= $this->_evilTreeRecursion($subnode_val, $treeToRender, $inputname); | 276 | $treeStr .= $this->_evilTreeRecursion($subnode_val, $treeToRender, $inputname); |
| 274 | $treeStr .= '</li>'; | 277 | $treeStr .= '</li>'; |
| 275 | } | 278 | } |
| @@ -300,7 +303,7 @@ class MDTree { | @@ -300,7 +303,7 @@ class MDTree { | ||
| 300 | 303 | ||
| 301 | // $treeStr .= print_r($this->activenodes,true); | 304 | // $treeStr .= print_r($this->activenodes,true); |
| 302 | // the inner section is generised. | 305 | // the inner section is generised. |
| 303 | - //$treeStr .= '<ul class="kt_treenodes"><li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);">Root</a>'; | 306 | + |
| 304 | $treeStr .= '<ul class="kt_treenodes">'; | 307 | $treeStr .= '<ul class="kt_treenodes">'; |
| 305 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); | 308 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); |
| 306 | foreach ($treeToRender->getRoot() as $node_id => $subtree_nodes) | 309 | foreach ($treeToRender->getRoot() as $node_id => $subtree_nodes) |
| @@ -309,10 +312,14 @@ class MDTree { | @@ -309,10 +312,14 @@ class MDTree { | ||
| 309 | // leaves are handled differently. | 312 | // leaves are handled differently. |
| 310 | if ($node_id !== "leaves") { | 313 | if ($node_id !== "leaves") { |
| 311 | $extraclass = ''; | 314 | $extraclass = ''; |
| 315 | + | ||
| 312 | if (array_key_exists($subtree_nodes, $this->activenodes)) { | 316 | if (array_key_exists($subtree_nodes, $this->activenodes)) { |
| 313 | $extraclass = ' active'; | 317 | $extraclass = ' active'; |
| 314 | - } | ||
| 315 | - $treeStr .= '<li class="treenode' . $extraclass . '"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);">' . $treeToRender->mapnodes[$subtree_nodes]->getName().'</a>'; | 318 | + } else { |
| 319 | + $extraclass = ' inactive'; | ||
| 320 | + } | ||
| 321 | + | ||
| 322 | + $treeStr .= '<li class="treenode' . $extraclass . '"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">' . $treeToRender->mapnodes[$subtree_nodes]->getName().'</a>'; | ||
| 316 | $treeStr .= $this->_evilTreeRecursion($subtree_nodes, $treeToRender, $inputname); | 323 | $treeStr .= $this->_evilTreeRecursion($subtree_nodes, $treeToRender, $inputname); |
| 317 | $treeStr .= '</li>'; | 324 | $treeStr .= '</li>'; |
| 318 | } | 325 | } |
lib/documentmanagement/documentutil.inc.php
| @@ -47,7 +47,7 @@ require_once(KT_LIB_DIR . "/foldermanagement/Folder.inc"); | @@ -47,7 +47,7 @@ require_once(KT_LIB_DIR . "/foldermanagement/Folder.inc"); | ||
| 47 | require_once(KT_LIB_DIR . '/workflow/workflowutil.inc.php'); | 47 | require_once(KT_LIB_DIR . '/workflow/workflowutil.inc.php'); |
| 48 | 48 | ||
| 49 | class KTDocumentUtil { | 49 | class KTDocumentUtil { |
| 50 | - function checkin($oDocument, $sFilename, $sCheckInComment, $oUser) { | 50 | + function checkin($oDocument, $sFilename, $sCheckInComment, $oUser, $aOptions = false) { |
| 51 | $oStorage =& KTStorageManagerUtil::getSingleton(); | 51 | $oStorage =& KTStorageManagerUtil::getSingleton(); |
| 52 | $iFileSize = filesize($sFilename); | 52 | $iFileSize = filesize($sFilename); |
| 53 | 53 | ||
| @@ -72,6 +72,15 @@ class KTDocumentUtil { | @@ -72,6 +72,15 @@ class KTDocumentUtil { | ||
| 72 | $oDocument->setMinorVersionNumber($oDocument->getMinorVersionNumber()+1); | 72 | $oDocument->setMinorVersionNumber($oDocument->getMinorVersionNumber()+1); |
| 73 | $oDocument->setFileSize($iFileSize); | 73 | $oDocument->setFileSize($iFileSize); |
| 74 | 74 | ||
| 75 | + if(is_array($aOptions)) { | ||
| 76 | + $sFilename = KTUtil::arrayGet($aOptions, 'newfilename', ''); | ||
| 77 | + if(strlen($sFilename)) { | ||
| 78 | + $oDocument->setFileName($sFilename); | ||
| 79 | + $default->log->info("renamed document " . $oDocument->getId() . " to " . $sFilename); | ||
| 80 | + | ||
| 81 | + } | ||
| 82 | + } | ||
| 83 | + | ||
| 75 | $bSuccess = $oDocument->update(); | 84 | $bSuccess = $oDocument->update(); |
| 76 | if ($bSuccess !== true) { | 85 | if ($bSuccess !== true) { |
| 77 | if (PEAR::isError($bSuccess)) { | 86 | if (PEAR::isError($bSuccess)) { |
| @@ -385,31 +394,35 @@ class KTDocumentUtil { | @@ -385,31 +394,35 @@ class KTDocumentUtil { | ||
| 385 | // {{{ _in_add | 394 | // {{{ _in_add |
| 386 | function &_in_add($oFolder, $sFilename, $oUser, $aOptions) { | 395 | function &_in_add($oFolder, $sFilename, $oUser, $aOptions) { |
| 387 | if (KTDocumentUtil::fileExists($oFolder, $sFilename)) { | 396 | if (KTDocumentUtil::fileExists($oFolder, $sFilename)) { |
| 388 | - $oDoc = Document::getByFilenameAndFolder($sFilename, $oFolder->getId()); | ||
| 389 | - if (PEAR::isError($oDoc)) { | 397 | + $oDoc = Document::getByFilenameAndFolder($sFilename, $oFolder->getId()); |
| 398 | + if (PEAR::isError($oDoc)) { | ||
| 390 | return PEAR::raiseError(_kt("Document with that filename already exists in this folder, and appears to be invalid. Please contact the system administrator.")); | 399 | return PEAR::raiseError(_kt("Document with that filename already exists in this folder, and appears to be invalid. Please contact the system administrator.")); |
| 391 | - } else { | ||
| 392 | - if ($oDoc->getStatusID != LIVE) { | ||
| 393 | - return PEAR::raiseError(_kt("Document with that filename already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); | ||
| 394 | - } else { | ||
| 395 | - return PEAR::raiseError(_kt("Document with that filename already exists in this folder.")); | ||
| 396 | - } | ||
| 397 | - } | 400 | + } else { |
| 401 | + if ($oDoc->getStatusID() != LIVE) { | ||
| 402 | + $sError = _kt("Document with that filename already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename."); | ||
| 403 | + } else { | ||
| 404 | + $sError = _kt("Document with that filename already exists in this folder."); | ||
| 405 | + } | ||
| 406 | + | ||
| 407 | + $sError .= _kt(' Document') . ': ' . $oDoc->getName() . ' (ID:' . $oDoc->getId() . ')'; | ||
| 408 | + return PEAR::raiseError($sError); | ||
| 409 | + } | ||
| 398 | } | 410 | } |
| 399 | $sName = KTUtil::arrayGet($aOptions, 'description', $sFilename); | 411 | $sName = KTUtil::arrayGet($aOptions, 'description', $sFilename); |
| 400 | if (KTDocumentUtil::nameExists($oFolder, $sName)) { | 412 | if (KTDocumentUtil::nameExists($oFolder, $sName)) { |
| 401 | - $oDoc = Document::getByNameAndFolder($sName, $oFolder->getId()); | ||
| 402 | - if (PEAR::isError($oDoc)) { | 413 | + $oDoc = Document::getByNameAndFolder($sName, $oFolder->getId()); |
| 414 | + if (PEAR::isError($oDoc)) { | ||
| 403 | return PEAR::raiseError(_kt("Document with that title already exists in this folder, and appears to be invalid. Please contact the system administrator.")); | 415 | return PEAR::raiseError(_kt("Document with that title already exists in this folder, and appears to be invalid. Please contact the system administrator.")); |
| 404 | - } else { | ||
| 405 | - if ($oDoc->getStatusID != LIVE) { | 416 | + } else { |
| 417 | + if ($oDoc->getStatusID != LIVE) { | ||
| 406 | return PEAR::raiseError(_kt("Document with that title already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); | 418 | return PEAR::raiseError(_kt("Document with that title already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); |
| 407 | - } else { | ||
| 408 | - return PEAR::raiseError(_kt("Document with that title already exists in this folder.")); | ||
| 409 | - } | ||
| 410 | - } | ||
| 411 | - | 419 | + } else { |
| 420 | + return PEAR::raiseError(_kt("Document with that title already exists in this folder.")); | ||
| 421 | + } | ||
| 422 | + } | ||
| 423 | + | ||
| 412 | } | 424 | } |
| 425 | + | ||
| 413 | $oUploadChannel =& KTUploadChannel::getSingleton(); | 426 | $oUploadChannel =& KTUploadChannel::getSingleton(); |
| 414 | $oUploadChannel->sendMessage(new KTUploadNewFile($sFilename)); | 427 | $oUploadChannel->sendMessage(new KTUploadNewFile($sFilename)); |
| 415 | $oDocument =& KTDocumentUtil::_add($oFolder, $sFilename, $oUser, $aOptions); | 428 | $oDocument =& KTDocumentUtil::_add($oFolder, $sFilename, $oUser, $aOptions); |
lib/subscriptions/subscriptions.inc.php
| @@ -94,11 +94,11 @@ class SubscriptionEvent { | @@ -94,11 +94,11 @@ class SubscriptionEvent { | ||
| 94 | foreach ($aUsers as $oSubscriber) { | 94 | foreach ($aUsers as $oSubscriber) { |
| 95 | 95 | ||
| 96 | // notification object first. | 96 | // notification object first. |
| 97 | - $aNotificationOptions = array(); | ||
| 98 | - $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 97 | + $aNotificationOptions = array(); |
| 98 | + $aNotificationOptions['target_user'] = $oSubscriber->getID(); | ||
| 99 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 99 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 100 | $aNotificationOptions['target_name'] = $oAddedFolder->getName(); | 100 | $aNotificationOptions['target_name'] = $oAddedFolder->getName(); |
| 101 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 101 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 102 | $aNotificationOptions['object_id'] = $oAddedFolder->getId(); // parent folder_id, in this case. | 102 | $aNotificationOptions['object_id'] = $oAddedFolder->getId(); // parent folder_id, in this case. |
| 103 | $aNotificationOptions['event_type'] = "AddFolder"; | 103 | $aNotificationOptions['event_type'] = "AddFolder"; |
| 104 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 104 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -125,7 +125,7 @@ class SubscriptionEvent { | @@ -125,7 +125,7 @@ class SubscriptionEvent { | ||
| 125 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 125 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 126 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null - is this valid? | 126 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null - is this valid? |
| 127 | $aNotificationOptions['target_name'] = $oAddedDocument->getName(); | 127 | $aNotificationOptions['target_name'] = $oAddedDocument->getName(); |
| 128 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 128 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 129 | $aNotificationOptions['object_id'] = $oAddedDocument->getId(); // parent folder_id, in this case. | 129 | $aNotificationOptions['object_id'] = $oAddedDocument->getId(); // parent folder_id, in this case. |
| 130 | $aNotificationOptions['event_type'] = "AddDocument"; | 130 | $aNotificationOptions['event_type'] = "AddDocument"; |
| 131 | 131 | ||
| @@ -155,20 +155,20 @@ class SubscriptionEvent { | @@ -155,20 +155,20 @@ class SubscriptionEvent { | ||
| 155 | // notification object first. | 155 | // notification object first. |
| 156 | $aNotificationOptions = array(); | 156 | $aNotificationOptions = array(); |
| 157 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 157 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 158 | - $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | ||
| 159 | - $aNotificationOptions['target_name'] = $oRemovedFolder->getName(); | ||
| 160 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | ||
| 161 | - $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. | ||
| 162 | - $aNotificationOptions['event_type'] = "RemoveSubscribedFolder"; | 158 | + $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 159 | + $aNotificationOptions['target_name'] = $oRemovedFolder->getName(); | ||
| 160 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); | ||
| 161 | + $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. | ||
| 162 | + $aNotificationOptions['event_type'] = "RemoveSubscribedFolder"; | ||
| 163 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 163 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| 164 | 164 | ||
| 165 | // now the email content. | 165 | // now the email content. |
| 166 | // FIXME this needs to be handled entirely within notifications from now on. | 166 | // FIXME this needs to be handled entirely within notifications from now on. |
| 167 | if ($oSubscriber->getEmailNotification() && (strlen($oSubscriber->getEmail()) > 0)) { | 167 | if ($oSubscriber->getEmailNotification() && (strlen($oSubscriber->getEmail()) > 0)) { |
| 168 | $emailContent = $content->getEmailAlertContent($oNotification); | 168 | $emailContent = $content->getEmailAlertContent($oNotification); |
| 169 | - $emailSubject = $content->getEmailAlertSubject($oNotification); | ||
| 170 | - $oEmail = new EmailAlert($oSubscriber->getEmail(), $emailSubject, $emailContent); | ||
| 171 | - $oEmail->send(); | 169 | + $emailSubject = $content->getEmailAlertSubject($oNotification); |
| 170 | + $oEmail = new EmailAlert($oSubscriber->getEmail(), $emailSubject, $emailContent); | ||
| 171 | + $oEmail->send(); | ||
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | // now grab each oSubscribers oSubscription, and delete. | 174 | // now grab each oSubscribers oSubscription, and delete. |
| @@ -188,7 +188,7 @@ class SubscriptionEvent { | @@ -188,7 +188,7 @@ class SubscriptionEvent { | ||
| 188 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 188 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 189 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 189 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 190 | $aNotificationOptions['target_name'] = $oRemovedFolder->getName(); | 190 | $aNotificationOptions['target_name'] = $oRemovedFolder->getName(); |
| 191 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 191 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 192 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. | 192 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. |
| 193 | $aNotificationOptions['event_type'] = "RemoveChildFolder"; | 193 | $aNotificationOptions['event_type'] = "RemoveChildFolder"; |
| 194 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 194 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -220,7 +220,7 @@ class SubscriptionEvent { | @@ -220,7 +220,7 @@ class SubscriptionEvent { | ||
| 220 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 220 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 221 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 221 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 222 | $aNotificationOptions['target_name'] = $oRemovedDocument->getName(); | 222 | $aNotificationOptions['target_name'] = $oRemovedDocument->getName(); |
| 223 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 223 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 224 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. | 224 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. |
| 225 | $aNotificationOptions['event_type'] = "RemoveSubscribedDocument"; | 225 | $aNotificationOptions['event_type'] = "RemoveSubscribedDocument"; |
| 226 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 226 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -251,7 +251,7 @@ class SubscriptionEvent { | @@ -251,7 +251,7 @@ class SubscriptionEvent { | ||
| 251 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 251 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 252 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 252 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 253 | $aNotificationOptions['target_name'] = $oRemovedDocument->getName(); | 253 | $aNotificationOptions['target_name'] = $oRemovedDocument->getName(); |
| 254 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 254 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 255 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. | 255 | $aNotificationOptions['object_id'] = $oParentFolder->getId(); // parent folder_id, since the removed one is removed. |
| 256 | $aNotificationOptions['event_type'] = "RemoveChildDocument"; | 256 | $aNotificationOptions['event_type'] = "RemoveChildDocument"; |
| 257 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 257 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -279,7 +279,7 @@ class SubscriptionEvent { | @@ -279,7 +279,7 @@ class SubscriptionEvent { | ||
| 279 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 279 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 280 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 280 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 281 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 281 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 282 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 282 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 283 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 283 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 284 | $aNotificationOptions['event_type'] = "ModifyDocument"; | 284 | $aNotificationOptions['event_type'] = "ModifyDocument"; |
| 285 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 285 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -304,7 +304,7 @@ class SubscriptionEvent { | @@ -304,7 +304,7 @@ class SubscriptionEvent { | ||
| 304 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 304 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 305 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 305 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 306 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 306 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 307 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 307 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 308 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 308 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 309 | $aNotificationOptions['event_type'] = "ModifyDocument"; | 309 | $aNotificationOptions['event_type'] = "ModifyDocument"; |
| 310 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 310 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -331,7 +331,7 @@ class SubscriptionEvent { | @@ -331,7 +331,7 @@ class SubscriptionEvent { | ||
| 331 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 331 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 332 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 332 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 333 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 333 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 334 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 334 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 335 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 335 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 336 | $aNotificationOptions['event_type'] = "CheckInDocument"; | 336 | $aNotificationOptions['event_type'] = "CheckInDocument"; |
| 337 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 337 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -356,7 +356,7 @@ class SubscriptionEvent { | @@ -356,7 +356,7 @@ class SubscriptionEvent { | ||
| 356 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 356 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 357 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 357 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 358 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 358 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 359 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 359 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 360 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 360 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 361 | $aNotificationOptions['event_type'] = "CheckInDocument"; | 361 | $aNotificationOptions['event_type'] = "CheckInDocument"; |
| 362 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 362 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -384,7 +384,7 @@ class SubscriptionEvent { | @@ -384,7 +384,7 @@ class SubscriptionEvent { | ||
| 384 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 384 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 385 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 385 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 386 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 386 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 387 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 387 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 388 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 388 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 389 | $aNotificationOptions['event_type'] = "CheckOutDocument"; | 389 | $aNotificationOptions['event_type'] = "CheckOutDocument"; |
| 390 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 390 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -409,7 +409,7 @@ class SubscriptionEvent { | @@ -409,7 +409,7 @@ class SubscriptionEvent { | ||
| 409 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 409 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 410 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 410 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 411 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 411 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 412 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 412 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 413 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 413 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 414 | $aNotificationOptions['event_type'] = "CheckOutDocument"; | 414 | $aNotificationOptions['event_type'] = "CheckOutDocument"; |
| 415 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 415 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -436,7 +436,7 @@ class SubscriptionEvent { | @@ -436,7 +436,7 @@ class SubscriptionEvent { | ||
| 436 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 436 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 437 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 437 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 438 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); | 438 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); |
| 439 | - $aNotificationOptions['location_name'] = $oToFolder->getName(); | 439 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 440 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. | 440 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. |
| 441 | $aNotificationOptions['event_type'] = "MovedDocument"; | 441 | $aNotificationOptions['event_type'] = "MovedDocument"; |
| 442 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 442 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -461,7 +461,7 @@ class SubscriptionEvent { | @@ -461,7 +461,7 @@ class SubscriptionEvent { | ||
| 461 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 461 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 462 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 462 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 463 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); | 463 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); |
| 464 | - $aNotificationOptions['location_name'] = $oToFolder->getName(); | 464 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 465 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. | 465 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. |
| 466 | $aNotificationOptions['event_type'] = "MovedDocument"; | 466 | $aNotificationOptions['event_type'] = "MovedDocument"; |
| 467 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 467 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -485,7 +485,7 @@ class SubscriptionEvent { | @@ -485,7 +485,7 @@ class SubscriptionEvent { | ||
| 485 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 485 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 486 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 486 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 487 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); | 487 | $aNotificationOptions['target_name'] = $oMovedDocument->getName(); |
| 488 | - $aNotificationOptions['location_name'] = $oToFolder->getName(); | 488 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 489 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. | 489 | $aNotificationOptions['object_id'] = $oToFolder->getId(); // parent folder_id, in this case. |
| 490 | $aNotificationOptions['event_type'] = "MovedDocument"; | 490 | $aNotificationOptions['event_type'] = "MovedDocument"; |
| 491 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 491 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -512,7 +512,7 @@ class SubscriptionEvent { | @@ -512,7 +512,7 @@ class SubscriptionEvent { | ||
| 512 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 512 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 513 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 513 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 514 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 514 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 515 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 515 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 516 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 516 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 517 | $aNotificationOptions['event_type'] = "ArchivedDocument"; | 517 | $aNotificationOptions['event_type'] = "ArchivedDocument"; |
| 518 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 518 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -537,7 +537,7 @@ class SubscriptionEvent { | @@ -537,7 +537,7 @@ class SubscriptionEvent { | ||
| 537 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 537 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 538 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 538 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 539 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 539 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 540 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 540 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 541 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 541 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 542 | $aNotificationOptions['event_type'] = "ArchivedDocument"; | 542 | $aNotificationOptions['event_type'] = "ArchivedDocument"; |
| 543 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 543 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -565,7 +565,7 @@ class SubscriptionEvent { | @@ -565,7 +565,7 @@ class SubscriptionEvent { | ||
| 565 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 565 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 566 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 566 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 567 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 567 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 568 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 568 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 569 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 569 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 570 | $aNotificationOptions['event_type'] = "RestoreArchivedDocument"; | 570 | $aNotificationOptions['event_type'] = "RestoreArchivedDocument"; |
| 571 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 571 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -590,7 +590,7 @@ class SubscriptionEvent { | @@ -590,7 +590,7 @@ class SubscriptionEvent { | ||
| 590 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); | 590 | $aNotificationOptions['target_user'] = $oSubscriber->getID(); |
| 591 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. | 591 | $aNotificationOptions['actor_id'] = KTUtil::arrayGet($_SESSION,"userID", null); // _won't_ be null. |
| 592 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); | 592 | $aNotificationOptions['target_name'] = $oModifiedDocument->getName(); |
| 593 | - $aNotificationOptions['location_name'] = $oParentFolder->getName(); | 593 | + $aNotificationOptions['location_name'] = Folder::generateFullFolderPath($oParentFolder->getId()); |
| 594 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. | 594 | $aNotificationOptions['object_id'] = $oModifiedDocument->getId(); // parent folder_id, in this case. |
| 595 | $aNotificationOptions['event_type'] = "RestoreArchivedDocument"; | 595 | $aNotificationOptions['event_type'] = "RestoreArchivedDocument"; |
| 596 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); | 596 | $oNotification =& KTSubscriptionNotification::generateSubscriptionNotification($aNotificationOptions); |
| @@ -692,31 +692,30 @@ class SubscriptionContent { | @@ -692,31 +692,30 @@ class SubscriptionContent { | ||
| 692 | 692 | ||
| 693 | function getEmailAlertSubject($oKTNotification) { | 693 | function getEmailAlertSubject($oKTNotification) { |
| 694 | $info = $this->_getSubscriptionData($oKTNotification); | 694 | $info = $this->_getSubscriptionData($oKTNotification); |
| 695 | - return $info["title"]; | 695 | + return $info["title"]; |
| 696 | } | 696 | } |
| 697 | 697 | ||
| 698 | function getNotificationAlertContent($oKTNotification) { | 698 | function getNotificationAlertContent($oKTNotification) { |
| 699 | $info = $this->_getSubscriptionData($oKTNotification); | 699 | $info = $this->_getSubscriptionData($oKTNotification); |
| 700 | - $oTemplating =& KTTemplating::getSingleton(); | ||
| 701 | - | ||
| 702 | - $oTemplate = $oTemplating->loadTemplate("kt3/notifications/subscriptions." . $info['event_type']); | ||
| 703 | - // if, for some reason, this doesn't actually work, use the "generic" title. | ||
| 704 | - if (PEAR::isError($oTemplate)) { | ||
| 705 | - $oTemplate = $oTemplating->loadTemplate("kt3/notifications/subscriptions.generic"); | ||
| 706 | - } | ||
| 707 | - // FIXME we need to specify the i18n by user. | ||
| 708 | - | ||
| 709 | - $isBroken = false; | ||
| 710 | - if (PEAR::isError($info['object']) || ($info['object'] === false) || is_null($info['object'])) { | ||
| 711 | - $isBroken = true; | ||
| 712 | - } | ||
| 713 | - | ||
| 714 | - $aTemplateData = array( | ||
| 715 | - "context" => $oKTNotification, | ||
| 716 | - "info" => $info, | ||
| 717 | - "is_broken" => $isBroken, | ||
| 718 | - ); | ||
| 719 | - return $oTemplate->render($aTemplateData); | 700 | + $oTemplating =& KTTemplating::getSingleton(); |
| 701 | + | ||
| 702 | + $oTemplate = $oTemplating->loadTemplate("kt3/notifications/subscriptions." . $info['event_type']); | ||
| 703 | + // if, for some reason, this doesn't actually work, use the "generic" title. | ||
| 704 | + if (PEAR::isError($oTemplate)) { | ||
| 705 | + $oTemplate = $oTemplating->loadTemplate("kt3/notifications/subscriptions.generic"); | ||
| 706 | + } | ||
| 707 | + // FIXME we need to specify the i18n by user. | ||
| 708 | + | ||
| 709 | + $isBroken = false; | ||
| 710 | + if (PEAR::isError($info['object']) || ($info['object'] === false) || is_null($info['object'])) { | ||
| 711 | + $isBroken = true; | ||
| 712 | + } | ||
| 713 | + | ||
| 714 | + $aTemplateData = array("context" => $oKTNotification, | ||
| 715 | + "info" => $info, | ||
| 716 | + "is_broken" => $isBroken, | ||
| 717 | + ); | ||
| 718 | + return $oTemplate->render($aTemplateData); | ||
| 720 | } | 719 | } |
| 721 | // no separate subject function, its rolled into get...Content() | 720 | // no separate subject function, its rolled into get...Content() |
| 722 | 721 | ||
| @@ -752,11 +751,12 @@ class SubscriptionContent { | @@ -752,11 +751,12 @@ class SubscriptionContent { | ||
| 752 | if ($info['actor_id'] !== null) { | 751 | if ($info['actor_id'] !== null) { |
| 753 | $oTempUser = User::get($info['actor_id']); | 752 | $oTempUser = User::get($info['actor_id']); |
| 754 | if (PEAR::isError($oTempUser) || ($oTempUser == false)) { | 753 | if (PEAR::isError($oTempUser) || ($oTempUser == false)) { |
| 755 | - // no-act | ||
| 756 | - $info['actor'] = null; | 754 | + // no-act |
| 755 | + $info['actor'] = null; | ||
| 757 | } else { | 756 | } else { |
| 758 | $info['actor'] = $oTempUser; | 757 | $info['actor'] = $oTempUser; |
| 759 | - $info['has_actor'] = true; | 758 | + $info['has_actor'] = true; |
| 759 | + $info['actor_name'] = $oTempUser->getName(); | ||
| 760 | } | 760 | } |
| 761 | } | 761 | } |
| 762 | 762 |
lib/widgets/fieldsetDisplay.inc.php
| @@ -287,8 +287,11 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { | @@ -287,8 +287,11 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { | ||
| 287 | "document_data" => $aDocumentData, | 287 | "document_data" => $aDocumentData, |
| 288 | "document" => $aDocumentData["document"], | 288 | "document" => $aDocumentData["document"], |
| 289 | 289 | ||
| 290 | - "filename" => $document->getFileName(), | ||
| 291 | - "comparison_filename" => $comparison_document->getFileName(), | 290 | + "title" => $document->getName(), |
| 291 | + "comparison_title" => $comparison_document->getName(), | ||
| 292 | + | ||
| 293 | + "filename" => $document->getFileName(), | ||
| 294 | + "comparison_filename" => $comparison_document->getFileName(), | ||
| 292 | 295 | ||
| 293 | "creator" => $creator, | 296 | "creator" => $creator, |
| 294 | "creation_date" => $creation_date, | 297 | "creation_date" => $creation_date, |
plugins/ktcore/KTDocumentActions.php
| @@ -233,12 +233,33 @@ class KTDocumentCheckInAction extends KTDocumentAction { | @@ -233,12 +233,33 @@ class KTDocumentCheckInAction extends KTDocumentAction { | ||
| 233 | 233 | ||
| 234 | // and that the filename matches | 234 | // and that the filename matches |
| 235 | global $default; | 235 | global $default; |
| 236 | - $default->log->info("checkInDocumentBL.php uploaded filename=" . $_FILES['file']['name'] . "; current filename=" . $this->oDocument->getFileName()); | 236 | + |
| 237 | + $sCurrentFilename = $this->oDocument->getFileName(); | ||
| 238 | + $sNewFilename = $_FILES['file']['name']; | ||
| 239 | + | ||
| 240 | + $default->log->info("checkInDocumentBL.php uploaded filename=" . $sNewFilename . "; current filename=" . $sCurrentFilename); | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + /* | ||
| 244 | + * now allowing this - document's filename is set in 'checkin' | ||
| 245 | + */ | ||
| 237 | if ($this->oDocument->getFileName() != $_FILES['file']['name']) { | 246 | if ($this->oDocument->getFileName() != $_FILES['file']['name']) { |
| 238 | $this->errorRedirectToMain(_kt("The file name of the uploaded file does not match the file name of the document in the system"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); | 247 | $this->errorRedirectToMain(_kt("The file name of the uploaded file does not match the file name of the document in the system"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); |
| 239 | } | 248 | } |
| 249 | + /**/ | ||
| 250 | + | ||
| 251 | + | ||
| 240 | 252 | ||
| 241 | - $res = KTDocumentUtil::checkin($this->oDocument, $_FILES['file']['tmp_name'], $sReason, $this->oUser); | 253 | + $aOptions = array(); |
| 254 | + | ||
| 255 | + /* | ||
| 256 | + if($sNewFilename != $sCurrentFilename) { | ||
| 257 | + $aOptions['newfilename'] = $sNewFilename; | ||
| 258 | + } | ||
| 259 | + */ | ||
| 260 | + | ||
| 261 | + | ||
| 262 | + $res = KTDocumentUtil::checkin($this->oDocument, $_FILES['file']['tmp_name'], $sReason, $this->oUser, $aOptions); | ||
| 242 | if (PEAR::isError($res)) { | 263 | if (PEAR::isError($res)) { |
| 243 | $this->errorRedirectToMain(_kt("An error occurred while trying to check in the document"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); | 264 | $this->errorRedirectToMain(_kt("An error occurred while trying to check in the document"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); |
| 244 | } | 265 | } |
| @@ -970,8 +991,18 @@ class KTDocumentWorkflowAction extends KTDocumentAction { | @@ -970,8 +991,18 @@ class KTDocumentWorkflowAction extends KTDocumentAction { | ||
| 970 | 991 | ||
| 971 | $oUser =& User::get($_SESSION['userID']); | 992 | $oUser =& User::get($_SESSION['userID']); |
| 972 | $res = KTWorkflowUtil::performTransitionOnDocument($oTransition, $oDocument, $oUser, $sComments); | 993 | $res = KTWorkflowUtil::performTransitionOnDocument($oTransition, $oDocument, $oUser, $sComments); |
| 973 | - $this->successRedirectToMain(_kt('Transition performed'), | 994 | + |
| 995 | + if(!Permission::userHasDocumentReadPermission($oDocument)) { | ||
| 996 | + $this->successRedirectTo( | ||
| 997 | + 'browse', | ||
| 998 | + _kt('Transition performed') . '. ' . _kt('You no longer have permission to view this document'), | ||
| 999 | + array('fFolderId' => $oDocument->getFolderId()) | ||
| 1000 | + ); | ||
| 1001 | + | ||
| 1002 | + } else { | ||
| 1003 | + $this->successRedirectToMain(_kt('Transition performed'), | ||
| 974 | array('fDocumentId' => $oDocument->getId())); | 1004 | array('fDocumentId' => $oDocument->getId())); |
| 1005 | + } | ||
| 975 | } | 1006 | } |
| 976 | } | 1007 | } |
| 977 | // }}} | 1008 | // }}} |
plugins/ktcore/admin/documentFields.php
| @@ -839,7 +839,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | @@ -839,7 +839,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | ||
| 839 | foreach ($treeToRender->contents[$subnode] as $subnode_id => $subnode_val) | 839 | foreach ($treeToRender->contents[$subnode] as $subnode_id => $subnode_val) |
| 840 | { | 840 | { |
| 841 | if ($subnode_id !== "leaves") { | 841 | if ($subnode_id !== "leaves") { |
| 842 | - $treeStr .= '<li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active, this.parentNode);">' . $treeToRender->mapnodes[$subnode_val]->getName() . '</a>'; | 842 | + $treeStr .= '<li class="treenode active"><a class="pathnode inactive" onclick="toggleElementClass(\'active\', this.parentNode); toggleElementClass(\'inactive, this.parentNode);">' . $treeToRender->mapnodes[$subnode_val]->getName() . '</a>'; |
| 843 | $treeStr .= $this->_evilActionHelper($treeToRender->field_id, false, $subnode_val); | 843 | $treeStr .= $this->_evilActionHelper($treeToRender->field_id, false, $subnode_val); |
| 844 | $treeStr .= $this->_evilTreeRecursion($subnode_val, $treeToRender); | 844 | $treeStr .= $this->_evilTreeRecursion($subnode_val, $treeToRender); |
| 845 | $treeStr .= '</li>'; | 845 | $treeStr .= '</li>'; |
| @@ -868,7 +868,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | @@ -868,7 +868,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | ||
| 868 | 868 | ||
| 869 | // since the root is virtual, we need to fake it here. | 869 | // since the root is virtual, we need to fake it here. |
| 870 | // the inner section is generised. | 870 | // the inner section is generised. |
| 871 | - $treeStr .= '<ul class="kt_treenodes"><li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);">Root</a>'; | 871 | + $treeStr .= '<ul class="kt_treenodes"><li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">Root</a>'; |
| 872 | $treeStr .= ' (<a href="' . KTUtil::addQueryStringSelf('action=editTree&field_id='.$treeToRender->field_id.'¤t_node=0') . '">edit</a>)'; | 872 | $treeStr .= ' (<a href="' . KTUtil::addQueryStringSelf('action=editTree&field_id='.$treeToRender->field_id.'¤t_node=0') . '">edit</a>)'; |
| 873 | $treeStr .= '<ul>'; | 873 | $treeStr .= '<ul>'; |
| 874 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); | 874 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); |
| @@ -878,7 +878,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | @@ -878,7 +878,7 @@ class KTDocumentFieldDispatcher extends KTAdminDispatcher { | ||
| 878 | // leaves are handled differently. | 878 | // leaves are handled differently. |
| 879 | if ($node_id !== "leaves") { | 879 | if ($node_id !== "leaves") { |
| 880 | // $default->log->debug("EVILRENDER: " . print_r($subtree_nodes, true)); | 880 | // $default->log->debug("EVILRENDER: " . print_r($subtree_nodes, true)); |
| 881 | - $treeStr .= '<li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);">' . $treeToRender->mapnodes[$subtree_nodes]->getName() . '</a>'; | 881 | + $treeStr .= '<li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">' . $treeToRender->mapnodes[$subtree_nodes]->getName() . '</a>'; |
| 882 | $treeStr .= $this->_evilActionHelper($treeToRender->field_id, false, $subtree_nodes); | 882 | $treeStr .= $this->_evilActionHelper($treeToRender->field_id, false, $subtree_nodes); |
| 883 | $treeStr .= $this->_evilTreeRecursion($subtree_nodes, $treeToRender); | 883 | $treeStr .= $this->_evilTreeRecursion($subtree_nodes, $treeToRender); |
| 884 | $treeStr .= '</li>'; | 884 | $treeStr .= '</li>'; |
plugins/ktcore/folder/addDocument.php
| @@ -71,6 +71,7 @@ class KTFolderAddDocumentAction extends KTFolderAction { | @@ -71,6 +71,7 @@ class KTFolderAddDocumentAction extends KTFolderAction { | ||
| 71 | $add_fields = array(); | 71 | $add_fields = array(); |
| 72 | $add_fields[] = new KTFileUploadWidget(_kt('File'), _kt('The contents of the document to be added to the document management system.'), 'file', "", $this->oPage, true, null, null, $aOptions); | 72 | $add_fields[] = new KTFileUploadWidget(_kt('File'), _kt('The contents of the document to be added to the document management system.'), 'file', "", $this->oPage, true, null, null, $aOptions); |
| 73 | $add_fields[] = new KTStringWidget(_kt('Title'), _kt('The document title is used as the main name of a document throughout KnowledgeTree.'), 'title', "", $this->oPage, true, null, null, $aOptions); | 73 | $add_fields[] = new KTStringWidget(_kt('Title'), _kt('The document title is used as the main name of a document throughout KnowledgeTree.'), 'title', "", $this->oPage, true, null, null, $aOptions); |
| 74 | + $add_fields[] = new KTStringWidget(_kt('New Filename'), _kt('If you wish to upload this file under a different filename, enter it here.'), 'altfilename', "", $this->oPage, false, null, null, $aOptions); | ||
| 74 | 75 | ||
| 75 | 76 | ||
| 76 | $aVocab = array('' => _kt('<Please select a document type>')); | 77 | $aVocab = array('' => _kt('<Please select a document type>')); |
| @@ -120,7 +121,13 @@ class KTFolderAddDocumentAction extends KTFolderAction { | @@ -120,7 +121,13 @@ class KTFolderAddDocumentAction extends KTFolderAction { | ||
| 120 | 121 | ||
| 121 | $aFile = $this->oValidator->validateFile($_FILES['file'], $aErrorOptions); | 122 | $aFile = $this->oValidator->validateFile($_FILES['file'], $aErrorOptions); |
| 122 | $sTitle = $this->oValidator->validateString($_REQUEST['title'], $aErrorOptions); | 123 | $sTitle = $this->oValidator->validateString($_REQUEST['title'], $aErrorOptions); |
| 123 | - | 124 | + $sAltFilename = KTUtil::arrayGet($_REQUEST, 'altfilename', ''); |
| 125 | + | ||
| 126 | + if(strlen(trim($sAltFilename))) { | ||
| 127 | + $aFile['name'] = $sAltFilename; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + | ||
| 124 | $iFolderId = $this->oFolder->getId(); | 131 | $iFolderId = $this->oFolder->getId(); |
| 125 | /* | 132 | /* |
| 126 | // this is now done in ::add | 133 | // this is now done in ::add |
resources/css/kt-framing.css
| @@ -487,8 +487,19 @@ a.main_nav_item { | @@ -487,8 +487,19 @@ a.main_nav_item { | ||
| 487 | border-width: 1px; | 487 | border-width: 1px; |
| 488 | } | 488 | } |
| 489 | .metadata.versioned dd .current.different { | 489 | .metadata.versioned dd .current.different { |
| 490 | + background-color: #fff2b8; | ||
| 491 | +/* | ||
| 490 | padding-left: 25px; | 492 | padding-left: 25px; |
| 491 | background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat; | 493 | background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat; |
| 494 | +*/ | ||
| 495 | +} | ||
| 496 | + | ||
| 497 | +.metadata.versioned dd .previous.different { | ||
| 498 | + background-color: #e9dda8; | ||
| 499 | +/* | ||
| 500 | + padding-left: 25px; | ||
| 501 | + background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat; | ||
| 502 | +*/ | ||
| 492 | } | 503 | } |
| 493 | 504 | ||
| 494 | .document_details .document_history thead th { | 505 | .document_details .document_history thead th { |
resources/css/kt-ie-icons.css
| @@ -32,4 +32,31 @@ | @@ -32,4 +32,31 @@ | ||
| 32 | /* IE is woefully unable to */ | 32 | /* IE is woefully unable to */ |
| 33 | #portletbar { width: 200px; } | 33 | #portletbar { width: 200px; } |
| 34 | #portlet-search-text { width: 150px; } | 34 | #portlet-search-text { width: 150px; } |
| 35 | -#content { padding-left: 220px; } | ||
| 36 | \ No newline at end of file | 35 | \ No newline at end of file |
| 36 | +#content { padding-left: 220px; } | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + | ||
| 40 | +/* NO CHILD SELECTORS IN IE! */ | ||
| 41 | + | ||
| 42 | +.kt_treenodes li.treenode a.pathnode | ||
| 43 | +{ | ||
| 44 | + padding-left: 15px; | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +.kt_treenodes li.treenode.active a.pathnode { | ||
| 48 | + background: transparent url(../graphics/minus.png) center left no-repeat; | ||
| 49 | + | ||
| 50 | +} | ||
| 51 | + | ||
| 52 | +.kt_treenodes li.treenode.inactive a.pathnode { | ||
| 53 | + background: transparent url(../graphics/plus.png) center left no-repeat; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | + | ||
| 57 | +.kt_treenodes li.active ul { | ||
| 58 | + display: block; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +.kt_treenodes li.inactive ul { | ||
| 62 | + display: none; | ||
| 63 | +} |
templates/kt3/fieldsets/generic_versioned.smarty
| @@ -5,12 +5,20 @@ | @@ -5,12 +5,20 @@ | ||
| 5 | document.{/i18n} | 5 | document.{/i18n} |
| 6 | </p> | 6 | </p> |
| 7 | <dl class="metadata versioned"> | 7 | <dl class="metadata versioned"> |
| 8 | + <dt>{i18n}Document Title{/i18n}</dt> | ||
| 9 | + <dd> | ||
| 10 | + {capture assign="oldval"}{$comparison_title}{/capture} | ||
| 11 | + {capture assign="newval"}{$title}{/capture} | ||
| 12 | + <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | ||
| 13 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> | ||
| 14 | + </dd> | ||
| 15 | + | ||
| 8 | <dt>{i18n}Document Filename{/i18n}</dt> | 16 | <dt>{i18n}Document Filename{/i18n}</dt> |
| 9 | <dd> | 17 | <dd> |
| 10 | {capture assign="oldval"}{$comparison_filename} ({$context->_sizeHelper($comparison_document->getSize())}){/capture} | 18 | {capture assign="oldval"}{$comparison_filename} ({$context->_sizeHelper($comparison_document->getSize())}){/capture} |
| 11 | {capture assign="newval"}{$filename} ({$context->_sizeHelper($document->getSize())}){/capture} | 19 | {capture assign="newval"}{$filename} ({$context->_sizeHelper($document->getSize())}){/capture} |
| 12 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | 20 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> |
| 13 | - <div class="previous">{$oldval}</div> | 21 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> |
| 14 | </dd> | 22 | </dd> |
| 15 | 23 | ||
| 16 | <dt>{i18n}File is a{/i18n} </dt> | 24 | <dt>{i18n}File is a{/i18n} </dt> |
| @@ -18,7 +26,7 @@ | @@ -18,7 +26,7 @@ | ||
| 18 | {capture assign="oldval"}{$context->_mimeHelper($comparison_document->getMimeTypeID())}{/capture} | 26 | {capture assign="oldval"}{$context->_mimeHelper($comparison_document->getMimeTypeID())}{/capture} |
| 19 | {capture assign="newval"}{$context->_mimeHelper($document->getMimeTypeID())}{/capture} | 27 | {capture assign="newval"}{$context->_mimeHelper($document->getMimeTypeID())}{/capture} |
| 20 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | 28 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> |
| 21 | - <div class="previous">{$oldval}</div> | 29 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> |
| 22 | </dd> | 30 | </dd> |
| 23 | 31 | ||
| 24 | <dt>{i18n}Created by{/i18n}</dt> | 32 | <dt>{i18n}Created by{/i18n}</dt> |
| @@ -31,7 +39,7 @@ | @@ -31,7 +39,7 @@ | ||
| 31 | {capture assign="oldval"}{$comparison_last_modified_by} ({$comparison_last_modified_date}){/capture} | 39 | {capture assign="oldval"}{$comparison_last_modified_by} ({$comparison_last_modified_date}){/capture} |
| 32 | {capture assign="newval"}{$last_modified_by} ({$last_modified_date}){/capture} | 40 | {capture assign="newval"}{$last_modified_by} ({$last_modified_date}){/capture} |
| 33 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | 41 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> |
| 34 | - <div class="previous">{$oldval}</div> | 42 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> |
| 35 | </dd> | 43 | </dd> |
| 36 | 44 | ||
| 37 | 45 | ||
| @@ -40,7 +48,7 @@ | @@ -40,7 +48,7 @@ | ||
| 40 | {capture assign="oldval"}{$comparison_document_type}{/capture} | 48 | {capture assign="oldval"}{$comparison_document_type}{/capture} |
| 41 | {capture assign="newval"}{$document_type}{/capture} | 49 | {capture assign="newval"}{$document_type}{/capture} |
| 42 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | 50 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> |
| 43 | - <div class="previous">{$oldval}</div> | 51 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> |
| 44 | </dd> | 52 | </dd> |
| 45 | 53 | ||
| 46 | <dt>{i18n}Workflow status{/i18n}</dt> | 54 | <dt>{i18n}Workflow status{/i18n}</dt> |
| @@ -56,7 +64,7 @@ | @@ -56,7 +64,7 @@ | ||
| 56 | {i18n}No workflow{/i18n} | 64 | {i18n}No workflow{/i18n} |
| 57 | {/if}{/capture} | 65 | {/if}{/capture} |
| 58 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> | 66 | <div class="current {if ($oldval != $newval)}different{/if}">{$newval}</div> |
| 59 | - <div class="previous">{$oldval}</div> | 67 | + <div class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</div> |
| 60 | </dd> | 68 | </dd> |
| 61 | <dt>{i18n}Document ID{/i18n}</dt> | 69 | <dt>{i18n}Document ID{/i18n}</dt> |
| 62 | <dd> | 70 | <dd> |
templates/kt3/fieldsets/simple_versioned.smarty
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | <dd><div class="current {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> | 14 | <dd><div class="current {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> |
| 15 | {if ($aFieldPair.current_value !== null)}{$aFieldPair.current_value} | 15 | {if ($aFieldPair.current_value !== null)}{$aFieldPair.current_value} |
| 16 | {else}<span class="ktInlineError">{i18n}no value in this version{/i18n}</span>{/if} | 16 | {else}<span class="ktInlineError">{i18n}no value in this version{/i18n}</span>{/if} |
| 17 | - </div><div class="previous"> | 17 | + </div><div class="previous {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> |
| 18 | {if ($aFieldPair.previous_value !== null)}{$aFieldPair.previous_value} | 18 | {if ($aFieldPair.previous_value !== null)}{$aFieldPair.previous_value} |
| 19 | {else}<span class="ktInlineError">{i18n}no value in this version{/i18n}</span>{/if} | 19 | {else}<span class="ktInlineError">{i18n}no value in this version{/i18n}</span>{/if} |
| 20 | </div> | 20 | </div> |
templates/kt3/notifications/subscriptions.AddDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" was added{if ($info.location_name !== null)} to "{$info.location_name}"{/if}. | 4 | + The document "{$info.object_name}" was added{if ($info.location_name !== null)} to "{$info.location_name}"{/if}{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> |
templates/kt3/notifications/subscriptions.AddFolder.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The folder "{$info.object_name}" was added{if ($info.location_name !== null)} to "{$info.location_name}"{/if}. | 4 | + The folder "{$info.object_name}" was added{if ($info.location_name !== null)} to "{$info.location_name}"{/if}{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View New Folder{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View New Folder{/i18n}</a> |
| 8 | {else} | 9 | {else} |
| 9 | <span class="descriptiveText">{i18n}Document is no longer available{/i18n}</span> | 10 | <span class="descriptiveText">{i18n}Document is no longer available{/i18n}</span> |
| 10 | {/if} | 11 | {/if} |
| 11 | - | | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> | 12 | + | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> |
| 12 | </div> | 13 | </div> |
| 13 | </dd> | 14 | </dd> |
templates/kt3/notifications/subscriptions.CheckInDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" has been checked in, in the folder "{$info.location_name}". | 4 | + The document "{$info.object_name}" has been checked in{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}, in the folder "{$info.location_name}". | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> |
templates/kt3/notifications/subscriptions.CheckOutDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" has been checked out, in the folder "{$info.location_name}". | 4 | + The document "{$info.object_name}" has been checked out{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}, in the folder "{$info.location_name}". | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> |
templates/kt3/notifications/subscriptions.ModifyDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" has been changed in the folder "{$info.location_name}". {$info.object} | 4 | + The document "{$info.object_name}" has been changed in the folder "{$info.location_name}"{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. {$info.object} | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Document{/i18n}</a> |
templates/kt3/notifications/subscriptions.MoveDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" has been moved to the folder "{$info.location_name}". | 4 | + The document "{$info.object_name}" has been moved to the folder "{$info.location_name}"{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View New Location{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View New Location{/i18n}</a> |
templates/kt3/notifications/subscriptions.RemoveChildDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" has been removed from the folder "{$info.location_name}", to which you are subscribed. | 4 | + The document "{$info.object_name}" has been removed from the folder "{$info.location_name}" (to which you are subscribed){if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | 7 | ||
| 7 | {if !$is_broken} | 8 | {if !$is_broken} |
templates/kt3/notifications/subscriptions.RemoveChildFolder.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The folder "{$info.object_name}" was removed{if ($info.location_name !== null)} from "{$info.location_name}"{/if}. | 4 | + The folder "{$info.object_name}" was removed{if ($info.location_name !== null)} from "{$info.location_name}"{/if}{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | {if !$is_broken} | 7 | {if !$is_broken} |
| 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Folder{/i18n}</a> | 8 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`"}">{i18n}View Folder{/i18n}</a> |
templates/kt3/notifications/subscriptions.RemoveSubscribedDocument.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The document "{$info.object_name}" to which you were subscribed, has been removed. | 4 | + The document "{$info.object_name}" to which you were subscribed, has been removed{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> | 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> |
| 7 | </div> | 8 | </div> |
templates/kt3/notifications/subscriptions.RemoveSubscribedFolder.smarty
| 1 | <dt class="actionitem subscription">{$info.title}</dt> | 1 | <dt class="actionitem subscription">{$info.title}</dt> |
| 2 | <dd class="actionmessage"> | 2 | <dd class="actionmessage"> |
| 3 | <!-- could break this up. --> | 3 | <!-- could break this up. --> |
| 4 | - The folder "{$info.object_name}" to which you were subscribed, was removed. | 4 | + The folder "{$info.object_name}" to which you were subscribed, was removed{if ($info.has_actor)} |
| 5 | + by {$info.actor_name}{/if}. | ||
| 5 | <div class="actionoptions"> | 6 | <div class="actionoptions"> |
| 6 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> | 7 | <a href="{ktLink base="notify.php" query="id=`$info.notify_id`¬ify_action=clear"}">{i18n}Clear Alert{/i18n}</a> |
| 7 | </div> | 8 | </div> |