subscriptionManager.php
4.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
include("../../config/dmsDefaults.php");
if (checkSession()) {
require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionManager.inc");
$oSubscriptionManager = new SubscriptionManager();
echo "<b>Testing folder subscriptions</b><br>";
$iFolderID = 1;
$iUserID = 1;
echo "<ul><li>Testing folder subscription creation with folderID=$iFolderID, userID=$iUserID :";
if ($oSubscriptionManager->createSubscription($iUserID, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"))) {
echo "Passed creating folder subscription</li>";
echo "<li>Testing folder subscription removal with folderID=$iFolderID, userID=$iUserID :";
if ($oSubscriptionManager->removeSubscription($iUserID, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"))) {
echo "Passed removing folder subscription</li>";
} else {
echo "Failed removing folder subscription(" . $_SESSION["errorMessage"] . ")</li>";
}
} else {
echo "Failed creating folder subscription(" . $_SESSION["errorMessage"] . ")</li><li>Skipped folder subscription removal</li>";
}
echo "</ul><b>Testing document subscriptions</b><br>";
$iDocumentID = 6;
$iUserID = 1;
echo "<ul><li>Testing document subscription creation with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->createSubscription($iUserID, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
echo "Passed creating document subscription</li>";
echo "<li>Testing document subscription removal with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->removeSubscription($iUserID, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
echo "Passed removing document subscription</li>";
} else {
echo "Failed removing document subscription(" . $_SESSION["errorMessage"] . ")</li>";
}
} else {
echo "Failed creating document subscription(" . $_SESSION["errorMessage"] . ")</li><li>Skipped document subscription removal</li></ul>";
}
echo "</ul><b>Testing subscription retrieval</b><br>";
// first create some subscriptions
$iUserID = 10;
echo "<ul><li>Creating folder subscriptions<ul>";
for ($tmpFolderID = 1; $tmpFolderID<=5; $tmpFolderID++) {
if ($oSubscriptionManager->createSubscription($iUserID, $tmpFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"))) {
echo "<li>created folder subscription folderID=$tmpFolderID for userID=$iUserID</li>";
} else {
echo "<li>folder subscription creation failed(" . $_SESSION["errorMessage"] . "): folderID=$tmpFolderID for userID=$iUserID</li>";
}
}
echo "</li></ul>";
echo "<li>Creating document subscriptions<ul>";
for ($tmpDocumentID = 5; $tmpDocumentID>0; $tmpDocumentID--) {
if ($oSubscriptionManager->createSubscription($iUserID, $tmpDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
echo "<li>created document subscription documentID=$tmpDocumentID for userID=$iUserID</li>";
} else {
echo "<li>document subscription creation failed(" . $_SESSION["errorMessage"] . "): documentID=$tmpDocumentID for userID=$iUserID</li>";
}
}
echo "</li></ul>";
// now try to retrieve them
echo "<li>folder subscriptions for userID=$iUserID:";
$aFolders = $oSubscriptionManager->retrieveSubscriptions($iUserID, SubscriptionConstants::subscriptionType("FolderSubscription"));
echo "<pre>" . arrayToString($aFolders) . "</pre></li>";
echo "<li>document subscriptions for userID=$iUserID:";
$aDocuments = $oSubscriptionManager->retrieveSubscriptions($iUserID, SubscriptionConstants::subscriptionType("DocumentSubscription"));
echo "<pre>" . arrayToString($aDocuments) . "</pre></li>";
// now try retrieving both
echo "<li>all subscriptions for userID=$iUserID:";
$oResults = $oSubscriptionManager->listSubscriptions($iUserID);
echo "<pre>" . arrayToString($oResults) . "</pre></li>";
echo "</ul>";
// cleanup silently
for ($i = 1; $i<=5; $i++) {
$oSubscriptionManager->removeSubscription($iUserID, $i, SubscriptionConstants::subscriptionType("FolderSubscription"));
$oSubscriptionManager->removeSubscription($iUserID, $i, SubscriptionConstants::subscriptionType("DocumentSubscription"));
$oSubscriptionManager->removeSubscription($i, $iFolderID,SubscriptionConstants::subscriptionType("FolderSubscription") );
$oSubscriptionManager->removeSubscription($i, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"));
}
}
?>