From ae1c1995b2fec431afe7cca23b2697e1bef17baf Mon Sep 17 00:00:00 2001 From: xue <> Date: Fri, 17 Feb 2006 04:28:06 +0000 Subject: moved shortcut methods from TComponent to TControl. --- framework/Web/UI/TControl.php | 83 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 2 deletions(-) (limited to 'framework/Web/UI/TControl.php') diff --git a/framework/Web/UI/TControl.php b/framework/Web/UI/TControl.php index 4f905a1a..ded7049b 100644 --- a/framework/Web/UI/TControl.php +++ b/framework/Web/UI/TControl.php @@ -164,6 +164,13 @@ class TControl extends TComponent */ private $_rf=array(); + /** + * Constructor. + */ + public function __construct() + { + } + /** * Returns a property value by name or a control by ID. * This overrides the parent implementation by allowing accessing @@ -1549,6 +1556,80 @@ class TControl extends TComponent } } } + + + /** + * @return TApplication current application instance + */ + public function getApplication() + { + return Prado::getApplication(); + } + + /** + * @return IService the current service + */ + public function getService() + { + return Prado::getApplication()->getService(); + } + + /** + * @return THttpRequest the current user request + */ + public function getRequest() + { + return Prado::getApplication()->getRequest(); + } + + /** + * @return THttpResponse the response + */ + public function getResponse() + { + return Prado::getApplication()->getResponse(); + } + + /** + * @return THttpSession user session + */ + public function getSession() + { + return Prado::getApplication()->getSession(); + } + + /** + * @return IUser user + */ + public function getUser() + { + return Prado::getApplication()->getUser(); + } + + /** + * Publishes a private asset and gets its URL. + * This method will publish a private asset (file or directory) + * and gets the URL to the asset. Note, if the asset refers to + * a directory, all contents under that directory will be published. + * @param string path of the asset that is relative to the directory containing the control class file. + * @return string URL to the asset path. + */ + public function publishAsset($assetPath) + { + $class=new ReflectionClass(get_class($this)); + $fullPath=dirname($class->getFileName()).'/'.$assetPath; + return $this->publishFilePath($fullPath); + } + + /** + * Publishes a file or directory and returns its URL. + * @param string absolute path of the file or directory to be published + * @return string URL to the published file or directory + */ + public function publishFilePath($fullPath) + { + return $this->getApplication()->getAssetManager()->publishFilePath($fullPath); + } } @@ -1577,7 +1658,6 @@ class TControlList extends TList */ public function __construct(TControl $owner) { - parent::__construct(); $this->_o=$owner; } @@ -1661,7 +1741,6 @@ class TEmptyControlList extends TList */ public function __construct(TControl $owner) { - parent::__construct(); $this->_o=$owner; } -- cgit v1.2.3