Beispiel #1
0
 public function xml()
 {
     $bool = false;
     $result = new \org\rhaco\Xml('entry');
     foreach ($this->props() as $name => $value) {
         if (!empty($value)) {
             $bool = true;
             switch ($name) {
                 case 'xmlns':
                     $result->attr('xmlns', $value);
                     break;
                 case 'id':
                 case 'title':
                     $result->add(new \org\rhaco\Xml($name, $value));
                     break;
                 case 'published':
                 case 'updated':
                 case 'issued':
                     $result->add(new \org\rhaco\Xml($name, \org\rhaco\lang\Date::format_atom($value)));
                     break;
                 default:
                     if (is_array($value)) {
                         foreach ($value as $v) {
                             try {
                                 $result->add($v instanceof \org\rhaco\net\xml\atom\Object ? $v->xml() : (string) $v);
                             } catch (\org\rhaco\net\xml\atom\NotfoundException $e) {
                             }
                         }
                     } else {
                         if (is_object($value)) {
                             try {
                                 $result->add($value instanceof \org\rhaco\net\xml\atom\Object ? $value->xml() : $value);
                             } catch (\org\rhaco\net\xml\atom\NotfoundException $e) {
                             }
                         } else {
                             $result->add(new \org\rhaco\Xml($name, $value));
                             break;
                         }
                     }
             }
         }
     }
     if (!$bool) {
         throw new \org\rhaco\net\xml\atom\NotfoundException();
     }
     return $result;
 }
Beispiel #2
0
<?php

eq(5, \org\rhaco\lang\Date::age(20001010, \org\rhaco\lang\Date::parse_date("2005/01/01")));
eq(6, \org\rhaco\lang\Date::age(20001010, \org\rhaco\lang\Date::parse_date("2005/10/10")));
eq(5, \org\rhaco\lang\Date::age(20001010, \org\rhaco\lang\Date::parse_date("2005/10/9")));
eq(5, \org\rhaco\lang\Date::age(20001010, \org\rhaco\lang\Date::parse_date("2005/10/11")));
Beispiel #3
0
<?php

eq(3661, \org\rhaco\lang\Date::parse_time("01:01:01"));
eq(3661, \org\rhaco\lang\Date::parse_time("1:1:1"));
eq(61, \org\rhaco\lang\Date::parse_time("0:1:1"));
eq(null, \org\rhaco\lang\Date::parse_time("0/1/1"));
eq(0, \org\rhaco\lang\Date::parse_time("00:00:00"));
eq(0, \org\rhaco\lang\Date::parse_time("0"));
eq(null, \org\rhaco\lang\Date::parse_time(""));
eq(null, \org\rhaco\lang\Date::parse_time(null));
eq(null, \org\rhaco\lang\Date::parse_time("00/00/00"));
eq(726.4, \org\rhaco\lang\Date::parse_time("00:12:06.40"));
Beispiel #4
0
<?php

