Example #1
0
File: Post.php Project: emory/Known
 function postContent()
 {
     $body = strip_tags($this->getInput('body'));
     $name = strip_tags($this->getInput('name'));
     $url = trim($this->getInput('url'));
     $url2 = trim($this->getInput('url-2'));
     $validator = $this->getInput('validator');
     if (!empty($url2)) {
         $this->deniedContent();
     }
     $this->referrerGatekeeper();
     if (!empty($body) && !empty($name) && !empty($validator)) {
         if ($object = Entity::getByUUID($validator)) {
             if ($url = Webservice::sanitizeURL($url)) {
                 if ($content = Webservice::get($url)) {
                     if ($content['response'] == '200') {
                         $icon = Webmention::getIconFromWebsiteContent($content['content'], $url);
                     }
                 }
             }
             if (empty($icon)) {
                 $bn = hexdec(substr(md5($url), 0, 15));
                 $number = 1 + $bn % 5;
                 $icon = \Idno\Core\site()->config()->url . 'gfx/users/default-' . str_pad($number, 2, '0', STR_PAD_LEFT) . '.png';
             }
             $object->addAnnotation('reply', $name, $url, $icon, $body);
             $this->forward($object->getDisplayURL());
         }
     }
 }
Example #2
0
 /**
  * Retrieves a feed object for the given URL, or creates one if it's new to the system
  * @param $url
  * @param $update Set to true in order to refresh saved feed details. False by default.
  * @return bool|false|\Idno\Common\Entity|Feed
  */
 function getFeedObject($url, $update = false)
 {
     $wc = new Webservice();
     $url = $wc->sanitizeURL($url);
     if ($feed_details = $this->getFeedDetails($url)) {
         if ($feed_array = Feed::get(array('feed_url' => $feed_details['url']))) {
             foreach ($feed_array as $feed_item) {
                 $feed = $feed_item;
                 break;
             }
         } else {
             $feed = new Feed();
         }
         if ($feed->getID() && !$update) {
             return $feed;
         }
         $feed->url = $url;
         if (!empty($feed_details['title'])) {
             $feed->setTitle($feed_details['title']);
         }
         if (!empty($feed_details['type'])) {
             $feed->setType($feed_details['type']);
         }
         if (!empty($feed_details['url'])) {
             $feed->setFeedURL($feed_details['url']);
             if ($feed->save()) {
                 return $feed;
             }
         }
     }
     return false;
 }