/**
  * @param Node $node
  * @param Repository $repository
  * @param callable $loadCallback
  * @return mixed
  */
 function fromNode(Node $node, Repository $repository, \Closure $loadCallback)
 {
     $class = $node->getProperty('class');
     $meta = $repository->fromClass($class);
     $proxyClass = $meta->getProxyClass();
     $proxy = $this->createProxy($meta);
     $proxy->__setMeta($meta);
     $proxy->__setNode($node);
     $proxy->__setLoadCallback($loadCallback);
     $pk = $meta->getPrimaryKey();
     $pk->setValue($proxy, $node->getId());
     $proxy->__addHydrated($pk->getName());
     foreach ($meta->getProperties() as $property) {
         $name = $property->getName();
         if (null !== ($value = $node->getProperty($name))) {
             $property->setValue($proxy, $value);
             $proxy->__addHydrated($name);
         }
     }
     foreach ($meta->getManyToManyRelations() as $property) {
         if ($property->isWriteOnly()) {
             $proxy->__addHydrated($property->getName());
         }
     }
     return $proxy;
 }
Example #2
0
 public static function fromArray(Node $node)
 {
     $tag = new Tag();
     $tag->id = $node->getId();
     $tag->tagcontent = $node->getProperty('tagcontent');
     $tag->node = $node;
     return $user;
 }
Example #3
0
 /**
  * Create User object from Node
  *
  * @param  Node $node User node
  * @return User
  */
 protected static function fromNode(Node $node)
 {
     $user = new User();
     $user->id = $node->getId();
     $user->username = $node->getProperty('username');
     $user->firstname = $node->getProperty('firstname');
     $user->lastname = $node->getProperty('lastname');
     $user->node = $node;
     return $user;
 }
 /**
  * Creates Content instance from a content node
  *
  * @param  Node    $node     Content node
  * @param  string  $username Username for post
  * @param  string  $owner    Content owner
  * @return Content
  */
 protected static function createFromNode(Node $node, $username = null, $owner = false)
 {
     $content = new Content();
     $content->node = $node;
     $content->nodeId = $node->getId();
     $content->contentId = $node->getProperty('contentId');
     $content->title = $node->getProperty('title');
     $content->url = $node->getProperty('url');
     $content->tagstr = $node->getProperty('tagstr');
     $content->timestamp = gmdate("F j, Y g:i a", $node->getProperty('timestamp'));
     $content->owner = $owner;
     $content->userNameForPost = $username;
     return $content;
 }