summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-01-07 00:18:33 +0100
committerAndrey Andreev <narf@bofh.bg>2012-01-07 00:18:33 +0100
commitd350d13446faf41d6c0301d34760ba475efd7f49 (patch)
treea9dc48c0b919e9f86a3ad8cc1c26d40102d16e47
parent7fd137b9cb3aa8477e92ecce434ac61e904527c2 (diff)
parent9252d7bf2208d351aad4292cb79c509391f0313f (diff)
Merge upstream branch
-rwxr-xr-xsystem/database/DB.php4
-rw-r--r--system/helpers/email_helper.php11
-rw-r--r--system/helpers/file_helper.php72
-rw-r--r--system/helpers/form_helper.php74
-rw-r--r--system/helpers/html_helper.php70
-rw-r--r--system/helpers/inflector_helper.php30
-rw-r--r--system/helpers/language_helper.php9
-rw-r--r--system/helpers/number_helper.php9
-rw-r--r--system/helpers/path_helper.php20
-rw-r--r--system/helpers/security_helper.php23
-rw-r--r--system/libraries/Xmlrpc.php427
-rw-r--r--user_guide_src/source/changelog.rst1
12 files changed, 305 insertions, 445 deletions
diff --git a/system/database/DB.php b/system/database/DB.php
index 1fb666fae..a0106c133 100755
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -138,14 +138,14 @@ function &DB($params = '', $active_record_override = NULL)
if ( ! class_exists('CI_DB'))
{
- eval('class CI_DB extends CI_DB_active_record { }');
+ class CI_DB extends CI_DB_active_record { }
}
}
else
{
if ( ! class_exists('CI_DB'))
{
- eval('class CI_DB extends CI_DB_driver { }');
+ class CI_DB extends CI_DB_driver { }
}
}
diff --git a/system/helpers/email_helper.php b/system/helpers/email_helper.php
index e6a9003e2..f184031a9 100644
--- a/system/helpers/email_helper.php
+++ b/system/helpers/email_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -49,7 +49,7 @@ if ( ! function_exists('valid_email'))
{
function valid_email($address)
{
- return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address)) ? FALSE : TRUE;
+ return (bool) preg_match('/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix', $address);
}
}
@@ -69,6 +69,5 @@ if ( ! function_exists('send_email'))
}
}
-
/* End of file email_helper.php */
-/* Location: ./system/helpers/email_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/email_helper.php */
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index cc9dea22a..9b39b8c20 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -142,15 +142,11 @@ if ( ! function_exists('delete_files'))
while (FALSE !== ($filename = @readdir($current_dir)))
{
- if ($filename != "." and $filename != "..")
+ if ($filename !== '.' and $filename !== '..')
{
- if (is_dir($path.DIRECTORY_SEPARATOR.$filename))
+ if (is_dir($path.DIRECTORY_SEPARATOR.$filename) && $filename[0] !== '.')
{
- // Ignore empty folders
- if (substr($filename, 0, 1) != '.')
- {
- delete_files($path.DIRECTORY_SEPARATOR.$filename, $del_dir, $level + 1);
- }
+ delete_files($path.DIRECTORY_SEPARATOR.$filename, $del_dir, $level + 1);
}
else
{
@@ -209,12 +205,12 @@ if ( ! function_exists('get_filenames'))
$_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file;
}
}
+ closedir($source_dir);
+
return $_filedata;
}
- else
- {
- return FALSE;
- }
+
+ return FALSE;
}
}
@@ -263,13 +259,12 @@ if ( ! function_exists('get_dir_file_info'))
$_filedata[$file]['relative_path'] = $relative_path;
}
}
+ closedir($source_dir);
return $_filedata;
}
- else
- {
- return FALSE;
- }
+
+ return FALSE;
}
}
@@ -391,10 +386,8 @@ if ( ! function_exists('get_mime_by_extension'))
return $mimes[$extension];
}
}
- else
- {
- return FALSE;
- }
+
+ return FALSE;
}
}
@@ -414,31 +407,31 @@ if ( ! function_exists('symbolic_permissions'))
{
function symbolic_permissions($perms)
{
- if (($perms & 0xC000) == 0xC000)
+ if (($perms & 0xC000) === 0xC000)
{
$symbolic = 's'; // Socket
}
- elseif (($perms & 0xA000) == 0xA000)
+ elseif (($perms & 0xA000) === 0xA000)
{
$symbolic = 'l'; // Symbolic Link
}
- elseif (($perms & 0x8000) == 0x8000)
+ elseif (($perms & 0x8000) === 0x8000)
{
$symbolic = '-'; // Regular
}
- elseif (($perms & 0x6000) == 0x6000)
+ elseif (($perms & 0x6000) === 0x6000)
{
$symbolic = 'b'; // Block special
}
- elseif (($perms & 0x4000) == 0x4000)
+ elseif (($perms & 0x4000) === 0x4000)
{
$symbolic = 'd'; // Directory
}
- elseif (($perms & 0x2000) == 0x2000)
+ elseif (($perms & 0x2000) === 0x2000)
{
$symbolic = 'c'; // Character special
}
- elseif (($perms & 0x1000) == 0x1000)
+ elseif (($perms & 0x1000) === 0x1000)
{
$symbolic = 'p'; // FIFO pipe
}
@@ -448,19 +441,19 @@ if ( ! function_exists('symbolic_permissions'))
}
// Owner
- $symbolic .= (($perms & 0x0100) ? 'r' : '-');
- $symbolic .= (($perms & 0x0080) ? 'w' : '-');
- $symbolic .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));
+ $symbolic .= (($perms & 0x0100) ? 'r' : '-')
+ . (($perms & 0x0080) ? 'w' : '-')
+ . (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));
// Group
- $symbolic .= (($perms & 0x0020) ? 'r' : '-');
- $symbolic .= (($perms & 0x0010) ? 'w' : '-');
- $symbolic .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));
+ $symbolic .= (($perms & 0x0020) ? 'r' : '-')
+ . (($perms & 0x0010) ? 'w' : '-')
+ . (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));
// World
- $symbolic .= (($perms & 0x0004) ? 'r' : '-');
- $symbolic .= (($perms & 0x0002) ? 'w' : '-');
- $symbolic .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));
+ $symbolic .= (($perms & 0x0004) ? 'r' : '-')
+ . (($perms & 0x0002) ? 'w' : '-')
+ . (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));
return $symbolic;
}
@@ -486,6 +479,5 @@ if ( ! function_exists('octal_permissions'))
}
}
-
/* End of file file_helper.php */
-/* Location: ./system/helpers/file_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/file_helper.php */
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 3a7f8fe3e..bed2cb297 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -70,14 +70,10 @@ if ( ! function_exists('form_open'))
// If no action is provided then set to the current url
$action OR $action = $CI->config->site_url($CI->uri->uri_string());
- $form = '<form action="'.$action.'"';
-
- $form .= _attributes_to_string($attributes, TRUE);
+ $form = '<form action="'.$action.'"'._attributes_to_string($attributes, TRUE).">\n";
- $form .= '>';
-
- // Add CSRF field if enabled, but leave it out for GET requests and requests to external websites
- if ($CI->config->item('csrf_protection') === TRUE AND ! (strpos($action, $CI->config->site_url()) === FALSE OR strpos($form, 'method="get"')))
+ // Add CSRF field if enabled, but leave it out for GET requests and requests to external websites
+ if ($CI->config->item('csrf_protection') === TRUE AND ! (strpos($action, $CI->config->site_url()) === FALSE OR strpos($form, 'method="get"')))
{
$hidden[$CI->security->get_csrf_token_name()] = $CI->security->get_csrf_hash();
}
@@ -156,7 +152,7 @@ if ( ! function_exists('form_hidden'))
if ( ! is_array($value))
{
- $form .= '<input type="hidden" name="'.$name.'" value="'.form_prep($value, $name).'" />'."\n";
+ $form .= '<input type="hidden" name="'.$name.'" value="'.form_prep($value, $name)."\" />\n";
}
else
{
@@ -188,7 +184,7 @@ if ( ! function_exists('form_input'))
{
$defaults = array('type' => 'text', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
- return "<input "._parse_form_attributes($data, $defaults).$extra." />";
+ return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -274,7 +270,7 @@ if ( ! function_exists('form_textarea'))
}
$name = (is_array($data)) ? $data['name'] : $data;
- return "<textarea "._parse_form_attributes($data, $defaults).$extra.">".form_prep($val, $name)."</textarea>";
+ return '<textarea '._parse_form_attributes($data, $defaults).$extra.'>'.form_prep($val, $name)."</textarea>\n";
}
}
@@ -325,13 +321,9 @@ if ( ! function_exists('form_dropdown'))
}
// If no selected state was submitted we will attempt to set it automatically
- if (count($selected) === 0)
+ if (count($selected) === 0 && isset($_POST[$name]))
{
- // If the form name appears in the $_POST array we have a winner!
- if (isset($_POST[$name]))
- {
- $selected = array($_POST[$name]);
- }
+ $selected = array($_POST[$name]);
}
if ($extra != '') $extra = ' '.$extra;
@@ -346,12 +338,11 @@ if ( ! function_exists('form_dropdown'))
if (is_array($val) && ! empty($val))
{
- $form .= '<optgroup label="'.$key.'">'."\n";
+ $form .= '<optgroup label="'.$key."\">\n";
foreach ($val as $optgroup_key => $optgroup_val)
{
$sel = (in_array($optgroup_key, $selected)) ? ' selected="selected"' : '';
-
$form .= '<option value="'.$optgroup_key.'"'.$sel.'>'.(string) $optgroup_val."</option>\n";
}
@@ -359,13 +350,11 @@ if ( ! function_exists('form_dropdown'))
}
else
{
- $sel = (in_array($key, $selected)) ? ' selected="selected"' : '';
-
- $form .= '<option value="'.$key.'"'.$sel.'>'.(string) $val."</option>\n";
+ $form .= '<option value="'.$key.'"'.(in_array($key, $selected) ? ' selected="selected"' : '').'>'.(string) $val."</option>\n";
}
}
- $form .= '</select>';
+ $form .= "</select>\n";
return $form;
}
@@ -412,7 +401,7 @@ if ( ! function_exists('form_checkbox'))
unset($defaults['checked']);
}
- return "<input "._parse_form_attributes($data, $defaults).$extra." />";
+ return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -458,8 +447,7 @@ if ( ! function_exists('form_submit'))
function form_submit($data = '', $value = '', $extra = '')
{
$defaults = array('type' => 'submit', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
-
- return "<input "._parse_form_attributes($data, $defaults).$extra." />";
+ return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -479,8 +467,7 @@ if ( ! function_exists('form_reset'))
function form_reset($data = '', $value = '', $extra = '')
{
$defaults = array('type' => 'reset', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
-
- return "<input "._parse_form_attributes($data, $defaults).$extra." />";
+ return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -500,14 +487,13 @@ if ( ! function_exists('form_button'))
function form_button($data = '', $content = '', $extra = '')
{
$defaults = array('name' => (( ! is_array($data)) ? $data : ''), 'type' => 'button');
-
if ( is_array($data) AND isset($data['content']))
{
$content = $data['content'];
unset($data['content']); // content is not an attribute
}
- return "<button "._parse_form_attributes($data, $defaults).$extra.">".$content."</button>";
+ return '<button '._parse_form_attributes($data, $defaults).$extra.'>'.$content."</button>\n";
}
}
@@ -542,9 +528,7 @@ if ( ! function_exists('form_label'))
}
}
- $label .= ">$label_text</label>";
-
- return $label;
+ return $label .= ">$label_text</label>";
}
}
@@ -564,12 +548,7 @@ if ( ! function_exists('form_fieldset'))
{
function form_fieldset($legend_text = '', $attributes = array())
{
- $fieldset = "<fieldset";
-
- $fieldset .= _attributes_to_string($attributes, FALSE);
-
- $fieldset .= ">\n";
-
+ $fieldset = '<fieldset'._attributes_to_string($attributes, FALSE).">\n";
if ($legend_text != '')
{
$fieldset .= "<legend>$legend_text</legend>\n";
@@ -654,15 +633,13 @@ if ( ! function_exists('form_prep'))
{
return $str;
}
-
- $str = html_escape($str);
if ($field_name != '')
{
$prepped_fields[$field_name] = $field_name;
}
- return $str;
+ return html_escape($str);
}
}
@@ -992,7 +969,7 @@ if ( ! function_exists('_attributes_to_string'))
$attributes .= ' accept-charset="'.strtolower(config_item('charset')).'"';
}
- return ' '.$attributes;
+ return ' '.$attributes;
}
if (is_object($attributes) AND count($attributes) > 0)
@@ -1043,21 +1020,20 @@ if ( ! function_exists('_get_validation_object'))
// We set this as a variable since we're returning by reference.
$return = FALSE;
-
+
if (FALSE !== ($object = $CI->load->is_loaded('form_validation')))
{
if ( ! isset($CI->$object) OR ! is_object($CI->$object))
{
return $return;
}
-
+
return $CI->$object;
}
-
+
return $return;
}
}
-
/* End of file form_helper.php */
/* Location: ./system/helpers/form_helper.php */
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 2a603a607..72970d9ca 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -54,8 +54,7 @@ if ( ! function_exists('heading'))
{
function heading($data = '', $h = '1', $attributes = '')
{
- $attributes = ($attributes != '') ? ' '.$attributes : $attributes;
- return "<h".$h.$attributes.">".$data."</h".$h.">";
+ return '<h'.$h.($attributes != '' ? ' ' : '').$attributes.'>'.$data.'</h'.$h.'>';
}
}
@@ -124,7 +123,7 @@ if ( ! function_exists('_list'))
}
// Set the indentation based on the depth
- $out = str_repeat(" ", $depth);
+ $out = str_repeat(' ', $depth);
// Were any attributes submitted? If so generate a string
if (is_array($attributes))
@@ -142,7 +141,7 @@ if ( ! function_exists('_list'))
}
// Write the opening list tag
- $out .= "<".$type.$attributes.">\n";
+ $out .= '<'.$type.$attributes.">\n";
// Cycle through the list elements. If an array is
// encountered we will recursively call _list()
@@ -152,8 +151,7 @@ if ( ! function_exists('_list'))
{
$_last_list_item = $key;
- $out .= str_repeat(" ", $depth + 2);
- $out .= "<li>";
+ $out .= str_repeat(' ', $depth + 2).'<li>';
if ( ! is_array($val))
{
@@ -161,21 +159,14 @@ if ( ! function_exists('_list'))
}
else
{
- $out .= $_last_list_item."\n";
- $out .= _list($type, $val, '', $depth + 4);
- $out .= str_repeat(" ", $depth + 2);
+ $out .= $_last_list_item."\n"._list($type, $val, '', $depth + 4).str_repeat(' ', $depth + 2);
}
$out .= "</li>\n";
}
- // Set the indentation for the closing tag
- $out .= str_repeat(" ", $depth);
-
- // Write the closing list tag
- $out .= "</".$type.">\n";
-
- return $out;
+ // Set the indentation for the closing tag and apply it
+ return $out.str_repeat(' ', $depth).'</'.$type.">\n";
}
}
@@ -192,7 +183,7 @@ if ( ! function_exists('br'))
{
function br($num = 1)
{
- return str_repeat("<br />", $num);
+ return str_repeat('<br />', $num);
}
}
@@ -224,10 +215,9 @@ if ( ! function_exists('img'))
$img = '<img';
- foreach ($src as $k=>$v)
+ foreach ($src as $k => $v)
{
-
- if ($k == 'src' AND strpos($v, '://') === FALSE)
+ if ($k === 'src' AND strpos($v, '://') === FALSE)
{
$CI =& get_instance();
@@ -246,9 +236,7 @@ if ( ! function_exists('img'))
}
}
- $img .= '/>';
-
- return $img;
+ return $img.'/>';
}
}
@@ -290,14 +278,7 @@ if ( ! function_exists('doctype'))
}
}
- if (isset($_doctypes[$type]))
- {
- return $_doctypes[$type];
- }
- else
- {
- return FALSE;
- }
+ return (isset($_doctypes[$type])) ? $_doctypes[$type] : FALSE;
}
}
@@ -322,14 +303,13 @@ if ( ! function_exists('link_tag'))
function link_tag($href = '', $rel = 'stylesheet', $type = 'text/css', $title = '', $media = '', $index_page = FALSE)
{
$CI =& get_instance();
-
$link = '<link ';
if (is_array($href))
{
- foreach ($href as $k=>$v)
+ foreach ($href as $k => $v)
{
- if ($k == 'href' AND strpos($v, '://') === FALSE)
+ if ($k === 'href' AND strpos($v, '://') === FALSE)
{
if ($index_page === TRUE)
{
@@ -346,11 +326,11 @@ if ( ! function_exists('link_tag'))
}
}
- $link .= "/>";
+ $link .= '/>';
}
else
{
- if ( strpos($href, '://') !== FALSE)
+ if (strpos($href, '://') !== FALSE)
{
$link .= 'href="'.$href.'" ';
}
@@ -365,21 +345,20 @@ if ( ! function_exists('link_tag'))
$link .= 'rel="'.$rel.'" type="'.$type.'" ';
- if ($media != '')
+ if ($media != '')
{
$link .= 'media="'.$media.'" ';
}
- if ($title != '')
+ if ($title != '')
{
$link .= 'title="'.$title.'" ';
}
$link .= '/>';
}
- $link .= "\n";
- return $link;
+ return $link."\n";
}
}
@@ -439,10 +418,9 @@ if ( ! function_exists('nbs'))
{
function nbs($num = 1)
{
- return str_repeat("&nbsp;", $num);
+ return str_repeat('&nbsp;', $num);
}
}
-
/* End of file html_helper.php */
-/* Location: ./system/helpers/html_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/html_helper.php */
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index f093dd921..0bd1e112f 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -1,4 +1,4 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
@@ -85,16 +85,7 @@ if ( ! function_exists('singular'))
'/([^u])s$/' => '\1',
);
- foreach ($singular_rules as $rule => $replacement)
- {
- if (preg_match($rule, $result))
- {
- $result = preg_replace($rule, $replacement, $result);
- break;
- }
- }
-
- return $result;
+ return preg_replace(array_keys($singular_values), $singular_values, $result);
}
}
@@ -138,16 +129,7 @@ if ( ! function_exists('plural'))
'/$/' => 's',
);
- foreach ($plural_rules as $rule => $replacement)
- {
- if (preg_match($rule, $result))
- {
- $result = preg_replace($rule, $replacement, $result);
- break;
- }
- }
-
- return $result;
+ return preg_replace(array_keys($plural_rules), $plural_rules, $result);
}
}
@@ -166,9 +148,7 @@ if ( ! function_exists('camelize'))
{
function camelize($str)
{
- $str = 'x'.strtolower(trim($str));
- $str = ucwords(preg_replace('/[\s_]+/', ' ', $str));
- return substr(str_replace(' ', '', $str), 1);
+ return substr(str_replace(' ', '', ucwords(preg_replace('/[\s_]+/', ' ', $str))), 1);
}
}
@@ -212,4 +192,4 @@ if ( ! function_exists('humanize'))
}
/* End of file inflector_helper.php */
-/* Location: ./system/helpers/inflector_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/inflector_helper.php */
diff --git a/system/helpers/language_helper.php b/system/helpers/language_helper.php
index ed17bfa4c..a83580a97 100644
--- a/system/helpers/language_helper.php
+++ b/system/helpers/language_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -65,6 +65,5 @@ if ( ! function_exists('lang'))
}
}
-// ------------------------------------------------------------------------
/* End of file language_helper.php */
-/* Location: ./system/helpers/language_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/language_helper.php */
diff --git a/system/helpers/number_helper.php b/system/helpers/number_helper.php
index 71d39df1f..331b468c6 100644
--- a/system/helpers/number_helper.php
+++ b/system/helpers/number_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -83,6 +83,5 @@ if ( ! function_exists('byte_format'))
}
}
-
/* End of file number_helper.php */
-/* Location: ./system/helpers/number_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/number_helper.php */
diff --git a/system/helpers/path_helper.php b/system/helpers/path_helper.php
index da2b8d307..cd87a73eb 100644
--- a/system/helpers/path_helper.php
+++ b/system/helpers/path_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -60,25 +60,21 @@ if ( ! function_exists('set_realpath'))
// Resolve the path
if (function_exists('realpath') AND @realpath($path) !== FALSE)
{
- $path = realpath($path).'/';
+ $path = realpath($path);
}
// Add a trailing slash
- $path = preg_replace("#([^/])/*$#", "\\1/", $path);
+ $path = rtrim($path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
// Make sure the path exists
- if ($check_existance == TRUE)
+ if ($check_existance == TRUE && ! is_dir($path))
{
- if ( ! is_dir($path))
- {
- show_error('Not a valid path: '.$path);
- }
+ show_error('Not a valid path: '.$path);
}
return $path;
}
}
-
/* End of file path_helper.php */
-/* Location: ./system/helpers/path_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/path_helper.php */
diff --git a/system/helpers/security_helper.php b/system/helpers/security_helper.php
index d64bd12e1..99fda561a 100644
--- a/system/helpers/security_helper.php
+++ b/system/helpers/security_helper.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -87,14 +87,7 @@ if ( ! function_exists('do_hash'))
{
function do_hash($str, $type = 'sha1')
{
- if ($type == 'sha1')
- {
- return sha1($str);
- }
- else
- {
- return md5($str);
- }
+ return ($type === 'sha1') ? sha1($str) : md5($str);
}
}
@@ -111,10 +104,7 @@ if ( ! function_exists('strip_image_tags'))
{
function strip_image_tags($str)
{
- $str = preg_replace("#<img\s+.*?src\s*=\s*[\"'](.+?)[\"'].*?\>#", "\\1", $str);
- $str = preg_replace("#<img\s+.*?src\s*=\s*(.+?).*?\>#", "\\1", $str);
-
- return $str;
+ return preg_replace(array("#<img\s+.*?src\s*=\s*[\"'](.+?)[\"'].*?\>#", "#<img\s+.*?src\s*=\s*(.+?).*?\>#"), "\\1", $str);
}
}
@@ -135,6 +125,5 @@ if ( ! function_exists('encode_php_tags'))
}
}
-
/* End of file security_helper.php */
-/* Location: ./system/helpers/security_helper.php */ \ No newline at end of file
+/* Location: ./system/helpers/security_helper.php */
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 1bdc27512..730a0fc49 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -1,13 +1,13 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
*
* NOTICE OF LICENSE
- *
+ *
* Licensed under the Open Software License version 3.0
- *
+ *
* This source file is subject to the Open Software License (OSL 3.0) that is
* bundled with this package in the files license.txt / license.rst. It is
* also available through the world wide web at this URL:
@@ -44,38 +44,38 @@ if ( ! function_exists('xml_parser_create'))
*/
class CI_Xmlrpc {
- var $debug = FALSE; // Debugging on or off
- var $xmlrpcI4 = 'i4';
- var $xmlrpcInt = 'int';
- var $xmlrpcBoolean = 'boolean';
- var $xmlrpcDouble = 'double';
- var $xmlrpcString = 'string';
- var $xmlrpcDateTime = 'dateTime.iso8601';
- var $xmlrpcBase64 = 'base64';
- var $xmlrpcArray = 'array';
- var $xmlrpcStruct = 'struct';
-
- var $xmlrpcTypes = array();
- var $valid_parents = array();
- var $xmlrpcerr = array(); // Response numbers
- var $xmlrpcstr = array(); // Response strings
-
- var $xmlrpc_defencoding = 'UTF-8';
- var $xmlrpcName = 'XML-RPC for CodeIgniter';
- var $xmlrpcVersion = '1.1';
- var $xmlrpcerruser = 800; // Start of user errors
- var $xmlrpcerrxml = 100; // Start of XML Parse errors
- var $xmlrpc_backslash = ''; // formulate backslashes for escaping regexp
-
- var $client;
- var $method;
- var $data;
- var $message = '';
- var $error = ''; // Error string for request
- var $result;
- var $response = array(); // Response from remote server
-
- var $xss_clean = TRUE;
+ public $debug = FALSE; // Debugging on or off
+ public $xmlrpcI4 = 'i4';
+ public $xmlrpcInt = 'int';
+ public $xmlrpcBoolean = 'boolean';
+ public $xmlrpcDouble = 'double';
+ public $xmlrpcString = 'string';
+ public $xmlrpcDateTime = 'dateTime.iso8601';
+ public $xmlrpcBase64 = 'base64';
+ public $xmlrpcArray = 'array';
+ public $xmlrpcStruct = 'struct';
+
+ public $xmlrpcTypes = array();
+ public $valid_parents = array();
+ public $xmlrpcerr = array(); // Response numbers
+ public $xmlrpcstr = array(); // Response strings
+
+ public $xmlrpc_defencoding = 'UTF-8';
+ public $xmlrpcName = 'XML-RPC for CodeIgniter';
+ public $xmlrpcVersion = '1.1';
+ public $xmlrpcerruser = 800; // Start of user errors
+ public $xmlrpcerrxml = 100; // Start of XML Parse errors
+ public $xmlrpc_backslash = ''; // formulate backslashes for escaping regexp
+
+ public $client;
+ public $method;
+ public $data;
+ public $message = '';
+ public $error = ''; // Error string for request
+ public $result;
+ public $response = array(); // Response from remote server
+
+ public $xss_clean = TRUE;
//-------------------------------------
// VALUES THAT MULTIPLE CLASSES NEED
@@ -83,7 +83,7 @@ class CI_Xmlrpc {
public function __construct($config = array())
{
- $this->xmlrpcName = $this->xmlrpcName;
+ $this->xmlrpcName = $this->xmlrpcName;
$this->xmlrpc_backslash = chr(92).chr(92);
// Types for info sent back and forth
@@ -101,23 +101,23 @@ class CI_Xmlrpc {
// Array of Valid Parents for Various XML-RPC elements
$this->valid_parents = array('BOOLEAN' => array('VALUE'),
- 'I4' => array('VALUE'),
- 'INT' => array('VALUE'),
- 'STRING' => array('VALUE'),
- 'DOUBLE' => array('VALUE'),
- 'DATETIME.ISO8601' => array('VALUE'),
- 'BASE64' => array('VALUE'),
- 'ARRAY' => array('VALUE'),
- 'STRUCT' => array('VALUE'),
- 'PARAM' => array('PARAMS'),
- 'METHODNAME' => array('METHODCALL'),
- 'PARAMS' => array('METHODCALL', 'METHODRESPONSE'),
- 'MEMBER' => array('STRUCT'),
- 'NAME' => array('MEMBER'),
- 'DATA' => array('ARRAY'),
- 'FAULT' => array('METHODRESPONSE'),
- 'VALUE' => array('MEMBER', 'DATA', 'PARAM', 'FAULT')
- );
+ 'I4' => array('VALUE'),
+ 'INT' => array('VALUE'),
+ 'STRING' => array('VALUE'),
+ 'DOUBLE' => array('VALUE'),
+ 'DATETIME.ISO8601' => array('VALUE'),
+ 'BASE64' => array('VALUE'),
+ 'ARRAY' => array('VALUE'),
+ 'STRUCT' => array('VALUE'),
+ 'PARAM' => array('PARAMS'),
+ 'METHODNAME' => array('METHODCALL'),
+ 'PARAMS' => array('METHODCALL', 'METHODRESPONSE'),
+ 'MEMBER' => array('STRUCT'),
+ 'NAME' => array('MEMBER'),
+ 'DATA' => array('ARRAY'),
+ 'FAULT' => array('METHODRESPONSE'),
+ 'VALUE' => array('MEMBER', 'DATA', 'PARAM', 'FAULT')
+ );
// XML-RPC Responses
@@ -128,7 +128,7 @@ class CI_Xmlrpc {
$this->xmlrpcerr['incorrect_params'] = '3';
$this->xmlrpcstr['incorrect_params'] = 'Incorrect parameters were passed to method';
$this->xmlrpcerr['introspect_unknown'] = '4';
- $this->xmlrpcstr['introspect_unknown'] = "Cannot inspect signature for request: method unknown";
+ $this->xmlrpcstr['introspect_unknown'] = 'Cannot inspect signature for request: method unknown';
$this->xmlrpcerr['http_error'] = '5';
$this->xmlrpcstr['http_error'] = "Did not receive a '200 OK' response from remote server.";
$this->xmlrpcerr['no_data'] = '6';
@@ -144,7 +144,7 @@ class CI_Xmlrpc {
// Initialize Prefs
//-------------------------------------
- function initialize($config = array())
+ public function initialize($config = array())
{
if (count($config) > 0)
{
@@ -163,9 +163,9 @@ class CI_Xmlrpc {
// Take URL and parse it
//-------------------------------------
- function server($url, $port=80)
+ public function server($url, $port=80)
{
- if (substr($url, 0, 4) != "http")
+ if (strpos($url, 'http') !== 0)
{
$url = "http://".$url;
}
@@ -187,7 +187,7 @@ class CI_Xmlrpc {
// Set Timeout
//-------------------------------------
- function timeout($seconds=5)
+ public function timeout($seconds = 5)
{
if ( ! is_null($this->client) && is_int($seconds))
{
@@ -200,7 +200,7 @@ class CI_Xmlrpc {
// Set Methods
//-------------------------------------
- function method($function)
+ public function method($function)
{
$this->method = $function;
}
@@ -210,7 +210,7 @@ class CI_Xmlrpc {
// Take Array of Data and Create Objects
//-------------------------------------
- function request($incoming)
+ public function request($incoming)
{
if ( ! is_array($incoming))
{
@@ -231,42 +231,34 @@ class CI_Xmlrpc {
// Set Debug
//-------------------------------------
- function set_debug($flag = TRUE)
+ public function set_debug($flag = TRUE)
{
- $this->debug = ($flag == TRUE) ? TRUE : FALSE;
+ $this->debug = ($flag == TRUE);
}
//-------------------------------------
// Values Parsing
//-------------------------------------
- function values_parsing($value, $return = FALSE)
+ public function values_parsing($value, $return = FALSE)
{
if (is_array($value) && array_key_exists(0, $value))
{
- if ( ! isset($value['1']) OR ( ! isset($this->xmlrpcTypes[$value['1']])))
+ if ( ! isset($value[1]) OR ( ! isset($this->xmlrpcTypes[$value[1]])))
{
- if (is_array($value[0]))
- {
- $temp = new XML_RPC_Values($value['0'], 'array');
- }
- else
- {
- $temp = new XML_RPC_Values($value['0'], 'string');
- }
+ $temp = new XML_RPC_Values($value[0], (is_array($value[0]) ? 'array' : 'string'));
}
- elseif (is_array($value['0']) && ($value['1'] == 'struct' OR $value['1'] == 'array'))
+ else
{
- while (list($k) = each($value['0']))
+ if (is_array($value[0]) && ($value[1] == 'struct' OR $value[1] == 'array'))
{
- $value['0'][$k] = $this->values_parsing($value['0'][$k], TRUE);
+ while (list($k) = each($value[0]))
+ {
+ $value[0][$k] = $this->values_parsing($value[0][$k], TRUE);
+ }
}
- $temp = new XML_RPC_Values($value['0'], $value['1']);
- }
- else
- {
- $temp = new XML_RPC_Values($value['0'], $value['1']);
+ $temp = new XML_RPC_Values($value[0], $value[1]);
}
}
else
@@ -283,24 +275,18 @@ class CI_Xmlrpc {
// Sends XML-RPC Request
//-------------------------------------
- function send_request()
+ public function send_request()
{
$this->message = new XML_RPC_Message($this->method,$this->data);
$this->message->debug = $this->debug;
- if ( ! $this->result = $this->client->send($this->message))
- {
- $this->error = $this->result->errstr;
- return FALSE;
- }
- elseif ( ! is_object($this->result->val))
+ if ( ! $this->result = $this->client->send($this->message) OR ! is_object($this->result->val))
{
$this->error = $this->result->errstr;
return FALSE;
}
$this->response = $this->result->decode();
-
return TRUE;
}
// END
@@ -309,7 +295,7 @@ class CI_Xmlrpc {
// Returns Error
//-------------------------------------
- function display_error()
+ public function display_error()
{
return $this->error;
}
@@ -319,7 +305,7 @@ class CI_Xmlrpc {
// Returns Remote Server Response
//-------------------------------------
- function display_response()
+ public function display_response()
{
return $this->response;
}
@@ -329,9 +315,9 @@ class CI_Xmlrpc {
// Sends an Error Message for Server Request
//-------------------------------------
- function send_error_message($number, $message)
+ public function send_error_message($number, $message)
{
- return new XML_RPC_Response('0',$number, $message);
+ return new XML_RPC_Response(0, $number, $message);
}
// END
@@ -340,14 +326,11 @@ class CI_Xmlrpc {
// Send Response for Server Request
//-------------------------------------
- function send_response($response)
+ public function send_response($response)
{
// $response should be array of values, which will be parsed
// based on their data and type into a valid group of XML-RPC values
-
- $response = $this->values_parsing($response);
-
- return new XML_RPC_Response($response);
+ return new XML_RPC_Response($this->values_parsing($response));
}
// END
@@ -364,13 +347,13 @@ class CI_Xmlrpc {
*/
class XML_RPC_Client extends CI_Xmlrpc
{
- var $path = '';
- var $server = '';
- var $port = 80;
- var $errno = '';
- var $errstring = '';
- var $timeout = 5;
- var $no_multicall = FALSE;
+ public $path = '';
+ public $server = '';
+ public $port = 80;
+ public $errno = '';
+ public $errstring = '';
+ public $timeout = 5;
+ public $no_multicall = FALSE;
public function __construct($path, $server, $port=80)
{
@@ -381,7 +364,7 @@ class XML_RPC_Client extends CI_Xmlrpc
$this->path = $path;
}
- function send($msg)
+ public function send($msg)
{
if (is_array($msg))
{
@@ -393,7 +376,7 @@ class XML_RPC_Client extends CI_Xmlrpc
return $this->sendPayload($msg);
}
- function sendPayload($msg)
+ public function sendPayload($msg)
{
$fp = @fsockopen($this->server, $this->port,$this->errno, $this->errstr, $this->timeout);
@@ -411,12 +394,12 @@ class XML_RPC_Client extends CI_Xmlrpc
}
$r = "\r\n";
- $op = "POST {$this->path} HTTP/1.0$r";
- $op .= "Host: {$this->server}$r";
- $op .= "Content-Type: text/xml$r";
- $op .= "User-Agent: {$this->xmlrpcName}$r";
- $op .= "Content-Length: ".strlen($msg->payload). "$r$r";
- $op .= $msg->payload;
+ $op = "POST {$this->path} HTTP/1.0$r"
+ . "Host: {$this->server}$r"
+ . "Content-Type: text/xml$r"
+ . "User-Agent: {$this->xmlrpcName}$r"
+ . "Content-Length: ".strlen($msg->payload)."$r$r"
+ . $msg->payload;
if ( ! fputs($fp, $op, strlen($op)))
@@ -430,8 +413,8 @@ class XML_RPC_Client extends CI_Xmlrpc
return $resp;
}
-} // end class XML_RPC_Client
-
+}
+// end class XML_RPC_Client
/**
* XML-RPC Response class
@@ -442,11 +425,11 @@ class XML_RPC_Client extends CI_Xmlrpc
*/
class XML_RPC_Response
{
- var $val = 0;
- var $errno = 0;
- var $errstr = '';
- var $headers = array();
- var $xss_clean = TRUE;
+ public $val = 0;
+ public $errno = 0;
+ public $errstr = '';
+ public $headers = array();
+ public $xss_clean = TRUE;
public function __construct($val, $code = 0, $fstr = '')
{
@@ -454,7 +437,14 @@ class XML_RPC_Response
{
// error
$this->errno = $code;
- $this->errstr = htmlentities($fstr);
+ if ( ! is_php('5.4'))
+ {
+ $this->errstr = htmlspecialchars($fstr, ENT_NOQUOTES, 'UTF-8');
+ }
+ else
+ {
+ $this->errstr = htmlspecialchars($fstr, ENT_XML1 | ENT_NOQUOTES, 'UTF-8');
+ }
}
else if ( ! is_object($val))
{
@@ -468,27 +458,26 @@ class XML_RPC_Response
}
}
- function faultCode()
+ public function faultCode()
{
return $this->errno;
}
- function faultString()
+ public function faultString()
{
return $this->errstr;
}
- function value()
+ public function value()
{
return $this->val;
}
- function prepare_response()
+ public function prepare_response()
{
- $result = "<methodResponse>\n";
- if ($this->errno)
- {
- $result .= '<fault>
+ return "<methodResponse>\n"
+ . ($this->errno
+ ? '<fault>
<value>
<struct>
<member>
@@ -501,23 +490,16 @@ class XML_RPC_Response
</member>
</struct>
</value>
-</fault>';
- }
- else
- {
- $result .= "<params>\n<param>\n" .
- $this->val->serialize_class() .
- "</param>\n</params>";
- }
- $result .= "\n</methodResponse>";
- return $result;
+</fault>'
+ : "<params>\n<param>\n".$this->val->serialize_class()."</param>\n</params>")
+ . "\n</methodResponse>";
}
- function decode($array=FALSE)
+ public function decode($array = FALSE)
{
$CI =& get_instance();
-
- if ($array !== FALSE && is_array($array))
+
+ if (is_array($array))
{
while (list($key) = each($array))
{
@@ -556,7 +538,7 @@ class XML_RPC_Response
// XML-RPC Object to PHP Types
//-------------------------------------
- function xmlrpc_decoder($xmlrpc_val)
+ public function xmlrpc_decoder($xmlrpc_val)
{
$kind = $xmlrpc_val->kindOf();
@@ -567,12 +549,10 @@ class XML_RPC_Response
elseif ($kind == 'array')
{
reset($xmlrpc_val->me);
- list($a,$b) = each($xmlrpc_val->me);
- $size = count($b);
-
+ $b = current($xmlrpc_val->me);
$arr = array();
- for ($i = 0; $i < $size; $i++)
+ for ($i = 0, $size = count($b); $i < $size; $i++)
{
$arr[] = $this->xmlrpc_decoder($xmlrpc_val->me['array'][$i]);
}
@@ -596,7 +576,7 @@ class XML_RPC_Response
// ISO-8601 time to server or UTC time
//-------------------------------------
- function iso8601_decode($time, $utc=0)
+ public function iso8601_decode($time, $utc = 0)
{
// return a timet in the localtime, or UTC
$t = 0;
@@ -608,9 +588,8 @@ class XML_RPC_Response
return $t;
}
-} // End Response Class
-
-
+}
+// End Response Class
/**
* XML-RPC Message class
@@ -621,10 +600,10 @@ class XML_RPC_Response
*/
class XML_RPC_Message extends CI_Xmlrpc
{
- var $payload;
- var $method_name;
- var $params = array();
- var $xh = array();
+ public $payload;
+ public $method_name;
+ public $params = array();
+ public $xh = array();
public function __construct($method, $pars=0)
{
@@ -633,7 +612,7 @@ class XML_RPC_Message extends CI_Xmlrpc
$this->method_name = $method;
if (is_array($pars) && count($pars) > 0)
{
- for ($i=0; $i<count($pars); $i++)
+ for ($i = 0, $c = count($pars); $i < $c; $i++)
{
// $pars[$i] = XML_RPC_Values
$this->params[] = $pars[$i];
@@ -645,13 +624,13 @@ class XML_RPC_Message extends CI_Xmlrpc
// Create Payload to Send
//-------------------------------------
- function createPayload()
+ public function createPayload()
{
- $this->payload = "<?xml version=\"1.0\"?".">\r\n<methodCall>\r\n";
- $this->payload .= '<methodName>' . $this->method_name . "</methodName>\r\n";
- $this->payload .= "<params>\r\n";
+ $this->payload = "<?xml version=\"1.0\"?".">\r\n<methodCall>\r\n"
+ . '<methodName>'.$this->method_name."</methodName>\r\n"
+ . "<params>\r\n";
- for ($i=0; $i<count($this->params); $i++)
+ for ($i = 0, $c = count($this->params); $i < $c; $i++)
{
// $p = XML_RPC_Values
$p = $this->params[$i];
@@ -665,7 +644,7 @@ class XML_RPC_Message extends CI_Xmlrpc
// Parse External XML-RPC Server's Response
//-------------------------------------
- function parseResponse($fp)
+ public function parseResponse($fp)
{
$data = '';
@@ -680,16 +659,14 @@ class XML_RPC_Message extends CI_Xmlrpc
if ($this->debug === TRUE)
{
- echo "<pre>";
- echo "---DATA---\n" . htmlspecialchars($data) . "\n---END DATA---\n\n";
- echo "</pre>";
+ echo "<pre>---DATA---\n".htmlspecialchars($data)."\n---END DATA---\n\n</pre>";
}
//-------------------------------------
// Check for data
//-------------------------------------
- if ($data == "")
+ if ($data === '')
{
error_log($this->xmlrpcstr['no_data']);
$r = new XML_RPC_Response(0, $this->xmlrpcerr['no_data'], $this->xmlrpcstr['no_data']);
@@ -701,7 +678,7 @@ class XML_RPC_Message extends CI_Xmlrpc
// Check for HTTP 200 Response
//-------------------------------------
- if (strncmp($data, 'HTTP', 4) == 0 && ! preg_match('/^HTTP\/[0-9\.]+ 200 /', $data))
+ if (strncmp($data, 'HTTP', 4) === 0 && ! preg_match('/^HTTP\/[0-9\.]+ 200 /', $data))
{
$errstr= substr($data, 0, strpos($data, "\n")-1);
$r = new XML_RPC_Response(0, $this->xmlrpcerr['http_error'], $this->xmlrpcstr['http_error']. ' (' . $errstr . ')');
@@ -714,13 +691,14 @@ class XML_RPC_Message extends CI_Xmlrpc
$parser = xml_parser_create($this->xmlrpc_defencoding);
- $this->xh[$parser] = array();
- $this->xh[$parser]['isf'] = 0;
- $this->xh[$parser]['ac'] = '';
- $this->xh[$parser]['headers'] = array();
- $this->xh[$parser]['stack'] = array();
- $this->xh[$parser]['valuestack'] = array();
- $this->xh[$parser]['isf_reason'] = 0;
+ $this->xh[$parser] = array(
+ 'isf' => 0,
+ 'ac' => '',
+ 'headers' => array(),
+ 'stack' => array(),
+ 'valuestack' => array(),
+ 'isf_reason' => 0
+ );
xml_set_object($parser, $this);
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, true);
@@ -769,9 +747,7 @@ class XML_RPC_Message extends CI_Xmlrpc
{
if ($this->debug === TRUE)
{
- echo "---Invalid Return---\n";
- echo $this->xh[$parser]['isf_reason'];
- echo "---Invalid Return---\n\n";
+ echo "---Invalid Return---\n".$this->xh[$parser]['isf_reason']."---Invalid Return---\n\n";
}
$r = new XML_RPC_Response(0, $this->xmlrpcerr['invalid_return'],$this->xmlrpcstr['invalid_return'].' '.$this->xh[$parser]['isf_reason']);
@@ -801,9 +777,7 @@ class XML_RPC_Message extends CI_Xmlrpc
echo "---END HEADERS---\n\n";
}
- echo "---DATA---\n" . htmlspecialchars($data) . "\n---END DATA---\n\n";
-
- echo "---PARSED---\n" ;
+ echo "---DATA---\n".htmlspecialchars($data)."\n---END DATA---\n\n---PARSED---\n";
var_dump($this->xh[$parser]['value']);
echo "\n---END PARSED---</pre>";
}
@@ -813,7 +787,6 @@ class XML_RPC_Message extends CI_Xmlrpc
//-------------------------------------
$v = $this->xh[$parser]['value'];
-
if ($this->xh[$parser]['isf'])
{
$errno_v = $v->me['struct']['faultCode'];
@@ -855,7 +828,7 @@ class XML_RPC_Message extends CI_Xmlrpc
// Start Element Handler
//-------------------------------------
- function open_tag($the_parser, $name, $attrs)
+ public function open_tag($the_parser, $name, $attrs)
{
// If invalid nesting, then return
if ($this->xh[$the_parser]['isf'] > 1) return;
@@ -957,7 +930,7 @@ class XML_RPC_Message extends CI_Xmlrpc
// End Element Handler
//-------------------------------------
- function closing_tag($the_parser, $name)
+ public function closing_tag($the_parser, $name)
{
if ($this->xh[$the_parser]['isf'] > 1) return;
@@ -1101,7 +1074,7 @@ class XML_RPC_Message extends CI_Xmlrpc
// Parses Character Data
//-------------------------------------
- function character_data($the_parser, $data)
+ public function character_data($the_parser, $data)
{
if ($this->xh[$the_parser]['isf'] > 1) return; // XML Fault found already
@@ -1123,13 +1096,16 @@ class XML_RPC_Message extends CI_Xmlrpc
}
- function addParam($par) { $this->params[]=$par; }
+ public function addParam($par)
+ {
+ $this->params[] = $par;
+ }
- function output_parameters($array=FALSE)
+ public function output_parameters($array = FALSE)
{
$CI =& get_instance();
-
- if ($array !== FALSE && is_array($array))
+
+ if (is_array($array))
{
while (list($key) = each($array))
{
@@ -1151,7 +1127,7 @@ class XML_RPC_Message extends CI_Xmlrpc
{
$parameters = array();
- for ($i = 0; $i < count($this->params); $i++)
+ for ($i = 0, $c = count($this->params); $i < $c; $i++)
{
$a_param = $this->decode_message($this->params[$i]);
@@ -1170,7 +1146,7 @@ class XML_RPC_Message extends CI_Xmlrpc
}
- function decode_message($param)
+ public function decode_message($param)
{
$kind = $param->kindOf();
@@ -1181,11 +1157,10 @@ class XML_RPC_Message extends CI_Xmlrpc
elseif ($kind == 'array')
{
reset($param->me);
- list($a,$b) = each($param->me);
-
+ $b = current($param->me);
$arr = array();
- for($i = 0; $i < count($b); $i++)
+ for($i = 0, $c = count($b); $i < $c; $i++)
{
$arr[] = $this->decode_message($param->me['array'][$i]);
}
@@ -1195,7 +1170,6 @@ class XML_RPC_Message extends CI_Xmlrpc
elseif ($kind == 'struct')
{
reset($param->me['struct']);
-
$arr = array();
while (list($key,$value) = each($param->me['struct']))
@@ -1207,9 +1181,8 @@ class XML_RPC_Message extends CI_Xmlrpc
}
}
-} // End XML_RPC_Messages class
-
-
+}
+// End XML_RPC_Messages class
/**
* XML-RPC Values class
@@ -1220,10 +1193,10 @@ class XML_RPC_Message extends CI_Xmlrpc
*/
class XML_RPC_Values extends CI_Xmlrpc
{
- var $me = array();
- var $mytype = 0;
+ public $me = array();
+ public $mytype = 0;
- public function __construct($val=-1, $type='')
+ public function __construct($val = -1, $type = '')
{
parent::__construct();
@@ -1246,7 +1219,7 @@ class XML_RPC_Values extends CI_Xmlrpc
}
}
- function addScalar($val, $type='string')
+ public function addScalar($val, $type = 'string')
{
$typeof = $this->xmlrpcTypes[$type];
@@ -1264,14 +1237,7 @@ class XML_RPC_Values extends CI_Xmlrpc
if ($type == $this->xmlrpcBoolean)
{
- if (strcasecmp($val,'true')==0 OR $val==1 OR ($val==true && strcasecmp($val,'false')))
- {
- $val = 1;
- }
- else
- {
- $val=0;
- }
+ $val = (strcasecmp($val,'true') === 0 OR $val == 1 OR ($val == true && strcasecmp($val, 'false'))) ? 1 : 0;
}
if ($this->mytype == 2)
@@ -1290,7 +1256,7 @@ class XML_RPC_Values extends CI_Xmlrpc
return 1;
}
- function addArray($vals)
+ public function addArray($vals)
{
if ($this->mytype != 0)
{
@@ -1303,7 +1269,7 @@ class XML_RPC_Values extends CI_Xmlrpc
return 1;
}
- function addStruct($vals)
+ public function addStruct($vals)
{
if ($this->mytype != 0)
{
@@ -1315,7 +1281,7 @@ class XML_RPC_Values extends CI_Xmlrpc
return 1;
}
- function kindOf()
+ public function kindOf()
{
switch($this->mytype)
{
@@ -1333,7 +1299,7 @@ class XML_RPC_Values extends CI_Xmlrpc
}
}
- function serializedata($typ, $val)
+ public function serializedata($typ, $val)
{
$rs = '';
@@ -1345,20 +1311,18 @@ class XML_RPC_Values extends CI_Xmlrpc
reset($val);
while (list($key2, $val2) = each($val))
{
- $rs .= "<member>\n<name>{$key2}</name>\n";
- $rs .= $this->serializeval($val2);
- $rs .= "</member>\n";
+ $rs .= "<member>\n<name>{$key2}</name>\n".$this->serializeval($val2)."</member>\n";
}
$rs .= '</struct>';
break;
case 2:
// array
$rs .= "<array>\n<data>\n";
- for($i=0; $i < count($val); $i++)
+ for($i = 0, $c = count($val); $i < $c; $i++)
{
$rs .= $this->serializeval($val[$i]);
}
- $rs.="</data>\n</array>\n";
+ $rs .= "</data>\n</array>\n";
break;
case 1:
// others
@@ -1383,26 +1347,24 @@ class XML_RPC_Values extends CI_Xmlrpc
return $rs;
}
- function serialize_class()
+ public function serialize_class()
{
return $this->serializeval($this);
}
- function serializeval($o)
+ public function serializeval($o)
{
$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);
- $rs = "<value>\n".$this->serializedata($typ, $val)."</value>\n";
- return $rs;
+ return "<value>\n".$this->serializedata($typ, $val)."</value>\n";
}
- function scalarval()
+ public function scalarval()
{
reset($this->me);
- list($a,$b) = each($this->me);
- return $b;
+ return current($this->me);
}
@@ -1412,24 +1374,13 @@ class XML_RPC_Values extends CI_Xmlrpc
// Useful for sending time in XML-RPC
- function iso8601_encode($time, $utc=0)
+ public function iso8601_encode($time, $utc = 0)
{
- if ($utc == 1)
- {
- $t = strftime("%Y%m%dT%H:%i:%s", $time);
- }
- else
- {
- if (function_exists('gmstrftime'))
- $t = gmstrftime("%Y%m%dT%H:%i:%s", $time);
- else
- $t = strftime("%Y%m%dT%H:%i:%s", $time - date('Z'));
- }
- return $t;
+ return ($utc) ? strftime('%Y%m%dT%H:%i:%s', $time) : gmstrftime('%Y%m%dT%H:%i:%s', $time);
}
}
// END XML_RPC_Values Class
/* End of file Xmlrpc.php */
-/* Location: ./system/libraries/Xmlrpc.php */ \ No newline at end of file
+/* Location: ./system/libraries/Xmlrpc.php */
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 5a290e73d..42d348bb2 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -97,6 +97,7 @@ Bug fixes for 3.0
- Fixed a bug (#406) - sqlsrv DB driver not reuturning resource on <samp>db_pconnect()</samp>.
- Fixed a bug in CI_Image_lib::gd_loaded() where it was possible for the script execution to end or a PHP E_WARNING message to be emitted.
- In Pagination library, when use_page_numbers=TRUE previous link and page 1 link do not have the same url
+- Fixed a bug (#561) - Errors in :doc:`XML-RPC Library <libraries/xmlrpc>` were not properly escaped.
- Fixed a bug in the Oracle (oci8) instance of :doc:`Database Forge Class <database/forge>` where ``create_table()`` would fail if used with ``AUTO_INCREMENT`` as it's not supported by Oracle.
- Fixed a bug (#413) - The Oracle (oci8) database driver only used to return connection-related errors in `_error_message()` and `_error_number()`.