Example #1
0
 public static function parse_list($response, $paginator)
 {
     $result = array();
     $res = Text::parse_json($response);
     if (isset($res["error"])) {
         throw new Exception($res["error"]);
     }
     if (!empty($res["pager"])) {
         $paginator = new Paginator($res["pager"]["clips_in_page"], $res["pager"]["current_page"], $res["pager"]["total_entries"]);
     }
     if (!empty($res["entries"])) {
         foreach ($res["entries"] as $re) {
             $obj = new self();
             $obj->id($re["id"]);
             $obj->title($re["title"]);
             $obj->url($re["permalink"]);
             $obj->author(new FlipClipAuthor($re["author"]["id"], $re["author"]["name"], $re["author"]["uri"]));
             $obj->summary($re["summary"]);
             $obj->updated($re["updated"]);
             if (isset($re["category"])) {
                 $obj->category(new FlipClipCategory($re["category"]["term"], $re["category"]["scheme"], $re["category"]["label"]));
             }
             if (isset($re["subcategory"])) {
                 $obj->category(new FlipClipCategory($re["subcategory"]["term"], $re["subcategory"]["scheme"], $re["subcategory"]["label"]));
             }
             if (isset($re["tags"])) {
                 foreach ($re["tags"] as $tag) {
                     $obj->tags(new FlipClipTag($tag["term"], $tag["scheme"], $tag["label"]));
                 }
             }
             $obj->embed_script($re["embed_script"]);
             $obj->latitude($re["latitude"]);
             $obj->longitude($re["longitude"]);
             $obj->privacy($re["privacy"]);
             $obj->duration($re["duration"]);
             $obj->image($re["image"]);
             $obj->image_medium($re["imageMedium"]);
             $obj->image_small($re["imageSmall"]);
             $obj->thumbnail($re["thumbnail"]);
             $result[] = $obj;
         }
     }
     return $result;
 }
Example #2
0
 public static function instantiate(User $user, array $data, array $tags = [])
 {
     $instance = new self();
     $instance->author()->associate($user);
     $instance->fill($data)->save();
     if ($tags) {
         $instance->tags()->attach($tags);
     }
     return $instance;
 }
Example #3
0
 public static function parse($src, $tags = "")
 {
     $result = null;
     if (Tag::setof($tag, $src, "outline")) {
         $result = new self();
         $result->text($tag->inParam("text"));
         $result->type($tag->inParam("type"));
         $result->comment($tag->inParam("isComment", false));
         $result->breakpoint($tag->inParam("isBreakpoint", false));
         $result->htmlUrl($tag->inParam("htmlUrl"));
         $result->xmlUrl($tag->inParam("xmlUrl"));
         $result->title($tag->inParam("title"));
         $result->description($tag->inParam("description"));
         $result->tags($tags);
         foreach ($tag->in("outline") as $outlinetag) {
             $result->outline(self::parse($outlinetag->plain(), $tags));
         }
     }
     return $result;
     /***
      * $src = '<outline title="りあふ の にっき" htmlUrl="http://riaf.g.hatena.ne.jp/riaf/" type="rss" xmlUrl="http://riaf.g.hatena.ne.jp/riaf/rss2" />';
      * $xml = OpmlOutline::parse($src);
      * eq("りあふ の にっき",$xml->title());
      * eq("http://riaf.g.hatena.ne.jp/riaf/rss2",$xml->xmlUrl());
      * eq("http://riaf.g.hatena.ne.jp/riaf/",$xml->htmlUrl());
      * eq("rss",$xml->type());
      * 
      */
 }