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; }
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; }
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()); * */ }