aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2016-11-25 07:54:49 +0100
committerChristian Weiske <cweiske@cweiske.de>2016-11-25 07:56:16 +0100
commitacf02a1269b9c191a66a7ea476f11d53d4ad0c08 (patch)
tree94332bd05859677747c4ffaad857b79f0c4351e2 /bin
parentdd3e0698a71ca2746166f006135aeace83dfeb20 (diff)
downloadphinde-acf02a1269b9c191a66a7ea476f11d53d4ad0c08.tar.gz
phinde-acf02a1269b9c191a66a7ea476f11d53d4ad0c08.zip
script to renew websub subscriptionsv0.2.0
Diffstat (limited to 'bin')
-rwxr-xr-xbin/renew-subscriptions.php16
-rwxr-xr-xbin/subscribe.php14
2 files changed, 25 insertions, 5 deletions
diff --git a/bin/renew-subscriptions.php b/bin/renew-subscriptions.php
new file mode 100755
index 0000000..16bc11b
--- /dev/null
+++ b/bin/renew-subscriptions.php
@@ -0,0 +1,16 @@
+#!/usr/bin/env php
+<?php
+namespace phinde;
+/**
+ * Renew subscriptions
+ * Call this once a day with cron.
+ */
+require_once __DIR__ . '/../src/init.php';
+
+chdir(__DIR__);
+$subDb = new Subscriptions();
+foreach ($subDb->getExpiring() as $sub) {
+ Log::info('Expires soon: ' . $sub['sub_topic']);
+ passthru('./subscribe.php ' . escapeshellarg($sub['sub_topic']));
+}
+?>
diff --git a/bin/subscribe.php b/bin/subscribe.php
index 768ee10..411fa86 100755
--- a/bin/subscribe.php
+++ b/bin/subscribe.php
@@ -43,12 +43,16 @@ if ($topic != $url) {
}
$sub = $subDb->get($topic);
-if ($sub !== false) {
- Log::error('Topic exists already in subscription table');
- Log::info('Current status: ' . $sub->sub_status);
- exit(3);
+if ($sub === false) {
+ $subDb->create($topic);
+} else {
+ Log::info(
+ 'Topic exists already in subscription table with status '
+ . $sub->sub_status
+ );
+ Log::info('Renewing subscription...');
+ $subDb->renew($sub->sub_id);
}
-$subDb->create($topic);
$sub = $subDb->get($topic);
$callbackUrl = $GLOBALS['phinde']['baseurl'] . 'push-subscription.php'