Esempio n. 1
0
 public function confirm()
 {
     if ($this->isPOST()) {
         return $this->setAction('subscribe');
     }
     $feeds = array();
     $url = $this->params('feedlink');
     $feedlinks = FeedUtils::getFeedlinks($url);
     foreach ($feedlinks as $feedlink) {
         $feed = $this->Feed->findByFeedlink($feedlink);
         if ($feed) {
             $sub = $this->member->subscribed($feed['Feed']['id']);
             if ($sub) {
                 $feed['subscribe_id'] = $sub['Subscription']['id'];
             }
             $feeds[] = $feed;
             continue;
         }
         $feeddata = FeedUtils::getFeed($feedlink);
         if (!$feeddata) {
             continue;
         }
         $feeds[] = array('Feed' => array('id' => 0, 'subscribers_count' => 0, 'feedlink' => $feedlink, 'link' => $feeddata->get_permalink(), 'title' => $feeddata->get_title()));
     }
     if (empty($feeds)) {
         $this->Flash->notice('please check URL');
         $this->redirect('/subscribe/index');
     }
     $this->set('feeds', $feeds);
     $this->set('feedlink', $feedlink);
 }
Esempio n. 2
0
 public function discover()
 {
     $url = $this->params('url');
     $feeds = array();
     $feedlinks = FeedUtils::getFeedlinks($url);
     if (!$feedlinks) {
         $this->renderJSON(json_encode($feeds));
         return;
     }
     foreach ($feedlinks as $feedlink) {
         $feed = $this->Feed->findByFeedlink($feedlink);
         if ($feed) {
             $result = array('subscribers_count' => $feed['Feed']['subscribers_count'], 'feedlink' => $feed['Feed']['feedlink'], 'link' => $feed['Feed']['link'], 'title' => $feed['Feed']['title']);
             $conditions = array();
             $conditions[] = es('Subscription.member_id = %s', $this->member->id);
             $conditions[] = es('Subscription.feed_id = %s', $feed['Feed']['id']);
             $sub = $this->Subscription->find($conditions);
             if ($sub) {
                 $result['subscribe_id'] = $sub['Subscription']['id'];
             }
             $feeds[] = $result;
         } else {
             $feeddata = FeedUtils::getFeed($feedlink);
             if (!$feeddata) {
                 continue;
             }
             $feeds[] = array('subscribers_count' => 0, 'feedlink' => $feedlink, 'link' => $feeddata->get_permalink(), 'title' => $feeddata->get_title());
         }
     }
     $this->renderJSON(json_encode($feeds));
 }