晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/public_html/crm/modules/Mobile/third-party/qCal/qCal/ |
Upload File : |
<?php
/**
* Base property value class. Every property value has a specific data
* type. Some of them are very simple, such as boolean. Others can be
* rather complex, such as recur (specifies a date pattern for recurring
* events and other components).
* @package qCal
* @copyright Luke Visinoni (luke.visinoni@gmail.com)
* @author Luke Visinoni (luke.visinoni@gmail.com)
* @license GNU Lesser General Public License
*
* RFC 2445 Definition
*
* The properties in an iCalendar object are strongly typed. The
* definition of each property restricts the value to be one of the
* value data types, or simply value types, defined in this section. The
* value type for a property will either be specified implicitly as the
* default value type or will be explicitly specified with the "VALUE"
* parameter. If the value type of a property is one of the alternate
* valid types, then it MUST be explicitly specified with the "VALUE"
* parameter.
*/
abstract class qCal_Value {
protected $value;
public function __construct($value) {
$this->setValue($value);
}
/**
* A factory for data type objects. Pass in a type and a value, and it will return the value
* casted to the proper type
*/
public static function factory($type, $value) {
// remove dashes, capitalize properly
$parts = explode("-", $type);
$type = "";
foreach ($parts as $part) $type .= trim(ucfirst(strtolower($part)));
// get the class, and instantiate
$className = "qCal_Value_" . $type;
$class = new $className($value);
return $class;
}
/**
* Sets the value of this object. The beauty of using inheritence here is that I can store
* the value however I want for any value type, and then on __toString() I can return it how
* iCalendar specifies :)
*/
public function setValue($value) {
$this->value = $this->doCast($value);
return $this;
}
/**
* Returns raw value (as it is stored)
*/
public function getValue() {
return $this->value;
}
/**
* Casts $value to this data type
*/
public function cast($value) {
return $this->doCast($value);
}
/**
* Returns the value as a string
*/
public function __toString() {
return $this->toString($this->value);
}
/**
* Converts from native format to a string, __toString() calls this internally
*/
protected function toString($value) {
return (string) $value;
}
/**
* This is left to be implemented by children classes, basically they
* implement this method to cast any input into their data type (from a string)
* @todo Change the name of this to something more appropriate, maybe toNative or something
*/
abstract protected function doCast($value);
}