$string keys were supposed to be UPPERCASE but \"$k\" was found; file may be corrupted or in an expected format.
Some SimplePHPBlog files may raise this error: set DUMB_MODE_ENABLED to true in your defaults.php to force parsing of the offending keys.", E_USER_WARNING); */ continue; } $arr[strtolower($k)] = strtok($delim); } return $arr; } /* function utils_newkexplode($string, $delim='|') { $arr = array(); $lastoffset = $offset = 0; $len = strlen($string); while ($lastoffset<$len) { $offset = strpos($string, $delim, $lastoffset); $key = substr($string, $lastoffset, $offset-$lastoffset); //echo 'parsing key: ', $key, $offset, chr(10); $lastoffset = $offset + 1; if (!ctype_upper($key)) trigger_error("Failed parsing \"$string\" keys were supposed to be UPPERCASE", E_USER_ERROR); $offset = strpos($string, $delim, $lastoffset); if ($offset===false) $offset = $len; $val = substr($string, $lastoffset, $offset-$lastoffset); //echo 'parsing value ', $val, $offset, chr(10); $lastoffset = $offset + 1; $arr[$key] = $val; } return $arr; }*/ // function prototype: // array utils_kimplode(string $string, string $delim='|') // explodes a string into an array by the given delimiter; // delimiter defaults to pipe ('|'). // the string must be formatted as in: // key1|value1|key2|value2 , etc. // the array will look like // $arr['key1'] = 'value1'; $arr['key2'] = 'value2'; etc. function utils_kimplode($arr, $delim='|') { $string = ""; foreach ($arr as $k => $val) { if ($val) $string .= strtoupper($k) . $delim . ($val) . $delim; } return $string; } /** * @todo send mail to admin */ function &utils_explode_recursive($array, &$string, $rdelim, $ldelim='', $outerldelim='', $outerrdelim='') { $string .= $outerldelim; while (list(,$val) = each($array)) { $string .= $rdelim; if (is_array($val)) { $string .= utils_explode_recursive($val, $string, $rdelim, $ldelim, $outerldelim, $outerrdelim); } else { $string .= $val; } $string .= $ldelim; } $string .= $outerrdelim; } function utils_validateinput($str) { if (preg_match('/[^a-z0-9\-_]/i',$str)){ trigger_error("String \"$str\" is not a valid input", E_USER_ERROR); //return false; } else return true; } function utils_cut_string($str,$maxc) { $car = strlen($str); if($car > $maxc) { return substr($str, 0, $maxc)."..."; } else { return $str; } } function utils_status_header($status) { switch ($status) { case 301: header("HTTP/1.1 301 Moved Permanently"); break; case 403: header("HTTP/1.1 403 Forbidden"); break; case 404: header("HTTP/1.1 404 Not Found"); break; } } // code from php.net ;) // defaults to index.php ;) function utils_redirect($location="", $absolute_path=false, $red_type=null) { if (!$absolute_path) $location = BLOG_BASEURL . $location; if ( function_exists('wp_redirect') ) { wp_redirect($location); } else { header("Location: $location"); } exit(); } /* * utils_geturlstring() * * @return string complete url string as displayed in the browser * */ function utils_geturlstring() { $str = BLOG_BASEURL . $_SERVER['PHP_SELF']; if ($_SERVER['QUERY_STRING']) $str .='?'.$_SERVER['QUERY_STRING']; return $str; } // custom array_merge: // pads the second array to match the length of the first // this can be improved, anyway for now I'd just // do a quick & dirty solution :) function utils_array_merge($arr1, $arr2) { $len=count($arr1[0]); foreach($arr2 as $k=>$v) $arr2[$k]=array_pad((Array) $v, $len, null); return array_merge($arr1, $arr2); } /* * Simple function to replicate PHP 5 behaviour */ function utils_microtime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function utils_countdashes($string, &$rest) { trim($string); $i = 0; while ($string{$i} == '-') { $i++; } if ($i) $rest = substr($string, $i); else $rest = $string; return $i; } function utils_mail($from, $subject, $message, $headers = '') { global $fp_config; if( $headers == '' ) { $headers = "MIME-Version: 1.0\n" . "From: " . $from . "\n" . "Content-Type: text/plain; charset=\"" . $fp_config['general']['charset'] . "\"\n"; } return mail($fp_config['general']['email'], $subject, $message, $headers); } // get client IP function utils_ipget() { $ip = ''; if ( !empty ( $_SERVER[ 'HTTP_CLIENT_IP' ] ) ) { $ip = $_SERVER[ 'HTTP_CLIENT_IP' ]; } elseif ( !empty ( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) ) { $ip = $_SERVER[ 'HTTP_X_FORWARDED_FOR' ]; } elseif ( !empty ( $_SERVER[ 'REMOTE_ADDR' ] ) ) { $ip = $_SERVER[ 'REMOTE_ADDR' ]; } elseif ( getenv( "HTTP_CLIENT_IP" ) ) { $ip = getenv( "HTTP_CLIENT_IP" ); } elseif ( getenv( "HTTP_X_FORWARDED_FOR" ) ) { $ip = getenv( "HTTP_X_FORWARDED_FOR" ); } elseif ( getenv( "REMOTE_ADDR") ) { $ip = getenv( "REMOTE_ADDR" ); } if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $ip)) { return $ip; } else { return ''; } } function utils_nocache_headers() { @ header('Expires: Wed, 11 Jan 1984 05:00:00 GMT'); @ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); @ header('Cache-Control: no-cache, must-revalidate, max-age=0'); @ header('Pragma: no-cache'); } function utils_checksmarty() { if (!file_exists(SMARTY_DIR . 'Smarty.class.php')) { $err = <<http://smarty.php.net; you will probably need SmartyValidate as well; unpack them to fp-includes/core/smarty: please do not overwrite files in fp-includes/core/smarty/plugins/ ERR; trigger_error($err, E_USER_ERROR); } } function fplog($str) { if(!defined('DEBUG_MODE')) echo "\n[DEBUG] $str \n"; } ?>