Frontend for handling subscription changes.

This commit is contained in:
Thomas Nilsen 2018-11-25 17:23:07 +01:00
parent 82e3dcb11e
commit cf1f00e9b5

View File

@ -1,74 +1,42 @@
<?php <?php
require_once("template.php");
require_once("config.php"); require_once("config.php");
require_once("template.php");
require_once("classes/constellation.php"); require_once("classes/constellation.php");
Template::render_header("Subscriptions"); require_once("classes/subscriptions.php");
$tg_user = getTelegramUserData(); require_once("classes/telegram.php");
if($tg_user !== false){ $subscription = new Subscriptions();
$telegram = new Telegram();
Template::render_header("Subscriptions");
if ( SUBSCRIBE_TELEGRAM && $_SESSION['subscriber_typeid'] == 2 ) {
$tg_user = $telegram->getTelegramUserData(); // TODO: Do we need this any longer?
}
if( $_SESSION['subscriber_valid'] ){
$typeID = $_SESSION['subscriber_typeid'];
$subscriberID = $_SESSION['subscriber_id'];
$userID = $_SESSION['subscriber_userid'];
$token = $_SESSION['subscriber_token'];
if(isset($_GET['add'])){ if(isset($_GET['add'])){
$service = $_GET['add']; $subscription->add($subscriberID, $_GET['add']);
$query = $mysqli->query("SELECT * FROM subscribers WHERE telegramID=" . $tg_user['id']);
while($subscriber = $query->fetch_assoc()){
$subscriberID = $subscriber['subscriberID'];
}
$stmt = $mysqli->prepare("INSERT INTO services_subscriber VALUES (NULL,?, ?)");
$stmt->bind_param("ii", $subscriberID, $service);
$stmt->execute();
$query = $stmt->get_result();
header("Location: index.php?do=subscriptions");
} }
if(isset($_GET['remove'])){ if(isset($_GET['remove'])){
$service = $_GET['remove']; $subscription->remove($subscriberID, $_GET['remove']);
$query = $mysqli->query("SELECT * FROM subscribers WHERE telegramID=" . $tg_user['id']);
while($subscriber = $query->fetch_assoc()){
$subscriberID = $subscriber['subscriberID'];
}
$stmt = $mysqli->prepare("DELETE FROM services_subscriber WHERE subscriberIDFK = ? AND serviceIDFK = ?");
$stmt->bind_param("ii", $subscriberID, $service);
$stmt->execute();
$query = $stmt->get_result();
header("Location: index.php?do=subscriptions");
} }
$query = $mysqli->query("SELECT services.id, services.name, subscribers.subscriberID, subscribers.telegramID $subscription->render_subscribed_services($typeID, $subscriberID, $userID, $token);
FROM services
LEFT JOIN services_subscriber ON services_subscriber.serviceIDFK = services.id
LEFT JOIN subscribers ON services_subscriber.subscriberIDFK = subscribers.subscriberID
WHERE subscribers.telegramID =" . $tg_user['id']);
if ($query->num_rows){
$timestamp = time();
echo '<h1>' . _("Your subscriptions") . "</h1>";
echo '<div class="list-group">';
$subs = array();
while($result = $query->fetch_assoc())
{
echo '<a href="'.WEB_URL.'/subscriptions.php?remove=' . $result['id'] .'" class="list-group-item">' . $result['name'] . '</a>';
$subs[] = $result['name'];
}
echo "</div>";
}
echo '<h1>' . _("Add new subscription") . '</h1>'; } else {
$query = $mysqli->query("SELECT services.id, services.name from services"); $header = _("Your session has expired or you tried something we don't suppprt");
if ($query->num_rows){ $message = _('If your session expired, retry your link or in case of Telegram use the login button in the top menu.');
echo '<div class="list-group">'; $constellation->render_warning($header, $message);
while($result = $query->fetch_assoc()){
if(empty($subs)){
echo '<a href="'.WEB_URL.'/subscriptions.php?add=' . $result['id'] . '" class="list-group-item list-group-item-action">' . $result['name'] . '</a>';
} elseif(!in_array($result['name'], $subs)){
echo '<a href="'.WEB_URL.'/subscriptions.php?add=' . $result['id'] . '" class="list-group-item list-group-item-action">' . $result['name'] . '</a>';
}
}
echo '</div>';
}
} else{
header('Location: index.php'); header('Location: index.php');
} }