utf8() static public method

Converts a string to UTF-8
static public utf8 ( string $string ) : string
$string string
return string
Esempio n. 1
0
 /** 
  * A set of sanitizer methods
  * 
  * @param  string  $string The string to sanitize
  * @param  string  $type The method
  * @param  string  $default The default value if the string will be empty afterwards
  * @return string  The sanitized string
  */
 static function sanitize($string, $type = 'str', $default = null)
 {
     $string = stripslashes((string) $string);
     $string = urldecode($string);
     $string = str::utf8($string);
     switch ($type) {
         case 'int':
             $string = (int) $string;
             break;
         case 'str':
             $string = (string) $string;
             break;
         case 'array':
             $string = (array) $string;
             break;
         case 'nohtml':
             $string = self::unhtml($string);
             break;
         case 'noxml':
             $string = self::unxml($string);
             break;
         case 'enum':
             $string = in_array($string, array('y', 'n')) ? $string : $default;
             $string = in_array($string, array('y', 'n')) ? $string : 'n';
             break;
         case 'checkbox':
             $string = $string == 'on' ? 'y' : 'n';
             break;
         case 'url':
             $string = v::url($string) ? $string : '';
             break;
         case 'email':
             $string = v::email($string) ? $string : '';
             break;
         case 'plain':
             $string = str::unxml($string);
             $string = str::unhtml($string);
             $string = str::trim($string);
             break;
         case 'lower':
             $string = str::lower($string);
             break;
         case 'upper':
             $string = str::upper($string);
             break;
         case 'words':
             $string = str::sanitize($string, 'plain');
             $string = preg_replace('/[^\\pL]/u', ' ', $string);
         case 'tags':
             $string = str::sanitize($string, 'plain');
             $string = preg_replace('/[^\\pL\\pN]/u', ' ', $string);
             $string = str::trim($string);
         case 'nobreaks':
             $string = str_replace('\\n', '', $string);
             $string = str_replace('\\r', '', $string);
             $string = str_replace('\\t', '', $string);
             break;
         case 'url':
             $string = self::urlify($string);
             break;
         case 'filename':
             $string = f::safe_name($string);
             break;
     }
     return trim($string);
 }
Esempio n. 2
0
            // reset the error
            $this->error = null;
            return true;
        } catch (Exception $e) {
            $this->error = $e;
            return false;
        }
    }
}
/**
 * Default mail driver
 */
email::$services['mail'] = function ($email) {
    $headers = array('From: ' . $email->from, 'Reply-To: ' . $email->replyTo, 'Return-Path: ' . $email->replyTo, 'Message-ID: <' . time() . '-' . $email->from . '>', 'X-Mailer: PHP v' . phpversion(), 'Content-Type: text/plain; charset=utf-8', 'Content-Transfer-Encoding: 8bit');
    ini_set('sendmail_from', $email->from);
    $send = mail($email->to, str::utf8($email->subject), str::utf8($email->body), implode(PHP_EOL, $headers));
    ini_restore('sendmail_from');
    if (!$send) {
        throw new Error('The email could not be sent');
    }
};
/**
 * Amazon mail driver
 */
email::$services['amazon'] = function ($email) {
    if (empty($email->options['key'])) {
        throw new Error('Missing Amazon API key');
    }
    if (empty($email->options['secret'])) {
        throw new Error('Missing Amazon API secret');
    }
Esempio n. 3
0
 public function testUtf8()
 {
     $this->assertEquals($this->sample, str::utf8($this->sample));
 }
Esempio n. 4
0
 private function sendWithMail()
 {
     $headers = array();
     $headers[] = 'From: ' . $this->options['from'];
     $headers[] = 'Reply-To: ' . $this->options['replyto'];
     $headers[] = 'Return-Path: ' . $this->options['replyto'];
     $headers[] = 'Message-ID: <' . time() . '-' . $this->options['from'] . '>';
     $headers[] = 'X-Mailer: PHP v' . phpversion();
     $headers[] = 'Content-Type: text/plain; charset=utf-8';
     $headers[] = 'Content-Transfer-Encoding: 8bit';
     ini_set('sendmail_from', $this->options['from']);
     $send = mail($this->options['to'], str::utf8($this->options['subject']), str::utf8($this->options['body']), implode("\r\n", $headers));
     ini_restore('sendmail_from');
     if (!$send) {
         return array('status' => 'error', 'msg' => l::get('email.error', 'The mail could not be sent!'));
     }
     return array('status' => 'success', 'msg' => l::get('email.success', 'The mail has been sent'));
 }