subscriptionManager.php
5.07 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
include("../../config/dmsDefaults.php");
if (checkSession()) {
require_once("$default->owl_fs_root/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->createFolderSubscription($iFolderID, $iUserID)) {
echo "Passed creating folder subscription</li>";
echo "<li>Testing folder subscription removal with folderID=$iFolderID, userID=$iUserID :";
if ($oSubscriptionManager->removeFolderSubscription($iFolderID, $iUserID)) {
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 = 2;
$iUserID = 1;
echo "<ul><li>Testing document subscription creation with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->createDocumentSubscription($iDocumentID, $iUserID)) {
echo "Passed creating document subscription</li>";
echo "<li>Testing document subscription removal with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->removeDocumentSubscription($iDocumentID, $iUserID)) {
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 ($i = 1; $i<=5; $i++) {
if ($oSubscriptionManager->createFolderSubscription($i, $iUserID)) {
echo "<li>created folder subscription folderID=$i for userID=$iUserID</li>";
} else {
echo "<li>folder subscription creation failed(" . $_SESSION["errorMessage"] . "): folderID=$i for userID=$iUserID</li>";
}
}
echo "</li></ul>";
echo "<li>Creating document subscriptions<ul>";
for ($i = 6; $i>0; $i--) {
if ($oSubscriptionManager->createDocumentSubscription($i, $iUserID)) {
echo "<li>created document subscription documentID=$i for userID=$iUserID</li>";
} else {
echo "<li>document subscription creation failed(" . $_SESSION["errorMessage"] . "): documentID=$i for userID=$iUserID</li>";
}
}
echo "</li></ul>";
// now try to retrieve them
echo "<li>folder subscriptions for userID=$iUserID:";
$aFolders = $oSubscriptionManager->retrieveFolderSubscriptions($iUserID);
echo "<pre>" . arrayToString($aFolders) . "</pre></li>";
echo "<li>document subscriptions for userID=$iUserID:";
$aDocuments = $oSubscriptionManager->retrieveDocumentSubscriptions($iUserID);
echo "<pre>" . arrayToString($aDocuments) . "</pre></li>";
// now try retrieving both
echo "<li>all subscriptions for userID=$iUserID:";
$oResults = $oSubscriptionManager->retrieveSubscriptions($iUserID);
echo "<pre>" . arrayToString($oResults) . "</pre></li>";
echo "</ul>";
// test subscribers retrieval methods
echo "<b>Testing subscriber retrieval</b><br>";
// add some subscriptions
$iDocumentID = 4;
$iFolderID = 20;
for ($i = 6; $i>0; $i--) {
if ($oSubscriptionManager->createFolderSubscription($iFolderID, $i)) {
echo "<li>created folder subscription documentID=$iFolderID for userID=$i</li>";
} else {
echo "<li>folder creation failed(" . $_SESSION["errorMessage"] . "): documentID=$iFolderID for userID=$i</li>";
}
if ($oSubscriptionManager->createDocumentSubscription($iDocumentID, $i)) {
echo "<li>created document subscription documentID=$iDocumentID for userID=$i</li>";
} else {
echo "<li>document creation failed(" . $_SESSION["errorMessage"] . "): documentID=$iDocumentID for userID=$i</li>";
}
}
$aFolderSubscribers = $oSubscriptionManager->retrieveFolderSubscribers($iFolderID);
$aDocumentSubscribers = $oSubscriptionManager->retrieveDocumentSubscribers($iDocumentID);
echo "Subscribers for folderID=$iFolderID:";
echo "<pre>" . arrayToString($aFolderSubscribers) . "</pre>";
echo "Subscribers for documentID=$iDocumentID:";
echo "<pre>" . arrayToString($aDocumentSubscribers) . "</pre>";
// cleanup silently
for ($i = 1; $i<=5; $i++) {
$oSubscriptionManager->removeFolderSubscription($i, $iUserID);
$oSubscriptionManager->removeDocumentSubscription($i, $iUserID);
}
}
?>