eq("2007/07/19", \org\rhaco\lang\Date::format("2007-07-18T16:16:31+00:00", "Y/m/d"));
eq("2007-07-18T16:16:31Z", \org\rhaco\lang\Date::format_atom(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thu, 19 Jul 2007 01:16:31 JST", \org\rhaco\lang\Date::format_cookie(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("2008/04/07", \org\rhaco\lang\Date::format_date(20080407));
eq("208/04/07", \org\rhaco\lang\Date::format_date(2080407));
eq("2007/07/19 01:16:31 (Thu)", \org\rhaco\lang\Date::format_full(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("2007-07-19T01:16:31+0900", \org\rhaco\lang\Date::format_ISO8601(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("01:01:01", \org\rhaco\lang\Date::format_time(3661));
eq("00:01:01", \org\rhaco\lang\Date::format_time(61));
eq("300:01:01", \org\rhaco\lang\Date::format_time(1080061));
eq("00:00:00", \org\rhaco\lang\Date::format_time(0));
eq("Thu, 19 Jul 2007 01:16:31 JST", \org\rhaco\lang\Date::format_RFC822(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thursday, 19-Jul-07 01:16:31 JST", \org\rhaco\lang\Date::format_RFC850(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thursday, 19-Jul-07 01:16:31 JST", \org\rhaco\lang\Date::format_RFC1036(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thu, 19 Jul 2007 01:16:31 JST", \org\rhaco\lang\Date::format_RFC1123(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thu, 19 Jul 2007 01:16:31 +0900", \org\rhaco\lang\Date::format_RFC2822(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("Thu, 19 Jul 2007 01:16:31 JST", \org\rhaco\lang\Date::format_rss(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("2007-07-19T01:16:31+09:00", \org\rhaco\lang\Date::format_w3c(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
eq("D:20070719011631+09'00'", \org\rhaco\lang\Date::format_pdf(\org\rhaco\lang\Date::parse_date("2007-07-18T16:16:31+00:00")));
Beispiel #5
0
<?php

eq(time() + 1, \org\rhaco\lang\Date::add(time(), 1, 0));
eq(time() + 60, \org\rhaco\lang\Date::add(time(), 0, 1));
eq(time() + 3600, \org\rhaco\lang\Date::add(time(), 0, 0, 1));
eq(time() - 1, \org\rhaco\lang\Date::add(time(), -1, 0));
eq(time() - 60, \org\rhaco\lang\Date::add(time(), 0, -1));
eq(time() - 3600, \org\rhaco\lang\Date::add(time(), 0, 0, -1));
Beispiel #6
0
<?php

$time = time();
eq(date("Y-m-d H:i:s", $time + 3600), date("Y-m-d H:i:s", \org\rhaco\lang\Date::add_hour(1, $time)));
eq(date("Y-m-d H:i:s", $time - 3600), date("Y-m-d H:i:s", \org\rhaco\lang\Date::add_hour(-1, $time)));
Beispiel #7
0
 protected function __str__()
 {
     $result = new \org\rhaco\Xml('feed');
     $result->attr('xmlns', self::XMLNS);
     foreach ($this->ar_xmlns() as $ns => $url) {
         $result->attr('xmlns:' . $ns, $url);
     }
     foreach ($this->props() as $name => $value) {
         if (!empty($value)) {
             switch ($name) {
                 case 'title':
                 case 'subtitle':
                 case 'id':
                 case 'generator':
                     $result->add(new \org\rhaco\Xml($name, $value));
                     break;
                 case 'updated':
                     $result->add(new \org\rhaco\Xml($name, \org\rhaco\lang\Date::format_atom($value)));
                     break;
                 default:
                     if (is_array($value)) {
                         foreach ($value as $v) {
                             try {
                                 $result->add($v instanceof \org\rhaco\net\xml\atom\Object ? $v->xml() : $v);
                             } catch (\org\rhaco\net\xml\atom\NotfoundException $e) {
                             }
                         }
                     }
             }
         }
     }
     return $result->get();
 }
Beispiel #8
0
<?php

eq(0, \org\rhaco\lang\Date::weekday(19050129));
eq(1, \org\rhaco\lang\Date::weekday(18890211));
eq(2, \org\rhaco\lang\Date::weekday(20050927));
eq(3, \org\rhaco\lang\Date::weekday(17890304));
eq(4, \org\rhaco\lang\Date::weekday(15880721));
eq(5, \org\rhaco\lang\Date::weekday(18681023));
eq(6, \org\rhaco\lang\Date::weekday(16001021));
eq(0, \org\rhaco\lang\Date::weekday("1905-01-29"));
eq(1, \org\rhaco\lang\Date::weekday("1889/02/11"));
Beispiel #9
0
<?php

eq(-297993600, \org\rhaco\lang\Date::parse_date("1960-07-23 05:00:00+05:00"));
eq("1960-07-23 09:00:00", date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date("1960-07-23 05:00:00+05:00")));
eq("1976-07-23 09:00:00", date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date("1976-07-23 05:00:00+05:00")));
eq("2005-08-15 09:52:01", date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date("2005-08-15T01:52:01+0100")));
eq("2005-08-15 10:01:01", date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date("Mon, 15 Aug 2005 01:01:01 UTC")));
eq(null, \org\rhaco\lang\Date::parse_date(null));
eq(null, \org\rhaco\lang\Date::parse_date(0));
eq(null, \org\rhaco\lang\Date::parse_date(""));
eq("2005-03-02 00:00:00", date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date("2005/02/30 00:00:00")));
eq(date("Y-m-d H:i:s", time()), date("Y-m-d H:i:s", \org\rhaco\lang\Date::parse_date(time())));
Beispiel #10
0
<?php

eq(true, \org\rhaco\lang\Date::eq("2008/03/31", "2008/03/31"));
eq(false, \org\rhaco\lang\Date::eq("2008/03/31", "2008/03/30"));
eq(true, \org\rhaco\lang\Date::gt("2008/03/31", "2008/03/30"));
eq(false, \org\rhaco\lang\Date::gt("2008/03/30", "2008/03/31"));
eq(false, \org\rhaco\lang\Date::gt("2008/03/31", "2008/03/31"));
eq(true, \org\rhaco\lang\Date::gte("2008/03/31", "2008/03/30"));
eq(false, \org\rhaco\lang\Date::gte("2008/03/30", "2008/03/31"));
eq(true, \org\rhaco\lang\Date::gte("2008/03/31", "2008/03/31"));
Beispiel #11
0
<?php

$time = time();
eq(date("Y-m-d H:i:s", $time + 3600 * 24), date("Y-m-d H:i:s", \org\rhaco\lang\Date::add_day(1, $time)));
eq(date("Y-m-d H:i:s", $time - 3600 * 24), date("Y-m-d H:i:s", \org\rhaco\lang\Date::add_day(-1, $time)));
Beispiel #12
0
<?php

eq(20080401, \org\rhaco\lang\Date::parse_int("2008/04/01"));
eq(20080401, \org\rhaco\lang\Date::parse_int("2008-04-01"));
eq(20080401, \org\rhaco\lang\Date::parse_int("2008-04/01"));
eq(20080401, \org\rhaco\lang\Date::parse_int("2008-4-1"));
eq(2080401, \org\rhaco\lang\Date::parse_int("2080401"));
eq(null, \org\rhaco\lang\Date::parse_int("2008A04A01"));
eq(intval(date("Ymd")), \org\rhaco\lang\Date::parse_int(time()));
eq(19000401, \org\rhaco\lang\Date::parse_int("1900-4-1"));
eq(19001010, \org\rhaco\lang\Date::parse_int("1900/10/10"));
eq(10101, \org\rhaco\lang\Date::parse_int("1/1/1"));
eq(19601110, \org\rhaco\lang\Date::parse_int("1960/11/10"));