function adodb_unserialize($serialized_string) { $variables = array(); $a = preg_explode("/(\\w+)\\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < count($a); $i = $i + 2) { $variables[$a[$i]] = unserialize($a[$i + 1]); } return $variables; }
/** * Encode string to quoted-printable. * Only uses standard PHP, slow, but will always work * @access public * @param string $string the text to encode * @param integer $line_max Number of chars allowed on a line before wrapping * @return string */ public function EncodeQPphp($input = '', $line_max = 76, $space_conv = false) { $hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); $lines = preg_explode('/(?:\\r\\n|\\r|\\n)/', $input); $eol = "\r\n"; $escape = '='; $output = ''; while (list(, $line) = each($lines)) { $linlen = strlen($line); $newline = ''; for ($i = 0; $i < $linlen; $i++) { $c = substr($line, $i, 1); $dec = ord($c); if ($i == 0 && $dec == 46) { // convert first point in the line into =2E $c = '=2E'; } if ($dec == 32) { if ($i == $linlen - 1) { // convert space at eol only $c = '=20'; } else { if ($space_conv) { $c = '=20'; } } } elseif ($dec == 61 || $dec < 32 || $dec > 126) { // always encode "\t", which is *not* required $h2 = floor($dec / 16); $h1 = floor($dec % 16); $c = $escape . $hex[$h2] . $hex[$h1]; } if (strlen($newline) + strlen($c) >= $line_max) { // CRLF is not counted $output .= $newline . $escape . $eol; // soft line break; " =\r\n" is okay $newline = ''; // check if newline first character will be point or not if ($dec == 46) { $c = '=2E'; } } $newline .= $c; } // end of for $output .= $newline . $eol; } // end of while return $output; }
function pro($s, $lv) { if ($lv == count($GLOBALS['sep_array'])) { return proc($s); } if ($_POST['sep_pcre'] == 'on') { $a = preg_explode($GLOBALS['sep_array'][$lv], $s); $step = 2; } else { $a = explod($GLOBALS['sep_array'][$lv], $s); $step = 1; } $ct = 0; $x = count($a); for ($i = 0; $i < $x; $i += $step) { if (in_opt_range($ct, $lv, $x)) { $a[$i] = pro($a[$i], $lv + 1); } ++$ct; } if ($_POST['sep_pcre'] == 'on') { $s = implode('', $a); } else { $s = implode($GLOBALS['sep_array'][$lv], $a); } return $s; }