示例#1
0
文件: std.php 项目: dapepe/tymio
function decodeCsv($string, $delimiter = ';')
{
    if ($string == '') {
        return [];
    }
    $delimiter == '' or $delimiter = $delimiter[0];
    $simple = true;
    $array = [];
    $row = [];
    $col = '';
    for ($pos = 0, $length = strlen($string = normalizeLineBreaks($string)); $pos < $length;) {
        switch ($char = $string[$pos++]) {
            case '"':
                if ($simple) {
                    if ($col === '') {
                        $simple = false;
                    } else {
                        $col .= '"';
                    }
                } else {
                    if ($pos < $length && $string[$pos] === '"') {
                        $col .= '"';
                        $pos++;
                    } else {
                        $simple = true;
                    }
                }
                break;
            case $delimiter:
            case "\n":
                if ($simple) {
                    $row[] = $col;
                    $col = '';
                    if ($char === "\n") {
                        $array[] = $row;
                        $row = [];
                    }
                    break;
                }
            default:
                $col .= $char;
        }
    }
    $row[] = $col;
    $array[] = $row;
    return $array;
}
示例#2
0
文件: ixml.php 项目: dapepe/tymio
 protected function _MAIL_SEND($elem)
 {
     loadCommon('mail');
     $mail = new Mail\Mail($this->getMailMessage($elem));
     $original = ini_set('sendmail_from', $mail->sender_email);
     $e = null;
     try {
         if (!mail(Mail\Mail::createAddressList($mail->to, ','), Mail\Mail::encodeHeader($mail->subject), normalizeLineBreaks($mail->createBody()), normalizeLineBreaks($mail->createHeader()), "-oi -f {$mail->sender_email}")) {
             throw new \Exception('Unable to send mail');
         }
     } catch (\Exception $e) {
     }
     ini_set('sendmail_from', $original);
     if ($e) {
         throw $e;
     }
 }