. * */ /** * Public interface of ownCloud for apps to use. * Utility Class. * */ // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP; class Util { // consts for Logging const DEBUG=0; const INFO=1; const WARN=2; const ERROR=3; const FATAL=4; /** * @brief get the current installed version of ownCloud * @return array */ public static function getVersion(){ return(\OC_Util::getVersion()); } /** * @brief send an email * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname * @param bool $html */ public static function sendMail( $toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html=0, $altbody='', $ccaddress='', $ccname='', $bcc='') { // call the internal mail class \OC_MAIL::send( $toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html=0, $altbody='', $ccaddress='', $ccname='', $bcc=''); } /** * @brief write a message in the log * @param string $app * @param string $message * @param int level */ public static function writeLog( $app, $message, $level ) { // call the internal log class \OC_LOG::write( $app, $message, $level ); } /** * @brief add a css file * @param url $url */ public static function addStyle( $application, $file = null ){ \OC_Util::addStyle( $application, $file ); } /** * @brief add a javascript file * @param appid $application * @param filename $file */ public static function addScript( $application, $file = null ){ \OC_Util::addScript( $application, $file ); } /** * @brief Add a custom element to the header * @param string tag tag name of the element * @param array $attributes array of attributes for the element * @param string $text the text content for the element */ public static function addHeader( $tag, $attributes, $text=''){ \OC_Util::addHeader( $tag, $attributes, $text ); } /** * @brief formats a timestamp in the "right" way * @param int timestamp $timestamp * @param bool dateOnly option to ommit time from the result */ public static function formatDate( $timestamp,$dateOnly=false){ return(\OC_Util::formatDate( $timestamp,$dateOnly )); } /** * @brief Creates an absolute url * @param $app app * @param $file file * @returns the url * * Returns a absolute url to the given app and file. */ public static function linkToAbsolute( $app, $file ) { return(\OC_Helper::linkToAbsolute( $app, $file )); } /** * @brief Creates an absolute url for remote use * @param $service id * @returns the url * * Returns a absolute url to the given app and file. */ public static function linkToRemote( $service ) { return(\OC_Helper::linkToRemote( $service )); } /** * @brief Creates an url * @param $app app * @param $file file * @returns the url * * Returns a url to the given app and file. */ public static function linkTo( $app, $file ){ return(\OC_Helper::linkTo( $app, $file )); } /** * @brief Returns the server host * @returns the server host * * Returns the server host, even if the website uses one or more * reverse proxies */ public static function getServerHost() { return(\OC_Helper::serverHost()); } /** * @brief Creates path to an image * @param $app app * @param $image image name * @returns the url * * Returns the path to the image. */ public static function imagePath( $app, $image ){ return(\OC_Helper::imagePath( $app, $image )); } /** * @brief Make a human file size * @param $bytes file size in bytes * @returns a human readable file size * * Makes 2048 to 2 kB. */ public static function humanFileSize( $bytes ){ return(\OC_Helper::humanFileSize( $bytes )); } /** * @brief Make a computer file size * @param $str file size in a fancy format * @returns a file size in bytes * * Makes 2kB to 2048. * * Inspired by: http://www.php.net/manual/en/function.filesize.php#92418 */ public static function computerFileSize( $str ){ return(\OC_Helper::computerFileSize( $str )); } /** * @brief connects a function to a hook * @param $signalclass class name of emitter * @param $signalname name of signal * @param $slotclass class name of slot * @param $slotname name of slot * @returns true/false * * This function makes it very easy to connect to use hooks. * * TODO: write example */ static public function connectHook( $signalclass, $signalname, $slotclass, $slotname ){ return(\OC_Hook::connect( $signalclass, $signalname, $slotclass, $slotname )); } /** * @brief emitts a signal * @param $signalclass class name of emitter * @param $signalname name of signal * @param $params defautl: array() array with additional data * @returns true if slots exists or false if not * * Emits a signal. To get data from the slot use references! * * TODO: write example */ static public function emitHook( $signalclass, $signalname, $params = array()){ return(\OC_Hook::emit( $signalclass, $signalname, $params )); } } ?>