mirror of
				https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
				synced 2025-11-04 04:30:22 -05:00 
			
		
		
		
	
		
			
	
	
		
			94 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			94 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Subscriptions class
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								Class Subscriptions
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function add($userID, $service)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        global $mysqli;
							 | 
						||
| 
								 | 
							
								       
							 | 
						||
| 
								 | 
							
								        $stmt = $mysqli->prepare("INSERT INTO services_subscriber (subscriberIDFK, serviceIDFK) VALUES (?, ?)");
							 | 
						||
| 
								 | 
							
								        $stmt->bind_param("ii", $userID, $service);
							 | 
						||
| 
								 | 
							
								        $stmt->execute();
							 | 
						||
| 
								 | 
							
								        //$query = $stmt->get_result();
							 | 
						||
| 
								 | 
							
								        return true;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    public function remove($userID, $service)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        global $mysqli;
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        $stmt = $mysqli->prepare("DELETE FROM services_subscriber WHERE subscriberIDFK = ? AND serviceIDFK = ?");
							 | 
						||
| 
								 | 
							
								        $stmt->bind_param("ii", $userID, $service);
							 | 
						||
| 
								 | 
							
								        $stmt->execute();
							 | 
						||
| 
								 | 
							
								        //$query = $stmt->get_result();
							 | 
						||
| 
								 | 
							
								        return true;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    function render_subscribed_services($typeID, $subscriberID, $userID, $token)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        global $mysqli;
							 | 
						||
| 
								 | 
							
								        $stmt = $mysqli->prepare("SELECT services.id, services.name, subscribers.subscriberID, subscribers.userID, subscribers.token
							 | 
						||
| 
								 | 
							
								                                  FROM services
							 | 
						||
| 
								 | 
							
								                                  LEFT JOIN services_subscriber ON services_subscriber.serviceIDFK = services.id
							 | 
						||
| 
								 | 
							
								                                  LEFT JOIN subscribers ON services_subscriber.subscriberIDFK = subscribers.subscriberID
							 | 
						||
| 
								 | 
							
								                                  WHERE subscribers.typeID = ? AND subscribers.subscriberID = ?");
							 | 
						||
| 
								 | 
							
								        $stmt->bind_param("ii", $typeID, $subscriberID);
							 | 
						||
| 
								 | 
							
								        $stmt->execute();
							 | 
						||
| 
								 | 
							
								        $query = $stmt->get_result();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $strNotifyType = _('E-mail Notification subscription');
							 | 
						||
| 
								 | 
							
								        if ( $typeID == 1 ) { $strNotifyType = _('Telegram Notification subscription'); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        ?>
							 | 
						||
| 
								 | 
							
								        <div class="row">
							 | 
						||
| 
								 | 
							
								          <div class="col-xs-12 col-lg-offset-2 col-lg-8">
							 | 
						||
| 
								 | 
							
								            <div class="text-center">
							 | 
						||
| 
								 | 
							
								              <h3><?php echo $strNotifyType; ?></h3>
							 | 
						||
| 
								 | 
							
								              <p><?php echo _("Manage notification subscription for"); echo " ". $userID; ?></p>              
							 | 
						||
| 
								 | 
							
								              <a onclick="if (confirm('<?php echo _("Are you sure you want to cancel you subscription?");?>')){return true;}else{event.stopPropagation(); event.preventDefault();};" class="confirmation" href="index.php?do=unsubscribe&type=<?php echo $typeID;?>&token=<?php echo $token;?>"><button class="btn btn-danger"><?php echo _("Cancel Subscription");?></button></a>          
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								          </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								        <?php
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        echo '<h1>' . _("Your subscriptions") . "</h1>";
							 | 
						||
| 
								 | 
							
								        echo '<div class="list-group">';
							 | 
						||
| 
								 | 
							
								        $subs = array();    // Will be used to hold IDs of services already selected
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								        if ($query->num_rows){
							 | 
						||
| 
								 | 
							
								            while($result = $query->fetch_assoc())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                echo '<a href="'.WEB_URL.'/subscriptions.php?remove=' . $result['id'] .'" class="list-group-item"><span class="glyphicon glyphicon-remove  text-danger"></span> ' . $result['name'] . '</a>';
							 | 
						||
| 
								 | 
							
								                $subs[] = $result['id'];
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            echo '<div class="container"><summary>'._("You do not currently subscribe to any services. Please add services from the list below.").'</summary></div>';
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        echo "</div>";
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        echo '<h1>' . _("Add new subscription") . '</h1>';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Prepare to query for unselect services. If none are selected, query for all
							 | 
						||
| 
								 | 
							
								        $subsExp = null;
							 | 
						||
| 
								 | 
							
								        if (count($subs) >  0 ) {
							 | 
						||
| 
								 | 
							
								            $subsExp = 'NOT IN ('. implode(",", $subs) .')';
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $query = $mysqli->query("SELECT services.id, services.name from services WHERE services.id $subsExp");
							 | 
						||
| 
								 | 
							
								        echo '<div class="list-group">';
							 | 
						||
| 
								 | 
							
								        if ($query->num_rows){           
							 | 
						||
| 
								 | 
							
								            while($result = $query->fetch_assoc()){
							 | 
						||
| 
								 | 
							
								                echo '<a href="'.WEB_URL.'/subscriptions.php?add=' . $result['id'] . '" class="list-group-item list-group-item-action"><span class="glyphicon glyphicon-plus  text-success"></span> ' . $result['name'] . '</a>';
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            echo '<div class="container"><summary>'._("No further services available for subscriptions.").'</summary></div>';
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        echo '</div>';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								}
							 |