From 3077a4f6d97917f3876109a9a36840293427faf0 Mon Sep 17 00:00:00 2001 From: robert Date: Mon, 12 Jun 2006 18:18:05 +0000 Subject: [PATCH] PHP5ize email and useragent modules --- include/classes/email.php-class | 100 ++++++++++++------------ include/classes/useragent.php-class | 115 ++++++++++++++++------------ 2 files changed, 117 insertions(+), 98 deletions(-) diff --git a/include/classes/email.php-class b/include/classes/email.php-class index 716cf0b..8f72c30 100755 --- a/include/classes/email.php-class +++ b/include/classes/email.php-class @@ -23,137 +23,137 @@ class email { // email PHP class // class/object for creating a new mail and send it // - // function email() + // function __construct() // CONSTRUCTOR // - // var $debug_toSingleAddress + // private $debug_toSingleAddress // address to send mail to in debug mode // - // var $subject + // private $subject // the mail's subject line // - // var $sender + // private $sender // the mail's sender (array; fields see recipients) // - // var $replyto + // private $replyto // Reply-to address (array; fields see recipients) // - // var $recipients + // private $recipients // array of recipients (To: line) // fields: name - real name // mail - email address // - // var $cc + // private $cc // array of CC recipients (fields like recipients) // - // var $bcc + // private $bcc // array of BCC recipients (fields like recipients) // - // var $headers + // private $headers // array containing all additional headers // fields: name - headers name // content - header content // - // var $content_type + // private $content_type // the mail's content type (MIME-type) [default: text/plain] // - // var $charset + // private $charset // the mail's charset [default: iso-8859-15] // - // var $mailtext + // private $mailtext // the main mail body // - // var $attachments + // private $attachments // array containing all attachments // fields: name - attachment name // content - attachment content // type - MIME type of that attachment // - // function setDebugAddress($debug_email) + // public function setDebugAddress($debug_email) // debug mode: send only to this address // - // function setSubject($newsubject) + // public function setSubject($newsubject) // set subject of mail // - // function setSender($email, [$name]) + // public function setSender($email, [$name]) // set sender of mail // - // function setReplyTo($email, [$name]) + // public function setReplyTo($email, [$name]) // set reply-to address // - // function addRecipient($email, [$name]) + // public function addRecipient($email, [$name]) // add a recipient to the mail // - // function addCC($email, [$name]) + // public function addCC($email, [$name]) // add a CC recipient to the mail // - // function addBCC($email, [$name]) + // public function addBCC($email, [$name]) // add a BCC recipient to the mail // - // function addHeader($hname, [$hcontent]) + // public function addHeader($hname, [$hcontent]) // add a header to the mail // - // function addMailText($textpart) + // public function addMailText($textpart) // add some text to the mail // - // function addAttachment($aname, $acontent, [$atype]) + // public function addAttachment($aname, $acontent, [$atype]) // add an attachment to the mail, use given file name, content and MIME type (defaults to application/octet-stream) // - // function send() + // public function send() // really send the mail // - // function mimeencode($fieldtext) + // private function mimeencode($fieldtext) // helper function: // encode given field text, ready to be placed into an e-mail MIME header - var $debug_toSingleAddress = ''; - var $subject; - var $sender = array(); - var $replyto = array(); - var $recipients = array(); - var $cc = array(); - var $bcc = array(); - var $headers = array(); - var $content_type = 'text/plain'; - var $charset = 'iso-8859-15'; - var $mailtext = ''; - var $attachments = array(); + private $debug_toSingleAddress = ''; + private $subject; + private $sender = array(); + private $replyto = array(); + private $recipients = array(); + private $cc = array(); + private $bcc = array(); + private $headers = array(); + private $content_type = 'text/plain'; + private $charset = 'iso-8859-15'; + private $mailtext = ''; + private $attachments = array(); - function email() { + function __construct() { // *** constructor *** } - function setDebugAddress($debug_email) { $this->debug_toSingleAddress = $debug_email; } + public function setDebugAddress($debug_email) { $this->debug_toSingleAddress = $debug_email; } - function setSubject($newsubject) { $this->subject = $newsubject; } + public function setSubject($newsubject) { $this->subject = $newsubject; } - function setSender($email, $name = '') { $this->sender = array('mail' => $email, 'name' => $name); } + public function setSender($email, $name = '') { $this->sender = array('mail' => $email, 'name' => $name); } - function setReplyTo($email, $name = '') { $this->replyto = array('mail' => $email, 'name' => $name); } + public function setReplyTo($email, $name = '') { $this->replyto = array('mail' => $email, 'name' => $name); } - function addRecipient($email, $name = '') { + public function addRecipient($email, $name = '') { $this->recipients[] = array('mail' => $email, 'name' => $name); } - function addCC($email, $name = '') { + public function addCC($email, $name = '') { $this->cc[] = array('mail' => $email, 'name' => $name); } - function addBCC($email, $name = '') { + public function addBCC($email, $name = '') { $this->bcc[] = array('mail' => $email, 'name' => $name); } - function addHeader($hname, $hcontent = '') { + public function addHeader($hname, $hcontent = '') { $this->headers[] = array('name' => $hname, 'content' => $hcontent); } - function addMailText($textpart) { $this->mailtext .= $textpart; } + public function addMailText($textpart) { $this->mailtext .= $textpart; } - function addAttachment($aname, $acontent, $atype = 'application/octet-stream') { + public function addAttachment($aname, $acontent, $atype = 'application/octet-stream') { $this->attachments[] = array('name' => $aname, 'content' => $acontent, 'type' => $atype); } - function send() { + public function send() { global $util; $mtxt = ''; $hdrs = 'MIME-Version: 1.0'."\n"; @@ -256,7 +256,7 @@ class email { return mail($recpt, $subj, $mtxt, $hdrs); } - function mimeencode($fieldtext) { + private function mimeencode($fieldtext) { $mText = imap_8bit($fieldtext); if ($mText != $fieldtext) { $trans = array('_' => '=5F', ' ' => '_', '?' => '=3F'); diff --git a/include/classes/useragent.php-class b/include/classes/useragent.php-class index 12293d5..bbed94f 100755 --- a/include/classes/useragent.php-class +++ b/include/classes/useragent.php-class @@ -39,90 +39,90 @@ class userAgent { // userAgent PHP class // get user agent and tell us what Browser is accessing // - // function userAgent([$ua_string]) + // function __construct([$ua_string]) // CONSTRUCTOR; reads UA string (or takes the optional given UA string) and gets info from that into our variables. // - // var $uastring + // private $uastring // the plain User Agent string - // var $brand + // private $brand // the User Agent brand name - // var $version + // private $version // the User Agent version - // var $bot + // private $bot // bool: true if this agent is a bot - // var $uadata + // private $uadata // array of static user agent data (static vars in functions are set for all objects of this class!) // - // function getBrand() + // public function getBrand() // returns the User Agent Brand Name // - // function getVersion() + // public function getVersion() // returns the User Agent version // - // function getAcceptLanguages() + // public function getAcceptLanguages() // returns an associated array with the accepted languages of this UA // keys are language codes, values are q factors (weights) // - // function getUAString() + // public function getUAString() // returns the full User Agent string // - // function getEngine() + // public function getEngine() // returns a string telling the detected rendering engine, null if we can't detect // one of gecko|khtml|trident|tasman|nscp|presto|gzilla|gtkhtml|links|unknown // - // function hasEngine($rnd_engine) + // public function hasEngine($rnd_engine) // returns true if the given rendering engine was detected // - // function getEngineVersion() + // public function getEngineVersion() // returns a the version number for the rendering engine // this may be the same as getVersion() for many engines, or null if we don't know // - // function getOS() + // public function getOS() // returns a string telling the detected operating system, null if we can't detect // might be very verbose, uses no abbreviations for most names // - // function getPlatform() + // public function getPlatform() // returns a string telling the detected OS platform, null if we can't detect // one of windows|linux|mac|solaris|unknown // - // function getLanguage() { + // public function getLanguage() { // returns a string telling the detected browser UI language, null if we can't detect // should be an ISO code // - // function isBot() + // public function isBot() // returns true if User Agent seems to be a bot // // *** functions that only return useable info for some agents *** // - // function getGeckoDate() + // public function getGeckoDate() // returns the Gecko date for Gecko-based browsers, null for others // // *** functions for compat to older versions of this class *** // - // function isns() + // public function isns() // returns true if User Agent seems to be Netscape brand, false if not - // function isns4() + // public function isns4() // returns true if User Agent seems to be Netscape Communicator 4.x, false if not - // function isie() + // public function isie() // returns true if User Agent seems to be a version of Internet Exploder, false if not - // function geckobased() + // public function geckobased() // returns true if User Agent seems to be a Gecko-based browser, false if not - // function geckodate() + // public function geckodate() // returns the Gecko date when it's a Gecko-based browser, 0 if not - // function khtmlbased() + // public function khtmlbased() // returns true if User Agent seems to be a KHTML-based browser, false if not // collection of some known User Agent Strings: // *** see testbed/ua_list_raw.txt *** // *** see also http://www.pgts.com.au/pgtsj/pgtsj0208c.html *** - var $uastring; - var $brand; - var $version; - var $bot = false; - var $uadata = array(); + private $uastring; + private $brand; + private $version; + private $bot = false; + private $uadata = array(); - function userAgent($ua_string = '') { + function __construct($ua_string = '') { // *** constructor *** if (strlen($ua_string)) { $this->uastring = $ua_string; @@ -443,10 +443,10 @@ class userAgent { } } - function getBrand() { return $this->brand; } - function getVersion() { return $this->version; } + public function getBrand() { return $this->brand; } + public function getVersion() { return $this->version; } - function getAcceptLanguages() { + public function getAcceptLanguages() { if (!isset($this->uadata['accept-languages'])) { $headers = getAllHeaders(); $accLcomp = explode(',', $headers['Accept-Language']); @@ -462,9 +462,9 @@ class userAgent { return $this->uadata['accept-languages']; } - function getUAString() { return $this->uastring; } + public function getUAString() { return $this->uastring; } - function getEngine() { + public function getEngine() { // return gecko|khtml|trident|tasman|nscp|presto|gzilla|gtkhtml|links|unknown if (!isset($this->uadata['engine'])) { $this->uadata['engine'] = 'unknown'; @@ -514,9 +514,9 @@ class userAgent { return $this->uadata['engine']; } - function hasEngine($rnd_engine) { return ($this->getEngine() == $rnd_engine); } + public function hasEngine($rnd_engine) { return ($this->getEngine() == $rnd_engine); } - function getEngineVersion() { + public function getEngineVersion() { if (!isset($this->uadata['eng_version'])) { $this->uadata['eng_version'] = null; // getOS() should get the date for us @@ -525,7 +525,7 @@ class userAgent { return $this->uadata['eng_version']; } - function getOS() { + public function getOS() { if (!isset($this->uadata['os'])) { $this->uadata['os'] = null; if ($this->hasEngine('gecko')) { @@ -729,7 +729,7 @@ class userAgent { return $this->uadata['os']; } - function getPlatform() { + public function getPlatform() { if (!isset($this->uadata['platform'])) { $this->uadata['platform'] = null; // getOS() should get the date for us @@ -738,7 +738,7 @@ class userAgent { return $this->uadata['platform']; } - function getLanguage() { + public function getLanguage() { if (!isset($this->uadata['lang'])) { $this->uadata['lang'] = null; // getOS() should get the date for us @@ -747,7 +747,7 @@ class userAgent { return $this->uadata['lang']; } - function getGeckoDate() { + public function getGeckoDate() { if (!isset($this->uadata['geckodate'])) { $this->uadata['geckodate'] = null; // getEngine() should get the date for us @@ -756,12 +756,31 @@ class userAgent { return $this->uadata['geckodate']; } - function isbot() { return $this->bot; } - function isns() { return (strpos($this->brand, 'Netscape') !== false); } - function isns4() { return ((strpos($this->brand, 'Netscape') !== false) && (intval($this->version) == 4)); } - function isie() { return $this->hasEngine('trident'); } - function geckodate() { return (!is_null($this->getGeckoDate())?$this->getGeckoDate():0); } - function geckobased() { return $this->hasEngine('gecko'); } - function khtmlbased() { return $this->hasEngine('khtml'); } + public function isBot() { return $this->bot; } + + public function isns() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return (strpos($this->brand, 'Netscape') !== false); + } + public function isns4() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return ((strpos($this->brand, 'Netscape') !== false) && (intval($this->version) == 4)); + } + public function isie() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return $this->hasEngine('trident'); + } + public function geckodate() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return (!is_null($this->getGeckoDate())?$this->getGeckoDate():0); + } + public function geckobased() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return $this->hasEngine('gecko'); + } + public function khtmlbased() { + trigger_error(__CLASS__.'::'.__FUNCTION__.' is a deprecated function', E_USER_NOTICE); + return $this->hasEngine('khtml'); + } } ?> -- 2.43.0