You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/umbrello/umbrello/codegenerators/php5writer.cpp

3419 lines
89 KiB

/***************************************************************************
begin : Thu Oct 17 2002
copyright : (C) 2002 by Heiko Nardmann
email : h.nardmann@secunet.de
(C) 2003-2006 Umbrello UML Modeller Authors <uml-devel@uml.sf.net>
php5 version by Thorsten Kunz (tk AT bytecrash DOT net)
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "php5writer.h"
#include <kdebug.h>
#include <tqregexp.h>
#include <tqtextstream.h>
#include "../umldoc.h"
#include "../classifier.h"
#include "../association.h"
#include "../attribute.h"
#include "../operation.h"
#include "../umlnamespace.h"
static const char *php5words[] =
{
"abs",
"abstract",
"acos",
"acosh",
"add",
"addAction",
"addColor",
"addEntry",
"addFill",
"addShape",
"addString",
"add_namespace",
"addcslashes",
"addslashes",
"addstring",
"aggregate",
"aggregate_info",
"aggregate_methods",
"aggregate_methods_by_list",
"aggregate_methods_by_regexp",
"aggregate_properties",
"aggregate_properties_by_list",
"aggregate_properties_by_regexp",
"aggregation_info",
"align",
"apache_child_terminate",
"apache_lookup_uri",
"apache_note",
"apache_request_headers",
"apache_response_headers",
"apache_setenv",
"append_child",
"append_sibling",
"array",
"array_change_key_case",
"array_chunk",
"array_count_values",
"array_diff",
"array_diff_assoc",
"array_fill",
"array_filter",
"array_flip",
"array_intersect",
"array_intersect_assoc",
"array_key_exists",
"array_keys",
"array_map",
"array_merge",
"array_merge_recursive",
"array_multisort",
"array_pad",
"array_pop",
"array_push",
"array_rand",
"array_reduce",
"array_reverse",
"array_search",
"array_shift",
"array_slice",
"array_splice",
"array_sum",
"array_unique",
"array_unshift",
"array_values",
"array_walk",
"arsort",
"ascii2ebcdic",
"asin",
"asinh",
"asort",
"aspell_check",
"aspell_new",
"aspell_suggest",
"assert",
"assert_options",
"assign",
"atan",
"atan2",
"atanh",
"attreditable",
"attributes",
"base64_decode",
"base64_encode",
"base_convert",
"basename",
"bcadd",
"bccomp",
"bcdiv",
"bcmod",
"bcmul",
"bcpow",
"bcpowmod",
"bcscale",
"bcsqrt",
"bcsub",
"bin2hex",
"bindec",
"bindtextdomain",
"bind_textdomain_codeset",
"bool",
"break",
"bzclose",
"bzcompress",
"bzdecompress",
"bzerrno",
"bzerror",
"bzerrstr",
"bzflush",
"bzopen",
"bzread",
"bzwrite",
"cal_days_in_month",
"cal_from_jd",
"cal_info",
"call_user_func",
"call_user_func_array",
"call_user_method",
"call_user_method_array",
"cal_to_jd",
"ccvs_add",
"ccvs_auth",
"ccvs_command",
"ccvs_count",
"ccvs_delete",
"ccvs_done",
"ccvs_init",
"ccvs_lookup",
"ccvs_new",
"ccvs_report",
"ccvs_return",
"ccvs_reverse",
"ccvs_sale",
"ccvs_status",
"ccvs_textvalue",
"ccvs_void",
"ceil",
"chdir",
"checkdate",
"checkdnsrr",
"checkin",
"checkout",
"chgrp",
"child_nodes",
"children",
"chmod",
"chop",
"chown",
"chr",
"chroot",
"chunk_split",
"class",
"class_exists",
"clearstatcache",
"clone_node",
"closedir",
"closelog",
"com_addref",
"com_get",
"com_invoke",
"com_isenum",
"com_load",
"com_load_typelib",
"compact",
"com_propget",
"com_propput",
"com_propset",
"com_release",
"com_set",
"connection_aborted",
"connection_status",
"connection_timeout",
"constant",
"content",
"continue",
"convert_cyr_string",
"_COOKIE",
"copy",
"cos",
"cosh",
"count",
"count_chars",
"cpdf_add_annotation",
"cpdf_add_outline",
"cpdf_arc",
"cpdf_begin_text",
"cpdf_circle",
"cpdf_clip",
"cpdf_close",
"cpdf_closepath",
"cpdf_closepath_fill_stroke",
"cpdf_closepath_stroke",
"cpdf_continue_text",
"cpdf_curveto",
"cpdf_end_text",
"cpdf_fill",
"cpdf_fill_stroke",
"cpdf_finalize",
"cpdf_finalize_page",
"cpdf_global_set_document_limits",
"cpdf_import_jpeg",
"cpdf_lineto",
"cpdf_moveto",
"cpdf_newpath",
"cpdf_open",
"cpdf_output_buffer",
"cpdf_page_init",
"cpdf_place_inline_image",
"cpdf_rect",
"cpdf_restore",
"cpdf_rlineto",
"cpdf_rmoveto",
"cpdf_rotate",
"cpdf_rotate_text",
"cpdf_save",
"cpdf_save_to_file",
"cpdf_scale",
"cpdf_set_action_url",
"cpdf_set_char_spacing",
"cpdf_set_creator",
"cpdf_set_current_page",
"cpdf_setdash",
"cpdf_setflat",
"cpdf_set_font",
"cpdf_set_font_directories",
"cpdf_set_font_map_file",
"cpdf_setgray",
"cpdf_setgray_fill",
"cpdf_setgray_stroke",
"cpdf_set_horiz_scaling",
"cpdf_set_keywords",
"cpdf_set_leading",
"cpdf_setlinecap",
"cpdf_setlinejoin",
"cpdf_setlinewidth",
"cpdf_setmiterlimit",
"cpdf_set_page_animation",
"cpdf_setrgbcolor",
"cpdf_setrgbcolor_fill",
"cpdf_setrgbcolor_stroke",
"cpdf_set_subject",
"cpdf_set_text_matrix",
"cpdf_set_text_pos",
"cpdf_set_text_rendering",
"cpdf_set_text_rise",
"cpdf_set_title",
"cpdf_set_viewer_preferences",
"cpdf_set_word_spacing",
"cpdf_show",
"cpdf_show_xy",
"cpdf_stringwidth",
"cpdf_stroke",
"cpdf_text",
"cpdf_translate",
"crack_check",
"crack_closedict",
"crack_getlastmessage",
"crack_opendict",
"crc32",
"create_attribute",
"create_cdata_section",
"create_comment",
"create_element",
"create_element_ns",
"create_entity_reference",
"create_function",
"create_processing_instruction",
"create_text_node",
"crypt",
"ctype_alnum",
"ctype_alpha",
"ctype_cntrl",
"ctype_digit",
"ctype_graph",
"ctype_lower",
"ctype_print",
"ctype_punct",
"ctype_space",
"ctype_upper",
"ctype_xdigit",
"curl_close",
"curl_errno",
"curl_error",
"curl_exec",
"curl_getinfo",
"curl_init",
"curl_setopt",
"curl_version",
"current",
"cybercash_base64_decode",
"cybercash_base64_encode",
"cybercash_decr",
"cybercash_encr",
"cybermut_creerformulairecm",
"cybermut_creerreponsecm",
"cybermut_testmac",
"cyrus_authenticate",
"cyrus_bind",
"cyrus_close",
"cyrus_connect",
"cyrus_query",
"cyrus_unbind",
"data",
"date",
"dba_close",
"dba_delete",
"dba_exists",
"dba_fetch",
"dba_firstkey",
"dba_handlers",
"dba_insert",
"dba_list",
"dba_nextkey",
"dba_open",
"dba_optimize",
"dba_popen",
"dba_replace",
"dbase_add_record",
"dbase_close",
"dbase_create",
"dbase_delete_record",
"dbase_get_record",
"dbase_get_record_with_names",
"dbase_numfields",
"dbase_numrecords",
"dbase_open",
"dbase_pack",
"dbase_replace_record",
"dba_sync",
"dblist",
"dbmclose",
"dbmdelete",
"dbmexists",
"dbmfetch",
"dbmfirstkey",
"dbminsert",
"dbmnextkey",
"dbmopen",
"dbmreplace",
"dbplus_add",
"dbplus_aql",
"dbplus_chdir",
"dbplus_close",
"dbplus_curr",
"dbplus_errcode",
"dbplus_errno",
"dbplus_find",
"dbplus_first",
"dbplus_flush",
"dbplus_freealllocks",
"dbplus_freelock",
"dbplus_freerlocks",
"dbplus_getlock",
"dbplus_getunique",
"dbplus_info",
"dbplus_last",
"dbplus_lockrel",
"dbplus_next",
"dbplus_open",
"dbplus_prev",
"dbplus_rchperm",
"dbplus_rcreate",
"dbplus_rcrtexact",
"dbplus_rcrtlike",
"dbplus_resolve",
"dbplus_restorepos",
"dbplus_rkeys",
"dbplus_ropen",
"dbplus_rquery",
"dbplus_rrename",
"dbplus_rsecindex",
"dbplus_runlink",
"dbplus_rzap",
"dbplus_savepos",
"dbplus_setindex",
"dbplus_setindexbynumber",
"dbplus_sql",
"dbplus_tcl",
"dbplus_tremove",
"dbplus_undo",
"dbplus_undoprepare",
"dbplus_unlockrel",
"dbplus_unselect",
"dbplus_update",
"dbplus_xlockrel",
"dbplus_xunlockrel",
"dbstat",
"dbx_close",
"dbx_compare",
"dbx_connect",
"dbx_error",
"dbx_escape_string",
"dbx_query",
"dbx_sort",
"dcgettext",
"dcngettext",
"dcstat",
"deaggregate",
"debug_backtrace",
"debugger_off",
"debugger_on",
"decbin",
"dechex",
"declare",
"decoct",
"DEFAULT_INCLUDE_PATH",
"define",
"defined",
"define_syslog_variables",
"deg2rad",
"delete",
"description",
"dgettext",
"die",
"dio_close",
"dio_fcntl",
"dio_open",
"dio_read",
"dio_seek",
"dio_stat",
"dio_tcsetattr",
"dio_truncate",
"dio_write",
"dir",
"dirname",
"disk_free_space",
"diskfreespace",
"disk_total_space",
"dl",
"dngettext",
"dns_check_record",
"dns_get_mx",
"dns_get_record",
"do",
"doctype",
"document_element",
"DOCUMENT_ROOT",
"domxml_new_doc",
"domxml_open_file",
"domxml_open_mem",
"domxml_version",
"domxml_xmltree",
"domxml_xslt_stylesheet",
"domxml_xslt_stylesheet_doc",
"domxml_xslt_stylesheet_file",
"dotnet_load",
"doubleval",
"drawCurve",
"drawCurveTo",
"drawLine",
"drawLineTo",
"dstanchors",
"dstofsrcanchors",
"dump_file",
"dump_mem",
"dump_node",
"each",
"E_ALL",
"easter_date",
"easter_days",
"ebcdic2ascii",
"echo",
"E_COMPILE_ERROR",
"E_COMPILE_WARNING",
"E_CORE_ERROR",
"E_CORE_WARNING",
"E_ERROR",
"else",
"elseif",
"empty",
"end",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"E_NOTICE",
"entities",
"_ENV",
"E_PARSE",
"ereg",
"eregi",
"eregi_replace",
"ereg_replace",
"error_log",
"error_reporting",
"escapeshellarg",
"escapeshellcmd",
"E_USER_ERROR",
"E_USER_NOTICE",
"E_USER_WARNING",
"eval",
"E_WARNING",
"exec",
"exif_imagetype",
"exif_read_data",
"exif_thumbnail",
"exit",
"exp",
"explode",
"expm1",
"extension_loaded",
"extract",
"ezmlm_hash",
"FALSE",
"fbsql_affected_rows",
"fbsql_autocommit",
"fbsql_change_user",
"fbsql_close",
"fbsql_commit",
"fbsql_connect",
"fbsql_create_blob",
"fbsql_create_clob",
"fbsql_create_db",
"fbsql_database",
"fbsql_database_password",
"fbsql_data_seek",
"fbsql_db_query",
"fbsql_db_status",
"fbsql_drop_db",
"fbsql_errno",
"fbsql_error",
"fbsql_fetch_array",
"fbsql_fetch_assoc",
"fbsql_fetch_field",
"fbsql_fetch_lengths",
"fbsql_fetch_object",
"fbsql_fetch_row",
"fbsql_field_flags",
"fbsql_field_len",
"fbsql_field_name",
"fbsql_field_seek",
"fbsql_field_table",
"fbsql_field_type",
"fbsql_free_result",
"fbsql_get_autostart_info",
"fbsql_hostname",
"fbsql_insert_id",
"fbsql_list_dbs",
"fbsql_list_fields",
"fbsql_list_tables",
"fbsql_next_result",
"fbsql_num_fields",
"fbsql_num_rows",
"fbsql_password",
"fbsql_pconnect",
"fbsql_query",
"fbsql_read_blob",
"fbsql_read_clob",
"fbsql_result",
"fbsql_rollback",
"fbsql_select_db",
"fbsql_set_lob_mode",
"fbsql_set_transaction",
"fbsql_start_db",
"fbsql_stop_db",
"fbsql_tablename",
"fbsql_username",
"fbsql_warnings",
"fclose",
"fdf_add_doc_javascript",
"fdf_add_template",
"fdf_close",
"fdf_create",
"fdf_errno",
"fdf_error",
"fdf_get_ap",
"fdf_get_attachment",
"fdf_get_encoding",
"fdf_get_file",
"fdf_get_status",
"fdf_get_value",
"fdf_get_version",
"fdf_header",
"fdf_next_field_name",
"fdf_open",
"fdf_open_string",
"fdf_save",
"fdf_save_string",
"fdf_set_ap",
"fdf_set_encoding",
"fdf_set_file",
"fdf_set_flags",
"fdf_set_javascript_action",
"fdf_set_opt",
"fdf_set_status",
"fdf_set_submit_form_action",
"fdf_set_target_frame",
"fdf_set_value",
"fdf_set_version",
"feof",
"fflush",
"fgetc",
"fgetcsv",
"fgets",
"fgetss",
"file",
"__FILE__",
"fileatime",
"filectime",
"file_exists",
"file_get_contents",
"filegroup",
"fileinode",
"filemtime",
"fileowner",
"fileperms",
"filepro",
"filepro_fieldcount",
"filepro_fieldname",
"filepro_fieldtype",
"filepro_fieldwidth",
"filepro_retrieve",
"filepro_rowcount",
"_FILES",
"filesize",
"filetype",
"find",
"first_child",
"floatval",
"flock",
"floor",
"flush",
"fmod",
"fnmatch",
"fopen",
"for",
"foreach",
"fpassthru",
"fprintf",
"fputs",
"fread",
"frenchtojd",
"fribidi_log2vis",
"fscanf",
"fseek",
"fsockopen",
"fstat",
"ftell",
"ftok",
"ftp_cdup",
"ftp_chdir",
"ftp_close",
"ftp_connect",
"ftp_delete",
"ftp_exec",
"ftp_fget",
"ftp_fput",
"ftp_get",
"ftp_get_option",
"ftp_login",
"ftp_mdtm",
"ftp_mkdir",
"ftp_nb_continue",
"ftp_nb_fget",
"ftp_nb_fput",
"ftp_nb_get",
"ftp_nb_put",
"ftp_nlist",
"ftp_pasv",
"ftp_put",
"ftp_pwd",
"ftp_quit",
"ftp_rawlist",
"ftp_rename",
"ftp_rmdir",
"ftp_set_option",
"ftp_site",
"ftp_size",
"ftp_ssl_connect",
"ftp_systype",
"ftruncate",
"ftstat",
"func_get_arg",
"func_get_args",
"func_num_args",
"function",
"function_exists",
"fwrite",
"GATEWAY_INTERFACE",
"gd_info",
"_GET",
"getallheaders",
"get_attribute",
"get_attribute_node",
"get_browser",
"get_cfg_var",
"get_class",
"get_class_methods",
"get_class_vars",
"get_content",
"get_current_user",
"getcwd",
"getdate",
"get_declared_classes",
"get_defined_constants",
"get_defined_functions",
"get_defined_vars",
"get_element_by_id",
"get_elements_by_tagname",
"getenv",
"get_extension_funcs",
"getHeight",
"gethostbyaddr",
"gethostbyname",
"gethostbynamel",
"get_html_translation_table",
"getimagesize",
"get_included_files",
"get_include_path",
"getlastmod",
"get_loaded_extensions",
"get_magic_quotes_gpc",
"get_magic_quotes_runtime",
"get_meta_tags",
"getmxrr",
"getmygid",
"getmyinode",
"getmypid",
"getmyuid",
"get_object_vars",
"getopt",
"get_parent_class",
"getprotobyname",
"getprotobynumber",
"getrandmax",
"get_required_files",
"get_resource_type",
"getrusage",
"getservbyname",
"getservbyport",
"getshape1",
"getshape2",
"gettext",
"gettimeofday",
"gettype",
"getwidth",
"getWidth",
"glob",
"global",
"GLOBALS",
"gmdate",
"gmmktime",
"gmp_abs",
"gmp_add",
"gmp_and",
"gmp_clrbit",
"gmp_cmp",
"gmp_com",
"gmp_div",
"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_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_sqrtrm",
"gmp_strval",
"gmp_sub",
"gmp_xor",
"gmstrftime",
"gregoriantojd",
"gzclose",
"gzcompress",
"gzdeflate",
"gzencode",
"gzeof",
"gzfile",
"gzgetc",
"gzgets",
"gzgetss",
"gzinflate",
"gzopen",
"gzpassthru",
"gzputs",
"gzread",
"gzrewind",
"gzseek",
"gztell",
"gzuncompress",
"gzwrite",
"has_attribute",
"has_attributess",
"has_child_nodes",
"header",
"headers_sent",
"hebrev",
"hebrevc",
"hexdec",
"highlight_file",
"highlight_string",
"html_dump_mem",
"htmlentities",
"html_entity_decode",
"htmlspecialchars",
"HTTP_ACCEPT",
"HTTP_ACCEPT_CHARSET",
"HTTP_ACCEPT_LANGUAGE",
"HTTP_CONNECTION",
"HTTP_COOKIE_VARS",
"HTTP_ENCODING",
"HTTP_ENV_VARS",
"HTTP_GET_VARS",
"HTTP_HOST",
"HTTP_POST_FILES",
"HTTP_POST_VARS",
"HTTP_RAW_POST_DATA",
"HTTP_REFERER",
"HTTP_SERVER_VARS",
"HTTP_SESSION_VARS",
"HTTP_STATE_VARS",
"HTTP_USER_AGENT",
"hw_api_attribute",
"hw_api_content",
"hwapi_hgcsp",
"hw_api_object",
"hw_Array2Objrec",
"hw_changeobject",
"hw_Children",
"hw_ChildrenObj",
"hw_Close",
"hw_Connect",
"hw_connection_info",
"hw_Cp",
"hw_Deleteobject",
"hw_DocByAnchor",
"hw_DocByAnchorObj",
"hw_Document_Attributes",
"hw_Document_BodyTag",
"hw_Document_Content",
"hw_Document_SetContent",
"hw_Document_Size",
"hw_dummy",
"hw_EditText",
"hw_Error",
"hw_ErrorMsg",
"hw_Free_Document",
"hw_GetAnchors",
"hw_GetAnchorsObj",
"hw_GetAndLock",
"hw_GetChildColl",
"hw_GetChildCollObj",
"hw_GetChildDocColl",
"hw_GetChildDocCollObj",
"hw_GetObject",
"hw_GetObjectByQuery",
"hw_GetObjectByQueryColl",
"hw_GetObjectByQueryCollObj",
"hw_GetObjectByQueryObj",
"hw_GetParents",
"hw_GetParentsObj",
"hw_getrellink",
"hw_GetRemote",
"hw_GetRemoteChildren",
"hw_GetSrcByDestObj",
"hw_GetText",
"hw_getusername",
"hw_Identify",
"hw_InCollections",
"hw_Info",
"hw_InsColl",
"hw_InsDoc",
"hw_insertanchors",
"hw_InsertDocument",
"hw_InsertObject",
"hw_mapid",
"hw_Modifyobject",
"hw_Mv",
"hw_New_Document",
"hw_Objrec2Array",
"hw_Output_Document",
"hw_pConnect",
"hw_PipeDocument",
"hw_Root",
"hw_setlinkroot",
"hw_stat",
"hwstat",
"hw_Unlock",
"hw_Who",
"hypot",
"ibase_blob_add",
"ibase_blob_cancel",
"ibase_blob_close",
"ibase_blob_create",
"ibase_blob_echo",
"ibase_blob_get",
"ibase_blob_import",
"ibase_blob_info",
"ibase_blob_open",
"ibase_close",
"ibase_commit",
"ibase_connect",
"ibase_errmsg",
"ibase_execute",
"ibase_fetch_object",
"ibase_fetch_row",
"ibase_field_info",
"ibase_free_query",
"ibase_free_result",
"ibase_num_fields",
"ibase_pconnect",
"ibase_prepare",
"ibase_query",
"ibase_rollback",
"ibase_timefmt",
"ibase_trans",
"iconv",
"iconv_get_encoding",
"iconv_set_encoding",
"identify",
"if",
"ifx_affected_rows",
"ifx_blobinfile_mode",
"ifx_byteasvarchar",
"ifx_close",
"ifx_connect",
"ifx_copy_blob",
"ifx_create_blob",
"ifx_create_char",
"ifx_do",
"ifx_error",
"ifx_errormsg",
"ifx_fetch_row",
"ifx_fieldproperties",
"ifx_fieldtypes",
"ifx_free_blob",
"ifx_free_char",
"ifx_free_result",
"ifx_get_blob",
"ifx_get_char",
"ifx_getsqlca",
"ifx_htmltbl_result",
"ifx_nullformat",
"ifx_num_fields",
"ifx_num_rows",
"ifx_pconnect",
"ifx_prepare",
"ifx_query",
"ifx_textasvarchar",
"ifx_update_blob",
"ifx_update_char",
"ifxus_close_slob",
"ifxus_create_slob",
"ifxus_free_slob",
"ifxus_open_slob",
"ifxus_read_slob",
"ifxus_seek_slob",
"ifxus_tell_slob",
"ifxus_write_slob",
"ignore_user_abort",
"image2wbmp",
"imagealphablending",
"imagearc",
"imagechar",
"imagecharup",
"imagecolorallocate",
"imagecolorallocatealpha",
"imagecolorat",
"imagecolorclosest",
"imagecolorclosestalpha",
"imagecolorclosesthwb",
"imagecolordeallocate",
"imagecolorexact",
"imagecolorexactalpha",
"imagecolorresolve",
"imagecolorresolvealpha",
"imagecolorset",
"imagecolorsforindex",
"imagecolorstotal",
"imagecolortransparent",
"imagecopy",
"imagecopymerge",
"imagecopymergegray",
"imagecopyresampled",
"imagecopyresized",
"imagecreate",
"imagecreatefromgd",
"imagecreatefromgd2",
"imagecreatefromgd2part",
"imagecreatefromgif",
"imagecreatefromjpeg",
"imagecreatefrompng",
"imagecreatefromstring",
"imagecreatefromwbmp",
"imagecreatefromxbm",
"imagecreatefromxpm",
"imagecreatetruecolor",
"imagedashedline",
"imagedestroy",
"imageellipse",
"imagefill",
"imagefilledarc",
"imagefilledellipse",
"imagefilledpolygon",
"imagefilledrectangle",
"imagefilltoborder",
"imagefontheight",
"imagefontwidth",
"imageftbbox",
"imagefttext",
"imagegammacorrect",
"imagegd",
"imagegd2",
"imagegif",
"imageinterlace",
"imagejpeg",
"imageline",
"imageloadfont",
"imagepalettecopy",
"imagepng",
"imagepolygon",
"imagepsbbox",
"imagepscopyfont",
"imagepsencodefont",
"imagepsextendfont",
"imagepsfreefont",
"imagepsloadfont",
"imagepsslantfont",
"imagepstext",
"imagerectangle",
"imagerotate",
"imagesetbrush",
"imagesetpixel",
"imagesetstyle",
"imagesetthickness",
"imagesettile",
"imagestring",
"imagestringup",
"imagesx",
"imagesy",
"imagetruecolortopalette",
"imagettfbbox",
"imagettftext",
"imagetypes",
"image_type_to_mime_type",
"imagewbmp",
"imap_8bit",
"imap_alerts",
"imap_append",
"imap_base64",
"imap_binary",
"imap_body",
"imap_bodystruct",
"imap_check",
"imap_clearflag_full",
"imap_close",
"imap_createmailbox",
"imap_delete",
"imap_deletemailbox",
"imap_errors",
"imap_expunge",
"imap_fetchbody",
"imap_fetchheader",
"imap_fetch_overview",
"imap_fetchstructure",
"imap_getmailboxes",
"imap_get_quota",
"imap_get_quotaroot",
"imap_getsubscribed",
"imap_header",
"imap_headerinfo",
"imap_headers",
"imap_last_error",
"imap_list",
"imap_listmailbox",
"imap_listscan",
"imap_listsubscribed",
"imap_lsub",
"imap_mail",
"imap_mailboxmsginfo",
"imap_mail_compose",
"imap_mail_copy",
"imap_mail_move",
"imap_mime_header_decode",
"imap_msgno",
"imap_num_msg",
"imap_num_recent",
"imap_open",
"imap_ping",
"imap_qprint",
"imap_renamemailbox",
"imap_reopen",
"imap_rfc822_parse_adrlist",
"imap_rfc822_parse_headers",
"imap_rfc822_write_address",
"imap_scanmailbox",
"imap_search",
"imap_setacl",
"imap_setflag_full",
"imap_set_quota",
"imap_sort",
"imap_status",
"imap_subscribe",
"imap_thread",
"imap_uid",
"imap_undelete",
"imap_unsubscribe",
"imap_utf7_decode",
"imap_utf7_encode",
"imap_utf8",
"implements",
"implode",
"import_request_variables",
"in_array",
"include",
"include_once",
"info",
"ingres_autocommit",
"ingres_close",
"ingres_commit",
"ingres_connect",
"ingres_fetch_array",
"ingres_fetch_object",
"ingres_fetch_row",
"ingres_field_length",
"ingres_field_name",
"ingres_field_nullable",
"ingres_field_precision",
"ingres_field_scale",
"ingres_field_type",
"ingres_num_fields",
"ingres_num_rows",
"ingres_pconnect",
"ingres_query",
"ingres_rollback",
"ini_alter",
"ini_get",
"ini_get_all",
"ini_restore",
"ini_set",
"insert",
"insertanchor",
"insert_before",
"insertcollection",
"insertdocument",
"int",
"interface",
"internal_subset",
"intval",
"ip2long",
"iptcembed",
"iptcparse",
"ircg_channel_mode",
"ircg_disconnect",
"ircg_fetch_error_msg",
"ircg_get_username",
"ircg_html_encode",
"ircg_ignore_add",
"ircg_ignore_del",
"ircg_is_conn_alive",
"ircg_join",
"ircg_kick",
"ircg_lookup_format_messages",
"ircg_msg",
"ircg_nick",
"ircg_nickname_escape",
"ircg_nickname_unescape",
"ircg_notice",
"ircg_part",
"ircg_pconnect",
"ircg_register_format_messages",
"ircg_set_current",
"ircg_set_file",
"ircg_set_on_die",
"ircg_topic",
"ircg_whois",
"is_a",
"is_array",
"is_blank_node",
"is_bool",
"is_callable",
"is_dir",
"is_double",
"is_executable",
"is_file",
"is_finite",
"is_float",
"is_infinite",
"is_int",
"is_integer",
"is_link",
"is_long",
"is_nan",
"is_null",
"is_numeric",
"is_object",
"is_readable",
"is_real",
"is_resource",
"is_scalar",
"isset",
"is_string",
"is_subclass_of",
"is_uploaded_file",
"is_writable",
"is_writeable",
"java_last_exception_clear",
"java_last_exception_get",
"jddayofweek",
"jdmonthname",
"jdtofrench",
"jdtogregorian",
"jdtojewish",
"jdtojulian",
"jdtounix",
"jewishtojd",
"join",
"jpeg2wbmp",
"juliantojd",
"key",
"krsort",
"ksort",
"langdepvalue",
"last_child",
"lcg_value",
"ldap_8859_to_t61",
"ldap_add",
"ldap_bind",
"ldap_close",
"ldap_compare",
"ldap_connect",
"ldap_count_entries",
"ldap_delete",
"ldap_dn2ufn",
"ldap_err2str",
"ldap_errno",
"ldap_error",
"ldap_explode_dn",
"ldap_first_attribute",
"ldap_first_entry",
"ldap_first_reference",
"ldap_free_result",
"ldap_get_attributes",
"ldap_get_dn",
"ldap_get_entries",
"ldap_get_option",
"ldap_get_values",
"ldap_get_values_len",
"ldap_list",
"ldap_mod_add",
"ldap_mod_del",
"ldap_modify",
"ldap_mod_replace",
"ldap_next_attribute",
"ldap_next_entry",
"ldap_next_reference",
"ldap_parse_reference",
"ldap_parse_result",
"ldap_read",
"ldap_rename",
"ldap_search",
"ldap_set_option",
"ldap_set_rebind_proc",
"ldap_sort",
"ldap_start_tls",
"ldap_t61_to_8859",
"ldap_unbind",
"levenshtein",
"__LINE__",
"link",
"linkinfo",
"list",
"localeconv",
"localtime",
"lock",
"log",
"log10",
"log1p",
"long2ip",
"lstat",
"ltrim",
"mail",
"mailparse_determine_best_xfer_encoding",
"mailparse_msg_create",
"mailparse_msg_extract_part",
"mailparse_msg_extract_part_file",
"mailparse_msg_free",
"mailparse_msg_get_part",
"mailparse_msg_get_part_data",
"mailparse_msg_get_structure",
"mailparse_msg_parse",
"mailparse_msg_parse_file",
"mailparse_rfc822_parse_addresses",
"mailparse_stream_encode",
"mailparse_uudecode_all",
"main",
"max",
"mb_convert_case",
"mb_convert_encoding",
"mb_convert_kana",
"mb_convert_variables",
"mb_decode_mimeheader",
"mb_decode_numericentity",
"mb_detect_encoding",
"mb_detect_order",
"mb_encode_mimeheader",
"mb_encode_numericentity",
"mb_ereg",
"mb_eregi",
"mb_eregi_replace",
"mb_ereg_match",
"mb_ereg_replace",
"mb_ereg_search",
"mb_ereg_search_getpos",
"mb_ereg_search_getregs",
"mb_ereg_search_init",
"mb_ereg_search_pos",
"mb_ereg_search_regs",
"mb_ereg_search_setpos",
"mb_get_info",
"mb_http_input",
"mb_http_output",
"mb_internal_encoding",
"mb_language",
"mb_output_handler",
"mb_parse_str",
"mb_preferred_mime_name",
"mb_regex_encoding",
"mb_regex_set_options",
"mb_send_mail",
"mb_split",
"mb_strcut",
"mb_strimwidth",
"mb_strlen",
"mb_strpos",
"mb_strrpos",
"mb_strtolower",
"mb_strtoupper",
"mb_strwidth",
"mb_substitute_character",
"mb_substr",
"mb_substr_count",
"mcal_append_event",
"mcal_close",
"mcal_create_calendar",
"mcal_date_compare",
"mcal_date_valid",
"mcal_day_of_week",
"mcal_day_of_year",
"mcal_days_in_month",
"mcal_delete_calendar",
"mcal_delete_event",
"mcal_event_add_attribute",
"mcal_event_init",
"mcal_event_set_alarm",
"mcal_event_set_category",
"mcal_event_set_class",
"mcal_event_set_description",
"mcal_event_set_end",
"mcal_event_set_recur_daily",
"mcal_event_set_recur_monthly_mday",
"mcal_event_set_recur_monthly_wday",
"mcal_event_set_recur_none",
"mcal_event_set_recur_weekly",
"mcal_event_set_recur_yearly",
"mcal_event_set_start",
"mcal_event_set_title",
"mcal_expunge",
"mcal_fetch_current_stream_event",
"mcal_fetch_event",
"mcal_is_leap_year",
"mcal_list_alarms",
"mcal_list_events",
"mcal_next_recurrence",
"mcal_open",
"mcal_popen",
"mcal_rename_calendar",
"mcal_reopen",
"mcal_snooze",
"mcal_store_event",
"mcal_time_valid",
"mcal_week_of_year",
"mcrypt_cbc",
"mcrypt_cfb",
"mcrypt_create_iv",
"mcrypt_decrypt",
"mcrypt_ecb",
"mcrypt_enc_get_algorithms_name",
"mcrypt_enc_get_block_size",
"mcrypt_enc_get_iv_size",
"mcrypt_enc_get_key_size",
"mcrypt_enc_get_modes_name",
"mcrypt_enc_get_supported_key_sizes",
"mcrypt_enc_is_block_algorithm",
"mcrypt_enc_is_block_algorithm_mode",
"mcrypt_enc_is_block_mode",
"mcrypt_encrypt",
"mcrypt_enc_self_test",
"mcrypt_generic",
"mcrypt_generic_deinit",
"mcrypt_generic_end",
"mcrypt_generic_init",
"mcrypt_get_block_size",
"mcrypt_get_cipher_name",
"mcrypt_get_iv_size",
"mcrypt_get_key_size",
"mcrypt_list_algorithms",
"mcrypt_list_modes",
"mcrypt_module_close",
"mcrypt_module_get_algo_block_size",
"mcrypt_module_get_algo_key_size",
"mcrypt_module_get_supported_key_sizes",
"mcrypt_module_is_block_algorithm",
"mcrypt_module_is_block_algorithm_mode",
"mcrypt_module_is_block_mode",
"mcrypt_module_open",
"mcrypt_module_self_test",
"mcrypt_ofb",
"mcve_adduser",
"mcve_adduserarg",
"mcve_bt",
"mcve_checkstatus",
"mcve_chkpwd",
"mcve_chngpwd",
"mcve_completeauthorizations",
"mcve_connect",
"mcve_connectionerror",
"mcve_deleteresponse",
"mcve_deletetrans",
"mcve_deleteusersetup",
"mcve_deluser",
"mcve_destroyconn",
"mcve_destroyengine",
"mcve_disableuser",
"mcve_edituser",
"mcve_enableuser",
"mcve_force",
"mcve_getcell",
"mcve_getcellbynum",
"mcve_getcommadelimited",
"mcve_getheader",
"mcve_getuserarg",
"mcve_getuserparam",
"mcve_gft",
"mcve_gl",
"mcve_gut",
"mcve_initconn",
"mcve_initengine",
"mcve_initusersetup",
"mcve_iscommadelimited",
"mcve_liststats",
"mcve_listusers",
"mcve_maxconntimeout",
"mcve_monitor",
"mcve_numcolumns",
"mcve_numrows",
"mcve_override",
"mcve_parsecommadelimited",
"mcve_ping",
"mcve_preauth",
"mcve_preauthcompletion",
"mcve_qc",
"mcve_responseparam",
"mcve_return",
"mcve_returncode",
"mcve_returnstatus",
"mcve_sale",
"mcve_setblocking",
"mcve_setdropfile",
"mcve_setip",
"mcve_setssl",
"mcve_settimeout",
"mcve_settle",
"mcve_text_avs",
"mcve_text_code",
"mcve_text_cv",
"mcve_transactionauth",
"mcve_transactionavs",
"mcve_transactionbatch",
"mcve_transactioncv",
"mcve_transactionid",
"mcve_transactionitem",
"mcve_transactionssent",
"mcve_transactiontext",
"mcve_transinqueue",
"mcve_transnew",
"mcve_transparam",
"mcve_transsend",
"mcve_ub",
"mcve_uwait",
"mcve_verifyconnection",
"mcve_verifysslcert",
"mcve_void",
"md5",
"md5_file",
"mdecrypt_generic",
"memory_get_usage",
"metaphone",
"method_exists",
"mhash",
"mhash_count",
"mhash_get_block_size",
"mhash_get_hash_name",
"mhash_keygen_s2k",
"microtime",
"mime_content_type",
"mimetype",
"min",
"ming_setcubicthreshold",
"ming_setscale",
"ming_useswfversion",
"mkdir",
"mktime",
"money_format",
"move",
"movePen",
"movePenTo",
"moveTo",
"move_uploaded_file",
"msession_connect",
"msession_count",
"msession_create",
"msession_destroy",
"msession_disconnect",
"msession_find",
"msession_get",
"msession_get_array",
"msession_getdata",
"msession_inc",
"msession_list",
"msession_listvar",
"msession_lock",
"msession_plugin",
"msession_randstr",
"msession_set",
"msession_set_array",
"msession_setdata",
"msession_timeout",
"msession_uniq",
"msession_unlock",
"msg_get_queue",
"msg_receive",
"msg_remove_queue",
"msg_send",
"msg_set_queue",
"msg_stat_queue",
"msql",
"msql_affected_rows",
"msql_close",
"msql_connect",
"msql_create_db",
"msql_createdb",
"msql_data_seek",
"msql_dbname",
"msql_drop_db",
"msql_dropdb",
"msql_error",
"msql_fetch_array",
"msql_fetch_field",
"msql_fetch_object",
"msql_fetch_row",
"msql_fieldflags",
"msql_fieldlen",
"msql_fieldname",
"msql_field_seek",
"msql_fieldtable",
"msql_fieldtype",
"msql_free_result",
"msql_freeresult",
"msql_list_dbs",
"msql_listdbs",
"msql_list_fields",
"msql_listfields",
"msql_list_tables",
"msql_listtables",
"msql_num_fields",
"msql_numfields",
"msql_num_rows",
"msql_numrows",
"msql_pconnect",
"msql_query",
"msql_regcase",
"msql_result",
"msql_select_db",
"msql_selectdb",
"msql_tablename",
"mssql_bind",
"mssql_close",
"mssql_connect",
"mssql_data_seek",
"mssql_execute",
"mssql_fetch_array",
"mssql_fetch_assoc",
"mssql_fetch_batch",
"mssql_fetch_field",
"mssql_fetch_object",
"mssql_fetch_row",
"mssql_field_length",
"mssql_field_name",
"mssql_field_seek",
"mssql_field_type",
"mssql_free_result",
"mssql_free_statement",
"mssql_get_last_message",
"mssql_guid_string",
"mssql_init",
"mssql_min_error_severity",
"mssql_min_message_severity",
"mssql_next_result",
"mssql_num_fields",
"mssql_num_rows",
"mssql_pconnect",
"mssql_query",
"mssql_result",
"mssql_rows_affected",
"mssql_select_db",
"mt_getrandmax",
"mt_rand",
"mt_srand",
"multColor",
"muscat_close",
"muscat_get",
"muscat_give",
"muscat_setup",
"muscat_setup_net",
"mysql_affected_rows",
"mysql_change_user",
"mysql_client_encoding",
"mysql_close",
"mysql_connect",
"mysql_create_db",
"mysql_data_seek",
"mysql_db_name",
"mysql_db_query",
"mysql_drop_db",
"mysql_errno",
"mysql_error",
"mysql_escape_string",
"mysql_fetch_array",
"mysql_fetch_assoc",
"mysql_fetch_field",
"mysql_fetch_lengths",
"mysql_fetch_object",
"mysql_fetch_row",
"mysql_field_flags",
"mysql_field_len",
"mysql_field_name",
"mysql_field_seek",
"mysql_field_table",
"mysql_field_type",
"mysql_free_result",
"mysql_get_client_info",
"mysql_get_host_info",
"mysql_get_proto_info",
"mysql_get_server_info",
"mysql_info",
"mysql_insert_id",
"mysql_list_dbs",
"mysql_list_fields",
"mysql_list_processes",
"mysql_list_tables",
"mysql_num_fields",
"mysql_num_rows",
"mysql_pconnect",
"mysql_ping",
"mysql_query",
"mysql_real_escape_string",
"mysql_result",
"mysql_select_db",
"mysql_stat",
"mysql_tablename",
"mysql_thread_id",
"mysql_unbuffered_query",
"name",
"natcasesort",
"natsort",
"ncurses_addch",
"ncurses_addchnstr",
"ncurses_addchstr",
"ncurses_addnstr",
"ncurses_addstr",
"ncurses_assume_default_colors",
"ncurses_attroff",
"ncurses_attron",
"ncurses_attrset",
"ncurses_baudrate",
"ncurses_beep",
"ncurses_bkgd",
"ncurses_bkgdset",
"ncurses_border",
"ncurses_can_change_color",
"ncurses_cbreak",
"ncurses_clear",
"ncurses_clrtobot",
"ncurses_clrtoeol",
"ncurses_color_set",
"ncurses_curs_set",
"ncurses_define_key",
"ncurses_def_prog_mode",
"ncurses_def_shell_mode",
"ncurses_delay_output",
"ncurses_delch",
"ncurses_deleteln",
"ncurses_delwin",
"ncurses_doupdate",
"ncurses_echo",
"ncurses_echochar",
"ncurses_end",
"ncurses_erase",
"ncurses_erasechar",
"ncurses_filter",
"ncurses_flash",
"ncurses_flushinp",
"ncurses_getch",
"ncurses_getmouse",
"ncurses_halfdelay",
"ncurses_has_colors",
"ncurses_has_ic",
"ncurses_has_il",
"ncurses_has_key",
"ncurses_hline",
"ncurses_inch",
"ncurses_init",
"ncurses_init_color",
"ncurses_init_pair",
"ncurses_insch",
"ncurses_insdelln",
"ncurses_insertln",
"ncurses_insstr",
"ncurses_instr",
"ncurses_isendwin",
"ncurses_keyok",
"ncurses_killchar",
"ncurses_longname",
"ncurses_mouseinterval",
"ncurses_mousemask",
"ncurses_move",
"ncurses_mvaddch",
"ncurses_mvaddchnstr",
"ncurses_mvaddchstr",
"ncurses_mvaddnstr",
"ncurses_mvaddstr",
"ncurses_mvcur",
"ncurses_mvdelch",
"ncurses_mvgetch",
"ncurses_mvhline",
"ncurses_mvinch",
"ncurses_mvvline",
"ncurses_mvwaddstr",
"ncurses_napms",
"ncurses_newwin",
"ncurses_nl",
"ncurses_nocbreak",
"ncurses_noecho",
"ncurses_nonl",
"ncurses_noqiflush",
"ncurses_noraw",
"ncurses_putp",
"ncurses_qiflush",
"ncurses_raw",
"ncurses_refresh",
"ncurses_resetty",
"ncurses_savetty",
"ncurses_scr_dump",
"ncurses_scr_init",
"ncurses_scrl",
"ncurses_scr_restore",
"ncurses_scr_set",
"ncurses_slk_attr",
"ncurses_slk_attroff",
"ncurses_slk_attron",
"ncurses_slk_attrset",
"ncurses_slk_clear",
"ncurses_slk_color",
"ncurses_slk_init",
"ncurses_slk_noutrefresh",
"ncurses_slk_refresh",
"ncurses_slk_restore",
"ncurses_slk_touch",
"ncurses_standend",
"ncurses_standout",
"ncurses_start_color",
"ncurses_termattrs",
"ncurses_termname",
"ncurses_timeout",
"ncurses_typeahead",
"ncurses_ungetch",
"ncurses_ungetmouse",
"ncurses_use_default_colors",
"ncurses_use_env",
"ncurses_use_extended_names",
"ncurses_vidattr",
"ncurses_vline",
"ncurses_wrefresh",
"new",
"next",
"nextframe",
"next_sibling",
"ngettext",
"nl2br",
"nl_langinfo",
"node_name",
"node_type",
"node_value",
"notations",
"notes_body",
"notes_copy_db",
"notes_create_db",
"notes_create_note",
"notes_drop_db",
"notes_find_note",
"notes_header_info",
"notes_list_msgs",
"notes_mark_read",
"notes_mark_unread",
"notes_nav_create",
"notes_search",
"notes_unread",
"notes_version",
"NULL",
"number_format",
"ob_clean",
"ob_end_clean",
"ob_end_flush",
"ob_flush",
"ob_get_contents",
"ob_get_length",
"ob_get_level",
"ob_get_status",
"ob_gzhandler",
"ob_iconv_handler",
"ob_implicit_flush",
"object",
"objectbyanchor",
"ob_start",
"ocibindbyname",
"ocicancel",
"OCICollAppend",
"ocicollassign",
"ocicollassignelem",
"ocicollgetelem",
"ocicollmax",
"ocicollsize",
"ocicolltrim",
"ocicolumnisnull",
"ocicolumnname",
"ocicolumnprecision",
"ocicolumnscale",
"ocicolumnsize",
"ocicolumntype",
"ocicolumntyperaw",
"ocicommit",
"ocidefinebyname",
"ocierror",
"ociexecute",
"ocifetch",
"ocifetchinto",
"ocifetchstatement",
"ocifreecollection",
"ocifreecursor",
"OCIFreeDesc",
"ocifreestatement",
"ociinternaldebug",
"ociloadlob",
"ocilogoff",
"ocilogon",
"ocinewcollection",
"ocinewcursor",
"ocinewdescriptor",
"ocinlogon",
"ocinumcols",
"ociparse",
"ociplogon",
"ociresult",
"ocirollback",
"ocirowcount",
"ocisavelob",
"ocisavelobfile",
"ociserverversion",
"ocisetprefetch",
"ocistatementtype",
"ociwritelobtofile",
"octdec",
"odbc_autocommit",
"odbc_binmode",
"odbc_close",
"odbc_close_all",
"odbc_columnprivileges",
"odbc_columns",
"odbc_commit",
"odbc_connect",
"odbc_cursor",
"odbc_data_source",
"odbc_do",
"odbc_error",
"odbc_errormsg",
"odbc_exec",
"odbc_execute",
"odbc_fetch_array",
"odbc_fetch_into",
"odbc_fetch_object",
"odbc_fetch_row",
"odbc_field_len",
"odbc_field_name",
"odbc_field_num",
"odbc_field_precision",
"odbc_field_scale",
"odbc_field_type",
"odbc_foreignkeys",
"odbc_free_result",
"odbc_gettypeinfo",
"odbc_longreadlen",
"odbc_next_result",
"odbc_num_fields",
"odbc_num_rows",
"odbc_pconnect",
"odbc_prepare",
"odbc_primarykeys",
"odbc_procedurecolumns",
"odbc_procedures",
"odbc_result",
"odbc_result_all",
"odbc_rollback",
"odbc_setoption",
"odbc_specialcolumns",
"odbc_statistics",
"odbc_tableprivileges",
"odbc_tables",
"opendir",
"openlog",
"openssl_csr_export",
"openssl_csr_export_to_file",
"openssl_csr_new",
"openssl_csr_sign",
"openssl_error_string",
"openssl_free_key",
"openssl_get_privatekey",
"openssl_get_publickey",
"openssl_open",
"openssl_pkcs7_decrypt",
"openssl_pkcs7_encrypt",
"openssl_pkcs7_sign",
"openssl_pkcs7_verify",
"openssl_pkey_export",
"openssl_pkey_export_to_file",
"openssl_pkey_get_private",
"openssl_pkey_get_public",
"openssl_pkey_new",
"openssl_private_decrypt",
"openssl_private_encrypt",
"openssl_public_decrypt",
"openssl_public_encrypt",
"openssl_seal",
"openssl_sign",
"openssl_verify",
"openssl_x509_check_private_key",
"openssl_x509_checkpurpose",
"openssl_x509_export",
"openssl_x509_export_to_file",
"openssl_x509_free",
"openssl_x509_parse",
"openssl_x509_read",
"ora_bind",
"ora_close",
"ora_columnname",
"ora_columnsize",
"ora_columntype",
"ora_commit",
"ora_commitoff",
"ora_commiton",
"ora_do",
"ora_error",
"ora_errorcode",
"ora_exec",
"ora_fetch",
"ora_fetch_into",
"ora_getcolumn",
"ora_logoff",
"ora_logon",
"ora_numcols",
"ora_numrows",
"ora_open",
"ora_parse",
"ora_plogon",
"ora_rollback",
"ord",
"output",
"overload",
"ovrimos_close",
"ovrimos_commit",
"ovrimos_connect",
"ovrimos_cursor",
"ovrimos_exec",
"ovrimos_execute",
"ovrimos_fetch_into",
"ovrimos_fetch_row",
"ovrimos_field_len",
"ovrimos_field_name",
"ovrimos_field_num",
"ovrimos_field_type",
"ovrimos_free_result",
"ovrimos_longreadlen",
"ovrimos_num_fields",
"ovrimos_num_rows",
"ovrimos_prepare",
"ovrimos_result",
"ovrimos_result_all",
"ovrimos_rollback",
"owner_document",
"pack",
"parent_node",
"parents",
"parse_ini_file",
"parse_str",
"parse_url",
"passthru",
"pathinfo",
"PATH_TRANSLATED",
"pclose",
"pcntl_exec",
"pcntl_fork",
"pcntl_signal",
"pcntl_waitpid",
"pcntl_wexitstatus",
"pcntl_wifexited",
"pcntl_wifsignaled",
"pcntl_wifstopped",
"pcntl_wstopsig",
"pcntl_wtermsig",
"pdf_add_annotation",
"pdf_add_bookmark",
"pdf_add_launchlink",
"pdf_add_locallink",
"pdf_add_note",
"pdf_add_outline",
"pdf_add_pdflink",
"pdf_add_thumbnail",
"pdf_add_weblink",
"pdf_arc",
"pdf_arcn",
"pdf_attach_file",
"pdf_begin_page",
"pdf_begin_pattern",
"pdf_begin_template",
"pdf_circle",
"pdf_clip",
"pdf_close",
"pdf_close_image",
"pdf_closepath",
"pdf_closepath_fill_stroke",
"pdf_closepath_stroke",
"pdf_close_pdi",
"pdf_close_pdi_page",
"pdf_concat",
"pdf_continue_text",
"pdf_curveto",
"pdf_delete",
"pdf_end_page",
"pdf_endpath",
"pdf_end_pattern",
"pdf_end_template",
"pdf_fill",
"pdf_fill_stroke",
"pdf_findfont",
"pdf_get_buffer",
"pdf_get_font",
"pdf_get_fontname",
"pdf_get_fontsize",
"pdf_get_image_height",
"pdf_get_image_width",
"pdf_get_majorversion",
"pdf_get_minorversion",
"pdf_get_parameter",
"pdf_get_pdi_parameter",
"pdf_get_pdi_value",
"pdf_get_value",
"pdf_initgraphics",
"pdf_lineto",
"pdf_makespotcolor",
"pdf_moveto",
"pdf_new",
"pdf_open",
"pdf_open_CCITT",
"pdf_open_file",
"pdf_open_gif",
"pdf_open_image",
"pdf_open_image_file",
"pdf_open_jpeg",
"pdf_open_memory_image",
"pdf_open_pdi",
"pdf_open_pdi_page",
"pdf_open_png",
"pdf_open_tiff",
"pdf_place_image",
"pdf_place_pdi_page",
"pdf_rect",
"pdf_restore",
"pdf_rotate",
"pdf_save",
"pdf_scale",
"pdf_set_border_color",
"pdf_set_border_dash",
"pdf_set_border_style",
"pdf_set_char_spacing",
"pdf_setcolor",
"pdf_setdash",
"pdf_set_duration",
"pdf_setflat",
"pdf_set_font",
"pdf_setfont",
"pdf_setgray",
"pdf_setgray_fill",
"pdf_setgray_stroke",
"pdf_set_horiz_scaling",
"pdf_set_info",
"pdf_set_info_author",
"pdf_set_info_creator",
"pdf_set_info_keywords",
"pdf_set_info_subject",
"pdf_set_info_title",
"pdf_set_leading",
"pdf_setlinecap",
"pdf_setlinejoin",
"pdf_setlinewidth",
"pdf_setmatrix",
"pdf_setmiterlimit",
"pdf_set_parameter",
"pdf_setpolydash",
"pdf_setrgbcolor",
"pdf_setrgbcolor_fill",
"pdf_setrgbcolor_stroke",
"pdf_set_text_matrix",
"pdf_set_text_pos",
"pdf_set_text_rendering",
"pdf_set_text_rise",
"pdf_set_value",
"pdf_set_word_spacing",
"pdf_show",
"pdf_show_boxed",
"pdf_show_xy",
"pdf_skew",
"pdf_stringwidth",
"pdf_stroke",
"pdf_translate",
"PEAR_EXTENSION_DIR",
"PEAR_INSTALL_DIR",
"pfpro_cleanup",
"pfpro_init",
"pfpro_process",
"pfpro_process_raw",
"pfpro_version",
"pfsockopen",
"pg_affected_rows",
"pg_cancel_query",
"pg_client_encoding",
"pg_close",
"pg_connect",
"pg_connection_busy",
"pg_connection_reset",
"pg_connection_status",
"pg_convert",
"pg_copy_from",
"pg_copy_to",
"pg_dbname",
"pg_delete",
"pg_end_copy",
"pg_escape_bytea",
"pg_escape_string",
"pg_fetch_all",
"pg_fetch_array",
"pg_fetch_assoc",
"pg_fetch_object",
"pg_fetch_result",
"pg_fetch_row",
"pg_field_is_null",
"pg_field_name",
"pg_field_num",
"pg_field_prtlen",
"pg_field_size",
"pg_field_type",
"pg_free_result",
"pg_get_notify",
"pg_get_pid",
"pg_get_result",
"pg_host",
"pg_insert",
"pg_last_error",
"pg_last_notice",
"pg_last_oid",
"pg_lo_close",
"pg_lo_create",
"pg_lo_export",
"pg_lo_import",
"pg_lo_open",
"pg_lo_read",
"pg_lo_read_all",
"pg_lo_seek",
"pg_lo_tell",
"pg_lo_unlink",
"pg_lo_write",
"pg_meta_data",
"pg_num_fields",
"pg_num_rows",
"pg_options",
"pg_pconnect",
"pg_ping",
"pg_port",
"pg_put_line",
"pg_query",
"pg_result_error",
"pg_result_seek",
"pg_result_status",
"pg_select",
"pg_send_query",
"pg_set_client_encoding",
"pg_trace",
"pg_tty",
"pg_unescape_bytea",
"pg_untrace",
"pg_update",
"PHP_BINDIR",
"PHP_CONFIG_FILE_PATH",
"phpcredits",
"PHP_DATADIR",
"PHP_ERRMSG",
"PHP_EXTENSION_DIR",
"phpinfo",
"php_ini_scanned_files",
"PHP_LIBDIR",
"PHP_LOCALSTATEDIR",
"php_logo_guid",
"PHP_OS",
"PHP_OUTPUT_HANDLER_CONT",
"PHP_OUTPUT_HANDLER_END",
"PHP_OUTPUT_HANDLER_START",
"php_sapi_name",
"PHP_SELF",
"PHP_SYSCONFDIR",
"php_uname",
"phpversion",
"PHP_VERSION",
"pi",
"png2wbmp",
"popen",
"pos",
"posix_ctermid",
"posix_getcwd",
"posix_getegid",
"posix_geteuid",
"posix_getgid",
"posix_getgrgid",
"posix_getgrnam",
"posix_getgroups",
"posix_getlogin",
"posix_getpgid",
"posix_getpgrp",
"posix_getpid",
"posix_getppid",
"posix_getpwnam",
"posix_getpwuid",
"posix_getrlimit",
"posix_getsid",
"posix_getuid",
"posix_isatty",
"posix_kill",
"posix_mkfifo",
"posix_setegid",
"posix_seteuid",
"posix_setgid",
"posix_setpgid",
"posix_setsid",
"posix_setuid",
"posix_times",
"posix_ttyname",
"posix_uname",
"_POST",
"pow",
"prefix",
"preg_grep",
"preg_match",
"preg_match_all",
"preg_quote",
"preg_replace",
"preg_replace_callback",
"preg_split",
"prev",
"previous_sibling",
"print",
"printer_abort",
"printer_close",
"printer_create_brush",
"printer_create_dc",
"printer_create_font",
"printer_create_pen",
"printer_delete_brush",
"printer_delete_dc",
"printer_delete_font",
"printer_delete_pen",
"printer_draw_bmp",
"printer_draw_chord",
"printer_draw_elipse",
"printer_draw_line",
"printer_draw_pie",
"printer_draw_rectangle",
"printer_draw_roundrect",
"printer_draw_text",
"printer_end_doc",
"printer_end_page",
"printer_get_option",
"printer_list",
"printer_logical_fontheight",
"printer_open",
"printer_select_brush",
"printer_select_font",
"printer_select_pen",
"printer_set_option",
"printer_start_doc",
"printer_start_page",
"printer_write",
"printf",
"print_r",
"private",
"proc_close",
"process",
"proc_open",
"protected",
"pspell_add_to_personal",
"pspell_add_to_session",
"pspell_check",
"pspell_clear_session",
"pspell_config_create",
"pspell_config_ignore",
"pspell_config_mode",
"pspell_config_personal",
"pspell_config_repl",
"pspell_config_runtogether",
"pspell_config_save_repl",
"pspell_new",
"pspell_new_config",
"pspell_new_personal",
"pspell_save_wordlist",
"pspell_store_replacement",
"pspell_suggest",
"public",
"public_id",
"putenv",
"qdom_error",
"qdom_tree",
"QUERY_STRING",
"quoted_printable_decode",
"quotemeta",
"rad2deg",
"rand",
"range",
"rawurldecode",
"rawurlencode",
"read",
"readdir",
"read_exif_data",
"readfile",
"readgzfile",
"readline",
"readline_add_history",
"readline_clear_history",
"readline_completion_function",
"readline_info",
"readline_list_history",
"readline_read_history",
"readline_write_history",
"readlink",
"realpath",
"reason",
"recode",
"recode_file",
"recode_string",
"register_shutdown_function",
"register_tick_function",
"REMOTE_ADDR",
"REMOTE_PORT",
"remove",
"remove_attribute",
"remove_child",
"rename",
"replace",
"replace_child",
"replace_node",
"_REQUEST",
"REQUEST_METHOD",
"REQUEST_URI",
"require",
"require_once",
"reset",
"restore_error_handler",
"restore_include_path",
"result_dump_file",
"result_dump_mem",
"return",
"rewind",
"rewinddir",
"rmdir",
"Rotate",
"rotateTo",
"round",
"rsort",
"rtrim",
"save",
"scale",
"scaleTo",
"SCRIPT_FILENAME",
"SCRIPT_NAME",
"sem_acquire",
"sem_get",
"sem_release",
"sem_remove",
"serialize",
"_SERVER",
"SERVER_ADMIN",
"SERVER_NAME",
"SERVER_PORT",
"SERVER_PROTOCOL",
"SERVER_SIGNATURE",
"SERVER_SOFTWARE",
"sesam_affected_rows",
"sesam_commit",
"sesam_connect",
"sesam_diagnostic",
"sesam_disconnect",
"sesam_errormsg",
"sesam_execimm",
"sesam_fetch_array",
"sesam_fetch_result",
"sesam_fetch_row",
"sesam_field_array",
"sesam_field_name",
"sesam_free_result",
"sesam_num_fields",
"sesam_query",
"sesam_rollback",
"sesam_seek_row",
"sesam_settransaction",
"_SESSION",
"session_cache_expire",
"session_cache_limiter",
"session_decode",
"session_destroy",
"session_encode",
"session_get_cookie_params",
"session_id",
"session_is_registered",
"session_module_name",
"session_name",
"session_readonly",
"session_register",
"session_save_path",
"session_set_cookie_params",
"session_set_save_handler",
"session_start",
"session_unregister",
"session_unset",
"session_write_close",
"setAction",
"set_attribute",
"setbackground",
"setbounds",
"setcolor",
"setColor",
"setcommitedversion",
"set_content",
"setcookie",
"setDepth",
"setdimension",
"setdown",
"set_error_handler",
"set_file_buffer",
"setFont",
"setframes",
"setHeight",
"setHit",
"set_include_path",
"setindentation",
"setLeftFill",
"setLeftMargin",
"setLine",
"setLineSpacing",
"setlocale",
"set_magic_quotes_runtime",
"setMargins",
"set_name",
"setname",
"setName",
"set_namespace",
"setOver",
"setrate",
"setRatio",
"setRightFill",
"setrightMargin",
"setSpacing",
"set_time_limit",
"settype",
"setUp",
"sha1",
"sha1_file",
"shell_exec",
"shm_attach",
"shm_detach",
"shm_get_var",
"shmop_close",
"shmop_delete",
"shmop_open",
"shmop_read",
"shmop_size",
"shmop_write",
"shm_put_var",
"shm_remove",
"shm_remove_var",
"show_source",
"shuffle",
"similar_text",
"sin",
"sinh",
"sizeof",
"skewX",
"skewXTo",
"skewY",
"skewYTo",
"sleep",
"snmpget",
"snmp_get_quick_print",
"snmprealwalk",
"snmpset",
"snmp_set_quick_print",
"snmpwalk",
"snmpwalkoid",
"socket_accept",
"socket_bind",
"socket_clear_error",
"socket_close",
"socket_connect",
"socket_create",
"socket_create_listen",
"socket_create_pair",
"socket_get_option",
"socket_getpeername",
"socket_getsockname",
"socket_get_status",
"socket_iovec_add",
"socket_iovec_alloc",
"socket_iovec_delete",
"socket_iovec_fetch",
"socket_iovec_free",
"socket_iovec_set",
"socket_last_error",
"socket_listen",
"socket_read",
"socket_readv",
"socket_recv",
"socket_recvfrom",
"socket_recvmsg",
"socket_select",
"socket_send",
"socket_sendmsg",
"socket_sendto",
"socket_set_blocking",
"socket_set_nonblock",
"socket_set_option",
"socket_set_timeout",
"socket_shutdown",
"socket_strerror",
"socket_write",
"socket_writev",
"sort",
"soundex",
"specified",
"split",
"spliti",
"sprintf",
"sql_regcase",
"sqrt",
"srand",
"srcanchors",
"srcsofdst",
"sscanf",
"stat",
"static",
"stdClass",
"strcasecmp",
"strchr",
"strcmp",
"strcoll",
"strcspn",
"stream_context_create",
"stream_context_get_options",
"stream_context_set_option",
"stream_context_set_params",
"stream_filter_append",
"stream_filter_prepend",
"stream_get_filters",
"stream_get_meta_data",
"stream_get_wrappers",
"streammp3",
"stream_register_filter",
"stream_register_wrapper",
"stream_select",
"stream_set_blocking",
"stream_set_timeout",
"stream_set_write_buffer",
"strftime",
"stripcslashes",
"stripslashes",
"strip_tags",
"stristr",
"strlen",
"strnatcasecmp",
"strnatcmp",
"strncasecmp",
"strncmp",
"str_pad",
"strpos",
"strrchr",
"str_repeat",
"str_replace",
"strrev",
"str_rot13",
"strrpos",
"str_shuffle",
"strspn",
"strstr",
"strtok",
"strtolower",
"strtotime",
"strtoupper",
"strtr",
"strval",
"str_word_count",
"substr",
"substr_count",
"substr_replace",
"SWFAction",
"swf_actiongeturl",
"swf_actiongotoframe",
"swf_actiongotolabel",
"swf_actionnextframe",
"swf_actionplay",
"swf_actionprevframe",
"swf_actionsettarget",
"swf_actionstop",
"swf_actiontogglequality",
"swf_actionwaitforframe",
"swf_addbuttonrecord",
"swf_addcolor",
"SWFBitmap",
"SWFbutton",
"swfbutton_keypress",
"swf_closefile",
"swf_definebitmap",
"swf_definefont",
"swf_defineline",
"swf_definepoly",
"swf_definerect",
"swf_definetext",
"SWFDisplayItem",
"swf_endbutton",
"swf_enddoaction",
"swf_endshape",
"swf_endsymbol",
"SWFFill",
"SWFFont",
"swf_fontsize",
"swf_fontslant",
"swf_fonttracking",
"swf_getbitmapinfo",
"swf_getfontinfo",
"swf_getframe",
"SWFGradient",
"swf_labelframe",
"swf_lookat",
"swf_modifyobject",
"SWFMorph",
"SWFMovie",
"swf_mulcolor",
"swf_nextid",
"swf_oncondition",
"swf_openfile",
"swf_ortho",
"swf_ortho2",
"swf_perspective",
"swf_placeobject",
"swf_polarview",
"swf_popmatrix",
"swf_posround",
"swf_pushmatrix",
"swf_removeobject",
"swf_rotate",
"swf_scale",
"swf_setfont",
"swf_setframe",
"SWFShape",
"swf_shapearc",
"swf_shapecurveto",
"swf_shapecurveto3",
"swf_shapefillbitmapclip",
"swf_shapefillbitmaptile",
"swf_shapefilloff",
"swf_shapefillsolid",
"swf_shapelinesolid",
"swf_shapelineto",
"swf_shapemoveto",
"swf_showframe",
"SWFSprite",
"swf_startbutton",
"swf_startdoaction",
"swf_startshape",
"swf_startsymbol",
"SWFText",
"SWFTextField",
"swf_textwidth",
"swf_translate",
"swf_viewport",
"switch",
"sybase_affected_rows",
"sybase_close",
"sybase_connect",
"sybase_data_seek",
"sybase_fetch_array",
"sybase_fetch_field",
"sybase_fetch_object",
"sybase_fetch_row",
"sybase_field_seek",
"sybase_free_result",
"sybase_get_last_message",
"sybase_min_client_severity",
"sybase_min_error_severity",
"sybase_min_message_severity",
"sybase_min_server_severity",
"sybase_num_fields",
"sybase_num_rows",
"sybase_pconnect",
"sybase_query",
"sybase_result",
"sybase_select_db",
"symlink",
"syslog",
"system",
"system_id",
"tagname",
"tan",
"tanh",
"target",
"tempnam",
"textdomain",
"time",
"title",
"tmpfile",
"token_get_all",
"token_name",
"touch",
"trigger_error",
"trim",
"TRUE",
"type",
"uasort",
"ucfirst",
"ucwords",
"udm_add_search_limit",
"udm_alloc_agent",
"udm_api_version",
"udm_cat_list",
"udm_cat_path",
"udm_check_charset",
"udm_check_stored",
"udm_clear_search_limits",
"udm_close_stored",
"udm_crc32",
"udm_errno",
"udm_error",
"udm_find",
"udm_free_agent",
"udm_free_ispell_data",
"udm_free_res",
"udm_get_doc_count",
"udm_get_res_field",
"udm_get_res_param",
"udm_load_ispell_data",
"udm_open_stored",
"udm_set_agent_param",
"uksort",
"umask",
"uniqid",
"unixtojd",
"unlink",
"unlink_node",
"unlock",
"unpack",
"unregister_tick_function",
"unserialize",
"unset",
"urldecode",
"urlencode",
"user",
"user_error",
"userlist",
"usleep",
"usort",
"utf8_decode",
"utf8_encode",
"value",
"values",
"var",
"var_dump",
"var_export",
"version_compare",
"virtual",
"vpopmail_add_alias_domain",
"vpopmail_add_alias_domain_ex",
"vpopmail_add_domain",
"vpopmail_add_domain_ex",
"vpopmail_add_user",
"vpopmail_alias_add",
"vpopmail_alias_del",
"vpopmail_alias_del_domain",
"vpopmail_alias_get",
"vpopmail_alias_get_all",
"vpopmail_auth_user",
"vpopmail_del_domain",
"vpopmail_del_domain_ex",
"vpopmail_del_user",
"vpopmail_error",
"vpopmail_passwd",
"vpopmail_set_user_quota",
"vprintf",
"vsprintf",
"w32api_deftype",
"w32api_init_dtype",
"w32api_invoke_function",
"w32api_register_function",
"w32api_set_call_method",
"wddx_add_vars",
"wddx_deserialize",
"wddx_packet_end",
"wddx_packet_start",
"wddx_serialize_value",
"wddx_serialize_vars",
"while",
"wordwrap",
"xinclude",
"xml_error_string",
"xml_get_current_byte_index",
"xml_get_current_column_number",
"xml_get_current_line_number",
"xml_get_error_code",
"xml_parse",
"xml_parse_into_struct",
"xml_parser_create",
"xml_parser_create_ns",
"xml_parser_free",
"xml_parser_get_option",
"xml_parser_set_option",
"xmlrpc_decode",
"xmlrpc_decode_request",
"xmlrpc_encode",
"xmlrpc_encode_request",
"xmlrpc_get_type",
"xmlrpc_parse_method_descriptions",
"xmlrpc_server_add_introspection_data",
"xmlrpc_server_call_method",
"xmlrpc_server_create",
"xmlrpc_server_destroy",
"xmlrpc_server_register_introspection_callback",
"xmlrpc_server_register_method",
"xmlrpc_set_type",
"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",
"xpath_eval",
"xpath_eval_expression",
"xpath_new_context",
"xptr_eval",
"xptr_new_context",
"xslt_create",
"xslt_errno",
"xslt_error",
"xslt_free",
"xslt_output_process",
"xslt_set_base",
"xslt_set_encoding",
"xslt_set_error_handler",
"xslt_set_log",
"xslt_set_sax_handler",
"xslt_set_sax_handlers",
"xslt_set_scheme_handler",
"xslt_set_scheme_handlers",
"yaz_addinfo",
"yaz_ccl_conf",
"yaz_ccl_parse",
"yaz_close",
"yaz_connect",
"yaz_database",
"yaz_element",
"yaz_errno",
"yaz_error",
"yaz_get_option",
"yaz_hits",
"yaz_itemorder",
"yaz_present",
"yaz_range",
"yaz_record",
"yaz_scan",
"yaz_scan_result",
"yaz_schema",
"yaz_search",
"yaz_set_option",
"yaz_sort",
"yaz_syntax",
"yaz_wait",
"yp_all",
"yp_cat",
"yp_errno",
"yp_err_string",
"yp_first",
"yp_get_default_domain",
"yp_master",
"yp_match",
"yp_next",
"yp_order",
"zend_logo_guid",
"zend_version",
"zend_version",
"zip_close",
"zip_entry_close",
"zip_entry_compressedsize",
"zip_entry_compressionmethod",
"zip_entry_filesize",
"zip_entry_name",
"zip_entry_open",
"zip_entry_read",
"zip_open",
"zip_read",
0
};
Php5Writer::Php5Writer() {
}
Php5Writer::~Php5Writer() {}
void Php5Writer::writeClass(UMLClassifier *c) {
if(!c) {
kDebug()<<"Cannot write class of NULL concept!" << endl;
return;
}
TQString classname = cleanName(c->getName());
//find an appropriate name for our file
TQString fileName = findFileName(c, ".php");
if (fileName.isEmpty()) {
emit codeGenerated(c, false);
return;
}
TQFile filephp;
if(!openFile(filephp, fileName)) {
emit codeGenerated(c, false);
return;
}
TQTextStream php(&filephp);
//////////////////////////////
//Start generating the code!!
/////////////////////////////
//try to find a heading file (license, coments, etc)
TQString str;
str = getHeadingFile(".php");
if(!str.isEmpty()) {
str.replace(TQRegExp("%filename%"),fileName);
str.replace(TQRegExp("%filepath%"),filephp.name());
php<<str<<m_endl;
}
//write includes
UMLPackageList includes;
findObjectsRelated(c,includes);
UMLPackage *conc;
for(conc = includes.first(); conc ;conc = includes.next()) {
TQString headerName = findFileName(conc, ".php");
if (!headerName.isEmpty()) {
php << "require_once '" << headerName << "';" << m_endl;
}
}
php << m_endl;
//Write class Documentation if there is somthing or if force option
if(forceDoc() || !c->getDoc().isEmpty()) {
php << m_endl << "/**" << m_endl;
php << " * class " << classname << m_endl;
php << formatDoc(c->getDoc()," * ");
php << " */" << m_endl ;
}
UMLClassifierList superclasses = c->getSuperClasses();
UMLAssociationList aggregations = c->getAggregations();
UMLAssociationList compositions = c->getCompositions();
UMLAssociationList realizations = c->getRealizations();
UMLAssociation *a;
bool isInterface = c->isInterface();
//check if it is an interface or regular class
if(isInterface) {
php << "interface " << classname;
} else {
//check if class is abstract and / or has abstract methods
if(c->getAbstract())
php << "abstract ";
php << "class " << classname << (superclasses.count() > 0 ? " extends ":"");
if(superclasses.count() > 0) {
//php5 does not support multiple inheritance so only use the first one and print a warning if more are used
UMLClassifier *obj = superclasses.first();
php << cleanName(obj->getName());
if(superclasses.count() > 1)
php << m_indentation << "//WARNING: PHP5 does not support multiple inheritance but there is more than 1 superclass defined in your UML model!";
}
//check for realizations
if( !realizations.isEmpty()) {
int rc = realizations.count();
int ri = rc;
for (a = realizations.first(); a; a = realizations.next()) {
UMLObject *o = a->getObject(Uml::B);
TQString typeName = cleanName(o->getName());
if(ri == rc)
php << m_endl << m_indentation << m_indentation << m_indentation << "implements ";
php << typeName << (--rc == 0 ? "" : ", ");
}
}
}
php << m_endl << '{' << m_endl;
//associations
if( forceSections() || !aggregations.isEmpty()) {
php<< m_endl << m_indentation << "/** Aggregations: */" << m_endl;
for (a = aggregations.first(); a; a = aggregations.next()) {
php<< m_endl;
//maybe we should parse the string here and take multiplicity into account to decide
//which container to use.
UMLObject *o = a->getObject(Uml::A);
if (o == NULL) {
kError() << "aggregation role A object is NULL" << endl;
continue;
}
TQString typeName = cleanName(o->getName());
if (a->getMulti(Uml::A).isEmpty()) {
php << m_indentation << "var $m_" << ';' << m_endl;
} else {
php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
}
}//end for
}
if( forceSections() || !compositions.isEmpty()) {
php<< m_endl << m_indentation << "/** Compositions: */" << m_endl;
for (a = compositions.first(); a ; a = compositions.next()) {
// see comment on Aggregation about multiplicity...
UMLObject *o = a->getObject(Uml::A);
if (o == NULL) {
kError() << "composition role A object is NULL" << endl;
continue;
}
TQString typeName = cleanName(o->getName());
if (a->getMulti(Uml::A).isEmpty()) {
php << m_indentation << "var $m_" << ';' << m_endl;
} else {
php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
}
}
}
//attributes
if (!isInterface)
writeAttributes(c, php);
//operations
writeOperations(c,php);
php << m_endl;
//finish file
php << m_endl << "} // end of " << classname << m_endl;
php << "?>" << m_endl;
//close files and notfiy we are done
filephp.close();
emit codeGenerated(c, true);
}
////////////////////////////////////////////////////////////////////////////////////
// Helper Methods
void Php5Writer::writeOperations(UMLClassifier *c, TQTextStream &php) {
//Lists to store operations sorted by scope
UMLOperationList oppub,opprot,oppriv;
bool isInterface = c->isInterface();
bool generateErrorStub = false;
oppub.setAutoDelete(false);
opprot.setAutoDelete(false);
oppriv.setAutoDelete(false);
//sort operations by scope first and see if there are abstract methods
UMLOperationList opl(c->getOpList());
for(UMLOperation *op = opl.first(); op ; op = opl.next()) {
switch(op->getVisibility()) {
case Uml::Visibility::Public:
oppub.append(op);
break;
case Uml::Visibility::Protected:
opprot.append(op);
break;
case Uml::Visibility::Private:
oppriv.append(op);
break;
default:
break;
}
}
TQString classname(cleanName(c->getName()));
//write operations to file
if(forceSections() || !oppub.isEmpty()) {
php << m_endl;
writeOperations(classname,oppub,php,isInterface,generateErrorStub);
}
if(forceSections() || !opprot.isEmpty()) {
php << m_endl;
writeOperations(classname,opprot,php,isInterface,generateErrorStub);
}
if(forceSections() || !oppriv.isEmpty()) {
php << m_endl;
writeOperations(classname,oppriv,php,isInterface,generateErrorStub);
}
// build an oplist for all of the realized operations
UMLOperationList opreal;
opreal.setAutoDelete(false);
// go through each of the realizations, taking each op
UMLAssociationList realizations = c->getRealizations();
UMLAssociation *a;
if( !realizations.isEmpty()) {
for (a = realizations.first(); a; a = realizations.next()) {
// we know its a classifier if its in the list
UMLClassifier *real = (UMLClassifier*)a->getObject(Uml::B);
UMLOperationList opl(real->getOpList());
for(UMLOperation *op = opl.first(); op ; op = opl.next()) {
opreal.append(op);
}
}
}
// write out all the realizations operations
writeOperations(classname,opreal,php,false,true);
}
void Php5Writer::writeOperations(const TQString &/* classname */, UMLOperationList &opList,
TQTextStream &php, bool isInterface /* = false */,
bool generateErrorStub /* = false */) {
for (UMLOperation *op=opList.first(); op ; op=opList.next()) {
UMLAttributeList atl = op->getParmList();
UMLAttribute *at;
//write method doc if we have doc || if at least one of the params has doc
bool writeDoc = forceDoc() || !op->getDoc().isEmpty();
for (at = atl.first(); at; at = atl.next())
writeDoc |= !at->getDoc().isEmpty();
if( writeDoc ) //write method documentation
{
php <<m_indentation << "/**" << m_endl <<formatDoc(op->getDoc(),m_indentation + " * ");
php << m_indentation << " *" << m_endl;
for (at = atl.first(); at; at = atl.next()) //write parameter documentation
{
if(forceDoc() || !at->getDoc().isEmpty()) {
php <<m_indentation << " * @param " + at->getTypeName() + ' ' + cleanName(at->getName());
php << ' ' + formatDoc(at->getDoc(),"") << m_endl;
}
}//end for : write parameter documentation
php << m_indentation << " * @return " << op->getTypeName() << m_endl;
if (op->getAbstract()) php << m_indentation << " * @abstract" << m_endl;
if (op->getStatic()) php << m_indentation << " * @static" << m_endl;
switch(op->getVisibility()) {
case Uml::Visibility::Public:
php << m_indentation << " * @access public" << m_endl;
break;
case Uml::Visibility::Protected:
php << m_indentation << " * @access protected" << m_endl;
break;
case Uml::Visibility::Private:
php << m_indentation << " * @access private" << m_endl;
break;
default:
break;
}
php <<m_indentation << " */" << m_endl;
}//end if : write method documentation
php << m_indentation;
if (op->getAbstract()) php << "abstract ";
switch(op->getVisibility()) {
case Uml::Visibility::Public:
php << "public ";
break;
case Uml::Visibility::Protected:
php << "protected ";
break;
case Uml::Visibility::Private:
php << "private ";
break;
default:
break;
}
if (op->getStatic()) php << "static ";
php << "function " << cleanName(op->getName()) << "(";
int i= atl.count();
int j=0;
for (at = atl.first(); at; at = atl.next(), j++) {
php << " $" << cleanName(at->getName())
<< (!(at->getInitialValue().isEmpty()) ?
(TQString(" = ")+at->getInitialValue()) :
TQString(""))
<< ((j < i-1)?", ":"");
}
php <<" )";
if(!isInterface && !op->getAbstract()) {
php << " {" << m_endl << m_indentation << m_indentation;
if(generateErrorStub) {
php << "trigger_error(\"Implement \" . __FUNCTION__);";
}
php << m_endl << m_indentation << "} // end of member function " + cleanName(op->getName()) + m_endl;
}
else {
php << ';' + m_endl;
}
php << m_endl;
}//end for
}
void Php5Writer::writeAttributes(UMLClassifier *c, TQTextStream &php) {
UMLAttributeList atpub, atprot, atpriv, atdefval;
atpub.setAutoDelete(false);
atprot.setAutoDelete(false);
atpriv.setAutoDelete(false);
atdefval.setAutoDelete(false);
//sort attributes by scope and see if they have a default value
UMLAttributeList atl = c->getAttributeList();
UMLAttribute *at;
for(at = atl.first(); at ; at = atl.next()) {
if(!at->getInitialValue().isEmpty())
atdefval.append(at);
switch(at->getVisibility()) {
case Uml::Visibility::Public:
atpub.append(at);
break;
case Uml::Visibility::Protected:
atprot.append(at);
break;
case Uml::Visibility::Private:
atpriv.append(at);
break;
default:
break;
}
}
if(forceSections() || atl.count())
php<< m_endl << m_indentation << " /*** Attributes: ***/" << m_endl <<m_endl;
if(forceSections() || atpub.count()) {
writeAttributes(atpub,php);
}
if(forceSections() || atprot.count()) {
writeAttributes(atprot,php);
}
if(forceSections() || atpriv.count()) {
writeAttributes(atpriv,php);
}
}
void Php5Writer::writeAttributes(UMLAttributeList &atList, TQTextStream &php) {
for (UMLAttribute *at = atList.first(); at ; at = atList.next()) {
bool isStatic = at->getStatic();
if (forceDoc() || !at->getDoc().isEmpty()) {
php << m_indentation << "/**" << m_endl << formatDoc(at->getDoc(), m_indentation + " * ");
if(isStatic) php << m_indentation << " * @static" << m_endl;
switch(at->getVisibility()) {
case Uml::Visibility::Public:
php << m_indentation << " * @access public" << m_endl;
break;
case Uml::Visibility::Protected:
php << m_indentation << " * @access protected" << m_endl;
break;
case Uml::Visibility::Private:
php << m_indentation << " * @access private" << m_endl;
break;
default:
break;
}
php << m_indentation << " */" << m_endl;
}
php << m_indentation;
switch(at->getVisibility()) {
case Uml::Visibility::Public:
php << "public ";
break;
case Uml::Visibility::Protected:
php << "protected ";
break;
case Uml::Visibility::Private:
php << "private ";
break;
default:
break;
}
if(isStatic) php << "static ";
php << "$" << cleanName(at->getName());
if(!at->getInitialValue().isEmpty())
php << " = " << at->getInitialValue();
php << ";" << m_endl << m_endl;
} // end for
return;
}
/**
* returns "PHP"
*/
Uml::Programming_Language Php5Writer::getLanguage() {
return Uml::pl_PHP5;
}
const TQStringList Php5Writer::reservedKeywords() const {
static TQStringList keywords;
if (keywords.isEmpty()) {
for (int i = 0; php5words[i]; i++)
keywords.append(php5words[i]);
}
return keywords;
}
#include "php5writer.moc"