/**
  * 
  * @return ActivityProcessorFactory
  */
 public static function getInstance()
 {
     if (!self::$_instance) {
         self::$_instance = new ActivityProcessorFactory();
     }
     return self::$_instance;
 }
 /**
  * @param AtomEntryAdapter $item
  * @return array
  */
 public function readEntry(AtomEntryAdapter $entry)
 {
     // Get the activity entry
     $activityEntry = $entry->getExtension(ActivityNS::NS);
     $data = array();
     $published = $entry->getPublished();
     if (isset($published)) {
         // The published value of the data is only obtained from the atom:published, otherwise it is not exists
         $data['published'] = toTimestamp($published->value);
     } else {
         $data['published'] = '';
     }
     // process the entry
     if (isset($activityEntry->object[0])) {
         if (isset($activityEntry->object[0]->id)) {
             // Get the Object IRI
             $data['iri'] = $activityEntry->object[0]->id->value;
         } else {
             $data['iri'] = '';
         }
         // Get the Object processor
         $activityProcessor = ActivityProcessorFactory::getInstance();
         $object = $activityProcessor->getProcessor($activityEntry->object[0]);
         // Process the entry according to its type
         switch ($object->getType()) {
             case ActivityNS::STATUS_OBJECT_TYPE:
                 $data = $this->_readStatusEntry($data, $object);
                 break;
             case ActivityNS::ARTICLE_OBJECT_TYPE:
                 $data = $this->_readBlogEntry($data, $object);
                 break;
             case ActivityNS::BOOKMARK_OBJECT_TYPE:
                 $data = $this->_readLinkEntry($data, $object);
                 break;
             case ActivityNS::PHOTO_OBJECT_TYPE:
                 $data = $this->_readImageEntry($data, $object);
                 break;
             case ActivityNS::AUDIO_OBJECT_TYPE:
                 $data = $this->_readAudioEntry($data, $object);
                 break;
             case ActivityNS::VIDEO_OBJECT_TYPE:
                 $data = $this->_readVideoEntry($data, $object);
                 break;
             default:
                 $data = $this->_readDefaultEntry($data, $entry);
         }
     } else {
         $data = $this->_readDefaultEntry($data, $entry);
     }
     return $data;
 }
Exemple #3
0
 public static function setupActivityProcessorFactory()
 {
     $activityProcessor = ActivityProcessorFactory::getInstance();
     $activityProcessor->registerProcessor(ActivityNS::STATUS_OBJECT_TYPE, 'StatusObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::ARTICLE_OBJECT_TYPE, 'ArticleObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::AUDIO_OBJECT_TYPE, 'AudioObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::PHOTO_OBJECT_TYPE, 'PhotoObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::BOOKMARK_OBJECT_TYPE, 'BookmarkObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::VIDEO_OBJECT_TYPE, 'VideoObjectProcessor', 0);
     $activityProcessor->registerProcessor(ActivityNS::COMMENT_OBJECT_TYPE, 'CommentObjectProcessor', 0);
 }