php-src/unicode-progress.txt
2006-11-22 19:15:07 +00:00

910 lines
21 KiB
Plaintext

Extension Upgrade Tracking
==========================
ext/standard
------------
Status: In Progress
array.c
-------
error_log()
Params API, what encoding to use for the message, handling email
option
set_include_path(), get_include_path(), restore_include_path()
Params API, depends on INI mechanism
ini_get(), ini_get_all(), ini_set(), ini_restore()
Params API, Unicode support per discussion
get_cfg_var()
IS_UNICODE support for varname
parse_ini_file()
Params API, unicode filename support, depends on INI mechaniem
getopt()
Will use ASCII for options. $_SERVER['argv'] should not be converted
to Unicode and should stay binary, since we can't be sure of the
encoding on CLI. Console_Getopt may be changed to support encodings.
array.c
-------
natsort(), natcasesort()
Params API
Either port strnatcmp() to support Unicode or maybe use ICU's
numeric collation. Update: can't seem to get the right collation
parameters to duplicate strnatcmp() functionality. Conclusion: port
to support Unicode.
string.c
--------
hebrev(), hebrevc()
Figure out if this is something we can use ICU for, internally.
Check with Zeev.
parse_str()
Params API. How do we deal with encoding of the data?
sscanf()
Params API. Rest - no idea yet.
strnatcmp(), strnatcasecmp()
Params API. The rest depends on porting of strnatcmp.c
strtr()
Check on Derick's progress.
wordwrap()
Upgrade, do wordwrapping on codepoint (or glyph ?) level, maybe use
additional whitespace chars instead of just space.
ext/filter
------------
Status: To be discussed
The unicode support must be discussed with the filter maintainers
and Andrei (sapi maintainers too?). Please mail them and the list prior
to any work or commits.
ext/gd
------------
Status: In Progress
A preliminary version has been commited by Sara. Pierre is working on the
migration of the GD extension for php6.
ext/openssl
------------
Status: In Progress
(Pierre)
ext/zip
------------
Status: Initial implementation done. Waiting for reviews/feedbacks.
(Pierre)
Completed
=========
ext/bcmath
----------
Completed:
bcadd()
bcsub()
bcmul()
bcdiv()
bcmod()
bcpowmod()
bcpow()
bcsqrt()
bccomp()
bcscale()
ext/bz2
-------
TBD:
bz2_filter.c
Completed:
bzread()
bzopen()
bzerrno()
bzerrstr()
bzerror()
bzcompress()
bzdecompress()
ext/gettext
------------
Completed:
textdomain()
gettext()
_()
dgettext()
dcgettext()
bindtextdomain()
ngettext()
dngettext()
dcngettext()
bind_textdomain_codeset()
ext/gmp
-------
Completed:
gmp_abs()
gmp_add()
gmp_and()
gmp_clrbit()
gmp_cmp()
gmp_com()
gmp_divexact()
gmp_div_q()
gmp_div_qr()
gmp_div_r()
gmp_fact()
gmp_gcd()
gmp_gcdext()
gmp_hamdist()
gmp_init()
gmp_intval()
gmp_invert()
gmp_jacobi()
gmp_legendre()
gmp_mod()
gmp_mul()
gmp_neg()
gmp_nextprime()
gmp_or()
gmp_perfect_square()
gmp_popcount()
gmp_pow()
gmp_powm()
gmp_prob_prime()
gmp_random()
gmp_scan0()
gmp_scan1()
gmp_setbit()
gmp_sign()
gmp_sqrt()
gmp_sqrtrem()
gmp_strval()
gmp_sub()
gmp_xor()
ext/hash
--------
Completed:
hash()
hash_file()
hash_hmac()
hash_hmac_file()
hash_init()
hash_update()
hash_update_stream()
hash_update_file()
hash_final()
hash_algos()
ext/json
--------
Completed:
json_encode()
json_decode()
ext/mcrypt
------------
Completed:
mcrypt_ecb()
mcrypt_cbc()
mcrypt_cfb()
mcrypt_ofb()
mcrypt_get_key_size()
mcrypt_get_block_size()
mcrypt_get_cipher_name()
mcrypt_create_iv()
mcrypt_list_algorithms()
mcrypt_list_modes()
mcrypt_get_iv_size()
mcrypt_encrypt()
mcrypt_decrypt()
mcrypt_module_open()
mcrypt_generic_init()
mcrypt_generic()
mdecrypt_generic()
mcrypt_generic_end()
mcrypt_generic_deinit()
mcrypt_enc_self_test()
mcrypt_enc_is_block_algorithm_mode()
mcrypt_enc_is_block_algorithm()
mcrypt_enc_is_block_mode()
mcrypt_enc_get_block_size()
mcrypt_enc_get_key_size()
mcrypt_enc_get_supported_key_sizes()
mcrypt_enc_get_iv_size()
mcrypt_enc_get_algorithms_name()
mcrypt_enc_get_modes_name()
mcrypt_module_self_test()
mcrypt_module_is_block_algorithm_mode()
mcrypt_module_is_block_algorithm()
mcrypt_module_is_block_mode()
mcrypt_module_get_algo_block_size()
mcrypt_module_get_algo_key_size()
mcrypt_module_get_supported_key_sizes()
mcrypt_module_close()
ext/mhash
------------
Completed:
mhash_count()
mhash_get_block_size()
mhash_get_hash_name()
mhash_keygen_count()
mhash_get_keygen_name()
mhash_keygen_uses_hash()
mhash_keygen_uses_salt()
mhash_get_keygen_salt_size()
mhash_keygen_uses_count()
mhash()
mhash_keygen()
mhash_keygen_s2k()
ext/mysqli
----------
TBD:
mysqli_embedded_server_start()
mysqli_embedded_server_end()
mysqli_disable_reads_from_master()
mysqli_disable_rpl_parse()
mysqli_enable_reads_from_master()
mysqli_enable_rpl_parse()
mysqli_master_query()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_send_query()
mysqli_slave_query()
Completed:
mysqli_affected_rows()
mysqli_autocommit()
mysqli_change_user()
mysqli_character_set_name()
mysqli_close()
mysqli_commit()
mysqli_connect()
mysqli_connect_errno()
mysqli_connect_error()
mysqli_data_seek()
mysqli_debug()
mysqli_dump_debug_info()
mysqli_errno()
mysqli_error()
mysqli_fetch_array
mysqli_fetch_assoc
mysqli_fetch_field
mysqli_fetch_field_direct
mysqli_fetch_fields
mysqli_fetch_lengths
mysqli_fetch_object
mysqli_fetch_row
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
mysqli_get_charset()
mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_host_info
mysqli_get_proto_info()
mysqli_get_server_info()
mysqli_get_server_version()
mysqli_get_warnings()
mysqli_info()
mysqli_init()
mysqli_insert_id()
mysqli_kill()
mysqli_more_results()
mysqli_multi_query()
mysqli_next_result()
mysqli_num_fields()
mysqli_num_rows()
mysqli_options()
mysqli_ping()
mysqli_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_report()
mysqli_rollback()
mysqli_select_db()
mysqli_set_charset()
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()
mysqli_sqlstate()
mysqli_ssl_set()
mysqli_stat()
mysqli_stmt_affected_rows()
mysqli_stmt_attr_get()
mysqli_stmt_attr_set()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()
mysqli_stmt_data_seek()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_field_count()
mysqli_stmt_free_result()
mysqli_stmt_get_warnings()
mysqli_stmt_init()
mysqli_stmt_insert_id()
mysqli_stmt_num_rows()
mysqli_stmt_param_count()
mysqli_stmt_prepare()
mysqli_stmt_reset()
mysqli_stmt_result_metadata()
mysqli_stmt_send_long_data()
mysqli_stmt_sqlstate()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_thread_id()
mysqli_thread_safe()
mysqli_use_result()
mysqli_warning_count
ext/reflection
--------------
TBD:
`grep -E 'FIXME|UTODO'`
Completed:
ReflectionClass::__construct()
ReflectionClass::getConstant()
ReflectionClass::getConstants()
ReflectionClass::getConstructor()
ReflectionClass::getDefaultProperties()
ReflectionClass::getDocComment()
ReflectionClass::getEndLine()
ReflectionClass::getExtension()
ReflectionClass::getExtensionName()
ReflectionClass::getFileName()
ReflectionClass::getInterfaceNames()
ReflectionClass::getInterfaces()
ReflectionClass::getMethod()
ReflectionClass::getMethods()
ReflectionClass::getModifiers()
ReflectionClass::getName()
ReflectionClass::getParentClass()
ReflectionClass::getProperties()
ReflectionClass::getProperty()
ReflectionClass::getStartLine()
ReflectionClass::getStaticProperties()
ReflectionClass::getStaticPropertyValue()
ReflectionClass::hasConstant()
ReflectionClass::hasMethod()
ReflectionClass::hasProperty()
ReflectionClass::implementsInterface()
ReflectionClass::isAbstract()
ReflectionClass::isFinal()
ReflectionClass::isInstance()
ReflectionClass::isInstantiable()
ReflectionClass::isInterface()
ReflectionClass::isInternal()
ReflectionClass::isIterateable()
ReflectionClass::isSubclassOf()
ReflectionClass::isUserDefined()
ReflectionClass::newInstance()
ReflectionClass::newInstanceArgs()
ReflectionClass::setStaticPropertyValue()
ReflectionClass::__toString()
ReflectionExtension::__construct()
ReflectionExtension::getClasses()
ReflectionExtension::getClassNames()
ReflectionExtension::getConstants()
ReflectionExtension::getDependencies()
ReflectionExtension::getFunctions()
ReflectionExtension::getINIEntries()
ReflectionExtension::getName()
ReflectionExtension::getVersion()
ReflectionExtension::__toString()
ReflectionFunction::__construct()
ReflectionFunction::getDocComment()
ReflectionFunction::getEndLine()
ReflectionFunction::getExtension()
ReflectionFunction::getExtensionName()
ReflectionFunction::getFileName()
ReflectionFunction::getName()
ReflectionFunction::getNumberOfParameters()
ReflectionFunction::getNumberOfRequiredParameters()
ReflectionFunction::getParameters()
ReflectionFunction::getStartLine()
ReflectionFunction::getStaticVariables()
ReflectionFunction::invoke()
ReflectionFunction::invokeArgs()
ReflectionFunction::isDeprecated()
ReflectionFunction::isDisabled()
ReflectionFunction::isInternal()
ReflectionFunction::isUserDefined()
ReflectionFunction::returnsReference()
ReflectionFunction::__toString()
ReflectionMethod::__construct()
ReflectionMethod::getDeclaringClass()
ReflectionMethod::getModifiers()
ReflectionMethod::getPrototype()
ReflectionMethod::invoke()
ReflectionMethod::invokeArgs()
ReflectionMethod::isAbstract()
ReflectionMethod::isConstructor()
ReflectionMethod::isDestructor()
ReflectionMethod::isFinal()
ReflectionMethod::isPrivate()
ReflectionMethod::isProtected()
ReflectionMethod::isPublic()
ReflectionMethod::isStatic()
ReflectionMethod::__toString()
ReflectionObject::__construct()
ReflectionParameter::allowsNull()
ReflectionParameter::__construct()
ReflectionParameter::getClass()
ReflectionParameter::getDeclaringClass()
ReflectionParameter::getDeclaringFunction()
ReflectionParameter::getDefaultValue()
ReflectionParameter::getName()
ReflectionParameter::getPosition()
ReflectionParameter::isArray()
ReflectionParameter::isDefaultValueAvailable()
ReflectionParameter::isOptional()
ReflectionParameter::isPassedByReference()
ReflectionParameter::__toString()
ReflectionProperty::__construct()
ReflectionProperty::getDeclaringClass()
ReflectionProperty::getDefaultValue()
ReflectionProperty::getDocComment()
ReflectionProperty::getModifiers()
ReflectionProperty::getName()
ReflectionProperty::getValue()
ReflectionProperty::isDefault()
ReflectionProperty::isPrivate()
ReflectionProperty::isProtected()
ReflectionProperty::isPublic()
ReflectionProperty::isStatic()
ReflectionProperty::setValue()
ReflectionProperty::__toString()
ext/simplexml
-------------
TBD:
SimpleXMLElement::getDocNamespaces()
SimpleXMLElement::getNamespaces()
Completed:
SimpleXMLElement::addAttribute()
SimpleXMLElement::addChild()
SimpleXMLElement::asXML()
SimpleXMLElement::attributes()
SimpleXMLElement::children()
SimpleXMLElement::getName()
SimpleXMLElement::registerXPathNamespace()
SimpleXMLElement::xpath()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
ext/soap
--------
TBD:
SoapServer::setObject()
Completed:
is_soap_fault()
SoapClient::__call()
SoapClient::__doRequest()
SoapClient::__getCookies()
SoapClient::__getFunctions()
SoapClient::__getLastRequest()
SoapClient::__getLastRequestHeaders()
SoapClient::__getLastResponse()
SoapClient::__getLastResponseHeaders()
SoapClient::__getTypes()
SoapClient::__setCookie()
SoapClient::__setLocation()
SoapClient::__setSoapHeaders()
SoapClient::SoapClient()
SoapFault::SoapFault()
SoapFault::__toString()
SoapHeader::SoapHeader()
SoapParam::SoapParam()
SoapServer::addFunction()
SoapServer::getFunctions()
SoapServer::handle()
SoapServer::setClass()
SoapServer::setPersistence()
SoapServer::SoapServer()
SoapVar::SoapVar()
ext/standard
------------
array.c
-------
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_fill()
array_filter()
array_flip()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_product()
array_push(), array_pop(), array_shift(), array_unshift()
array_pad()
array_rand()
array_reduce()
array_reverse()
array_search()
array_slice()
array_splice()
array_sum()
array_values()
array_unique()
array_walk()
array_walk_recursive()
compact()
count()
extract()
in_array()
min()
max()
range()
shuffle()
end(), prev(), next(), reset(), current(), key()
sort(), rsort()
asort(), arsort()
ksort(), krsort()
usort(), uasort(), uksort()
array_diff(), array_udiff()
array_diff_assoc(), array_diff_uassoc(),
array_udiff_assoc(), array_udiff_uassoc()
array_diff_key(), array_diff_ukey()
array_intersect(), array_uintersect()
array_intersect_assoc(), array_uintersect_assoc()
array_intersect_uassoc(), array_uintersect_uassoc()
array_intersect_key(), array_intersect_ukey()
string.c
--------
addcslashes()
addslashes()
basename()
bin2hex()
chr()
chunk_split()
count_chars()
dirname()
explode()
implode()
levenshtein()
localeconv()
money_format()
nl_langinfo()
nl2br()
ord()
pathinfo()
quotemeta()
range()
similar_text()
str_pad()
str_repeat()
str_replace()
stri_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcoll()
strcspn()
strip_tags()
stripcslashes()
stripslashes()
stripos()
stristr()
strpbrk()
strpos()
strrchr()
strripos()
strrev()
strrpos()
strspn()
strstr()
strtok()
strtolower()
strtoupper()
substr()
substr_compare()
substr_count()
substr_replace()
trim()
ucfirst()
ucwords()
ext/sysvmsg
-----------
Completed:
msg_get_queue()
msg_send()
msg_receive()
msg_remove_queue()
msg_stat_queue()
msg_set_queue()
ext/sysvsem
-----------
Completed:
sem_get()
sem_acquire()
sem_release()
sem_remove()
ext/sysvshm
-----------
Completed:
shm_attach()
shm_remove()
shm_detach()
shm_put_var()
shm_has_var()
shm_get_var()
shm_remove_var()
ext/tidy
--------
TBD:
tidy_get_body()
tidy_get_head()
tidy_get_html()
tidy_get_root()
tidy_parse_file()
tidy_repair_file()
tidy_repair_string()
Completed:
tidy_access_count()
tidy_clean_repair()
tidy_config_count()
tidy_diagnose()
tidy_error_count()
tidy_get_config()
tidy_get_error_buffer()
tidy_get_html_ver()
tidy_getopt()
tidy_get_opt_doc()
tidy_get_output()
tidy_get_release()
tidy_get_status()
tidy_is_xhtml()
tidy_is_xml()
tidy_parse_string()
tidy_warning_count()
tidyNode::getParent()
tidyNode::hasChildren()
tidyNode::hasSiblings()
tidyNode::isAsp()
tidyNode::isComment()
tidyNode::isHtml()
tidyNode::isJste()
tidyNode::isPhp()
tidyNode::isText()
ext/xml
-------
TBD:
xml_parse()
xml_parse_into_struct()
xml_parser_create()
xml_parser_create_ns()
xml_parser_set_option()
Completed:
utf8_decode()
utf8_encode()
xml_error_string()
xml_get_current_byte_index()
xml_get_current_column_number()
xml_get_current_line_number()
xml_get_error_code()
xml_parser_free()
xml_parser_get_option()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_object()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
ext/xmlreader
-------------
Completed:
XMLReader::close()
XMLReader::expand()
XMLReader::getAttribute()
XMLReader::getAttributeNo()
XMLReader::getAttributeNs()
XMLReader::getParserProperty()
XMLReader::isValid()
XMLReader::lookupNamespace()
XMLReader::moveToAttribute()
XMLReader::moveToAttributeNo()
XMLReader::moveToAttributeNs()
XMLReader::moveToElement()
XMLReader::moveToFirstAttribute()
XMLReader::moveToNextAttribute()
XMLReader::next()
XMLReader::open()
XMLReader::read()
XMLReader::readInnerXml()
XMLReader::readOuterXml()
XMLReader::readString()
XMLReader::setParserProperty()
XMLReader::setRelaxNGSchema()
XMLReader::setRelaxNGSchemaSource()
XMLReader::setSchema()
XMLReader::XML()
ext/xmlwriter
-------------
Completed:
xmlwriter_end_attribute()
xmlwriter_end_cdata()
xmlwriter_end_comment()
xmlwriter_end_document()
xmlwriter_end_dtd()
xmlwriter_end_dtd_attlist()
xmlwriter_end_dtd_element()
xmlwriter_end_dtd_entity()
xmlwriter_end_element()
xmlwriter_end_pi()
xmlwriter_flush()
xmlwriter_full_end_element()
xmlwriter_open_memory()
xmlwriter_open_uri()
xmlwriter_output_memory()
xmlwriter_set_indent()
xmlwriter_set_indent_string()
xmlwriter_start_attribute()
xmlwriter_start_attribute_ns()
xmlwriter_start_cdata()
xmlwriter_start_comment()
xmlwriter_start_document()
xmlwriter_start_dtd()
xmlwriter_start_dtd_attlist()
xmlwriter_start_dtd_element()
xmlwriter_start_dtd_entity()
xmlwriter_start_element()
xmlwriter_start_element_ns()
xmlwriter_start_pi()
xmlwriter_text()
xmlwriter_write_attribute()
xmlwriter_write_attribute_ns()
xmlwriter_write_cdata()
xmlwriter_write_comment()
xmlwriter_write_dtd()
xmlwriter_write_dtd_attlist()
xmlwriter_write_dtd_element()
xmlwriter_write_dtd_entity()
xmlwriter_write_element()
xmlwriter_write_element_ns()
xmlwriter_write_pi()
xmlwriter_write_raw()
ext/xsl
-------
Completed:
xsl_xsltprocessor_get_parameter()
xsl_xsltprocessor_has_exslt_support()
xsl_xsltprocessor_import_stylesheet()
xsl_xsltprocessor_register_php_functions()
xsl_xsltprocessor_remove_parameter()
xsl_xsltprocessor_set_parameter()
xsl_xsltprocessor_transform_to_doc()
xsl_xsltprocessor_transform_to_uri()
xsl_xsltprocessor_transform_to_xml()
ext/zlib
--------
TBD:
zlib_filter.c
zlib_fopen_wrapper.c
Completed:
gzcompress()
gzuncompress()
gzdeflate()
gzinflate()
gzencode()
gzdecode()
zlib_encode()
zlib_decode()
zlib_get_coding_type()
readgzfile()
gzrewind()
gzclose()
gzeof()
gzgetc()
gzgets()
gzgetss()
gzread()
gzopen()
gzpassthru()
gzseek()
gztell()
gzwrite()
gzputs()
gzfile()
gzcompress()
gzuncompress()
Zend Engine
-----------
Status: In Progress
TBD:
debug_backtrace()
Completed:
class_exists()
create_function()
debug_print_backtrace()
define()
defined()
each()
error_reporting()
extension_loaded()
func_get_arg()
func_get_args()
func_num_args()
function_exists()
get_class()
get_class_methods()
get_class_vars()
get_declared_classes()
get_declared_interfaces()
get_defined_constants()
get_defined_functions()
get_defined_vars()
get_extension_funcs()
get_included_files()
get_loaded_extensions()
get_object_vars()
get_parent_class()
get_resource_type()
interface_exists()
is_a()
is_subclass_of()
method_exists()
property_exists()
restore_error_handler()
restore_exception_handler()
set_error_handler()
set_exception_handler()
strcasecmp()
strcmp()
strlen()
strncasecmp()
strncmp()
trigger_error()
zend_thread_id()
zend_version()
vim: set et ts=4 sts=4: