Example #1
0
 /**
  * Initializes ReportPayloadEntity object
  *
  * @param  array                $data    Data array of params for uuid (Notification type, subject type, subject id)
  * @param  array                $payload Payload
  * @param  string|DateTime|null $start   optional Start date of the report (Y-m-d)
  * @return ReportPayloadEntity  Returns  ReportPayloadEntity object
  */
 public static function init(array $data, $payload, $start = null)
 {
     $obj = new self();
     $obj->created = $start instanceof DateTime ? clone $start : new DateTime($start ?: "now", new DateTimeZone('UTC'));
     $dataToHash = implode('|', $data) . '|' . $obj->created->format('Y-m-d');
     $obj->uuid = $obj->type('uuid')->toPhp(substr(hash('sha1', $dataToHash, true), 0, 16));
     $obj->secret = $obj->type('secret')->toPhp(hash('sha1', \Scalr::GenerateRandomKey(40), true));
     $baseUrl = rtrim(\Scalr::getContainer()->config('scalr.endpoint.scheme') . "://" . \Scalr::getContainer()->config('scalr.endpoint.host'), '/');
     $payload['reportUrl'] = $baseUrl . '#/public/report?uuid=' . $obj->uuid . '&secretHash=' . bin2hex((string) $obj->secret);
     $obj->payload = json_encode($payload);
     return $obj;
 }
Example #2
0
 public static function parse($message)
 {
     $obj = new self();
     $obj->text(Lou::trans_html($message->text()));
     $obj->screen_name($message->user()->screen_name());
     $obj->profile_image_url($message->user()->profile_image_url());
     $obj->created_at($message->created_at());
     if ($message instanceof WassrMessage) {
         $obj->type("wassr");
     } else {
         if ($message instanceof TwitterMessage) {
             $obj->type("twitter");
         }
     }
     return $obj;
 }
Example #3
0
 public static function parse(&$src)
 {
     $result = null;
     if (\org\rhaco\Xml::set($tag, $src, 'summary')) {
         $result = new self();
         $result->type($tag->in_attr('type', 'text'));
         $result->lang($tag->in_attr('xml:lang'));
         $result->value($tag->value());
         $src = str_replace($tag->plain(), '', $src);
     }
     return $result;
 }
Example #4
0
 public static function parse(&$src)
 {
     $result = null;
     if (Tag::setof($tag, $src, "summary")) {
         $result = new self();
         $result->type($tag->inParam("type", "text"));
         $result->lang($tag->inParam("xml:lang"));
         $result->value($tag->value());
         $src = str_replace($tag->plain(), "", $src);
     }
     return $result;
 }
Example #5
0
 public static function parse(&$src)
 {
     $result = array();
     foreach (Tag::anyhow($src)->in("enclosure") as $in) {
         $src = str_replace($in->plain(), "", $src);
         $o = new self();
         $o->url($in->inParam("url"));
         $o->type($in->inParam("type"));
         $o->length($in->inParam("length"));
         $result[] = $o;
     }
     return $result;
 }
Example #6
0
 public static function parse(&$src)
 {
     $result = array();
     foreach (Tag::anyhow($src)->in("link") as $in) {
         $o = new self();
         $o->href($in->inParam("href"));
         $o->rel($in->inParam("rel"));
         $o->type($in->inParam("type"));
         $result[] = $o;
         $src = str_replace($in->plain(), "", $src);
     }
     return $result;
 }
Example #7
0
 public static function parse(&$src)
 {
     $result = array();
     \org\rhaco\Xml::set($x, '<:>' . $src . '</:>');
     foreach ($x->in('link') as $in) {
         $o = new self();
         $o->href($in->in_attr('href'));
         $o->rel($in->in_attr('rel'));
         $o->type($in->in_attr('type'));
         $result[] = $o;
         $src = str_replace($in->plain(), '', $src);
     }
     return $result;
 }
Example #8
0
 /**
  * $objectsに同名のキーがあればマージし無ければ追加する
  * @param self{} $objects 対象の連想配列
  * @param string $doc 値の情報を表す文字列
  * @param string $class 定義されているクラス名
  * @param string $prefix 名称につく接頭辞
  */
 public static function merge(array &$objects, $doc, $class, $prefix = null)
 {
     $self = new self();
     $self->set($doc, $class);
     $name = $prefix . $self->name();
     if ($self->is_name() && isset($objects[$name])) {
         $objects[$name]->type($self->type());
         $objects[$name]->array($self->array());
         $objects[$name]->module($self->module());
         if ($self->is_document()) {
             $objects[$name]->document($self->document());
         }
     }
 }
Example #9
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());
      * 
      */
 }