Beispiel #1
0
 public function addSubreddit(LinkParser $linkParser)
 {
     if ($this->linkExists($this->arrayWithSubreddits, $linkParser->getSubredditUrl())) {
         throw new Exception("You're already subscribed to this subreddit");
     } else {
         $id = $this->discoverId($this->arrayWithSubreddits);
         $this->arrayWithSubreddits[$id] = $linkParser->getSubredditUrl();
         return $id;
     }
 }
Beispiel #2
0
<?php

include_once '../config.php';
require_once ROOT_NAME . "/src/classes/LinkParser.php";
require_once ROOT_NAME . "/src/classes/CookieManager.php";
require_once ROOT_NAME . "/src/classes/SubredditsFactory.php";
require_once ROOT_NAME . "/src/classes/SubredditDownloader.php";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $url = $_POST["subreddit"];
    try {
        $linkParser = new LinkParser($url);
        $cookieManager = new CookieManager($_COOKIE);
        $downloader = new SubredditDownloader($linkParser->getSubredditUrl());
        $idInCookie = $cookieManager->addSubreddit($linkParser);
        $cookieManager->setCookie();
        $subreddit = new Subreddit($downloader);
        echo json_encode(['id' => $idInCookie, 'subreddit' => $subreddit]);
    } catch (Exception $e) {
        echo json_encode($e->getMessage());
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $id = $_GET["id"];
    try {
        $cookieManager = new CookieManager($_COOKIE);
        $subreddit = SubredditsFactory::create($cookieManager, $id);
        echo json_encode(['id' => $id, 'subreddit' => $subreddit]);
    } catch (Exception $e) {
        echo json_encode($e->getMessage());
    }
}