umbrello API Documentation

php5writer.cpp

00001 /***************************************************************************
00002     begin               : Thu Oct 17 2002
00003     copyright           : (C) 2002 by Heiko Nardmann
00004     email               : h.nardmann@secunet.de
00005       (C) 2003-2006  Umbrello UML Modeller Authors <uml-devel@uml.sf.net>
00006     php5 version by Thorsten Kunz (tk AT bytecrash DOT net)
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                       *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                       *
00016  ***************************************************************************/
00017 
00018 #include "php5writer.h"
00019 
00020 #include <kdebug.h>
00021 #include <qregexp.h>
00022 #include <qtextstream.h>
00023 
00024 #include "../umldoc.h"
00025 #include "../classifier.h"
00026 #include "../association.h"
00027 #include "../attribute.h"
00028 #include "../operation.h"
00029 #include "../umlnamespace.h"
00030 
00031 static const char *php5words[] =
00032     {
00033         "abs",
00034         "abstract",
00035         "acos",
00036         "acosh",
00037         "add",
00038         "addAction",
00039         "addColor",
00040         "addEntry",
00041         "addFill",
00042         "addShape",
00043         "addString",
00044         "add_namespace",
00045         "addcslashes",
00046         "addslashes",
00047         "addstring",
00048         "aggregate",
00049         "aggregate_info",
00050         "aggregate_methods",
00051         "aggregate_methods_by_list",
00052         "aggregate_methods_by_regexp",
00053         "aggregate_properties",
00054         "aggregate_properties_by_list",
00055         "aggregate_properties_by_regexp",
00056         "aggregation_info",
00057         "align",
00058         "apache_child_terminate",
00059         "apache_lookup_uri",
00060         "apache_note",
00061         "apache_request_headers",
00062         "apache_response_headers",
00063         "apache_setenv",
00064         "append_child",
00065         "append_sibling",
00066         "array",
00067         "array_change_key_case",
00068         "array_chunk",
00069         "array_count_values",
00070         "array_diff",
00071         "array_diff_assoc",
00072         "array_fill",
00073         "array_filter",
00074         "array_flip",
00075         "array_intersect",
00076         "array_intersect_assoc",
00077         "array_key_exists",
00078         "array_keys",
00079         "array_map",
00080         "array_merge",
00081         "array_merge_recursive",
00082         "array_multisort",
00083         "array_pad",
00084         "array_pop",
00085         "array_push",
00086         "array_rand",
00087         "array_reduce",
00088         "array_reverse",
00089         "array_search",
00090         "array_shift",
00091         "array_slice",
00092         "array_splice",
00093         "array_sum",
00094         "array_unique",
00095         "array_unshift",
00096         "array_values",
00097         "array_walk",
00098         "arsort",
00099         "ascii2ebcdic",
00100         "asin",
00101         "asinh",
00102         "asort",
00103         "aspell_check",
00104         "aspell_new",
00105         "aspell_suggest",
00106         "assert",
00107         "assert_options",
00108         "assign",
00109         "atan",
00110         "atan2",
00111         "atanh",
00112         "attreditable",
00113         "attributes",
00114         "base64_decode",
00115         "base64_encode",
00116         "base_convert",
00117         "basename",
00118         "bcadd",
00119         "bccomp",
00120         "bcdiv",
00121         "bcmod",
00122         "bcmul",
00123         "bcpow",
00124         "bcpowmod",
00125         "bcscale",
00126         "bcsqrt",
00127         "bcsub",
00128         "bin2hex",
00129         "bindec",
00130         "bindtextdomain",
00131         "bind_textdomain_codeset",
00132         "bool",
00133         "break",
00134         "bzclose",
00135         "bzcompress",
00136         "bzdecompress",
00137         "bzerrno",
00138         "bzerror",
00139         "bzerrstr",
00140         "bzflush",
00141         "bzopen",
00142         "bzread",
00143         "bzwrite",
00144         "cal_days_in_month",
00145         "cal_from_jd",
00146         "cal_info",
00147         "call_user_func",
00148         "call_user_func_array",
00149         "call_user_method",
00150         "call_user_method_array",
00151         "cal_to_jd",
00152         "ccvs_add",
00153         "ccvs_auth",
00154         "ccvs_command",
00155         "ccvs_count",
00156         "ccvs_delete",
00157         "ccvs_done",
00158         "ccvs_init",
00159         "ccvs_lookup",
00160         "ccvs_new",
00161         "ccvs_report",
00162         "ccvs_return",
00163         "ccvs_reverse",
00164         "ccvs_sale",
00165         "ccvs_status",
00166         "ccvs_textvalue",
00167         "ccvs_void",
00168         "ceil",
00169         "chdir",
00170         "checkdate",
00171         "checkdnsrr",
00172         "checkin",
00173         "checkout",
00174         "chgrp",
00175         "child_nodes",
00176         "children",
00177         "chmod",
00178         "chop",
00179         "chown",
00180         "chr",
00181         "chroot",
00182         "chunk_split",
00183         "class",
00184         "class_exists",
00185         "clearstatcache",
00186         "clone_node",
00187         "closedir",
00188         "closelog",
00189         "com_addref",
00190         "com_get",
00191         "com_invoke",
00192         "com_isenum",
00193         "com_load",
00194         "com_load_typelib",
00195         "compact",
00196         "com_propget",
00197         "com_propput",
00198         "com_propset",
00199         "com_release",
00200         "com_set",
00201         "connection_aborted",
00202         "connection_status",
00203         "connection_timeout",
00204         "constant",
00205         "content",
00206         "continue",
00207         "convert_cyr_string",
00208         "_COOKIE",
00209         "copy",
00210         "cos",
00211         "cosh",
00212         "count",
00213         "count_chars",
00214         "cpdf_add_annotation",
00215         "cpdf_add_outline",
00216         "cpdf_arc",
00217         "cpdf_begin_text",
00218         "cpdf_circle",
00219         "cpdf_clip",
00220         "cpdf_close",
00221         "cpdf_closepath",
00222         "cpdf_closepath_fill_stroke",
00223         "cpdf_closepath_stroke",
00224         "cpdf_continue_text",
00225         "cpdf_curveto",
00226         "cpdf_end_text",
00227         "cpdf_fill",
00228         "cpdf_fill_stroke",
00229         "cpdf_finalize",
00230         "cpdf_finalize_page",
00231         "cpdf_global_set_document_limits",
00232         "cpdf_import_jpeg",
00233         "cpdf_lineto",
00234         "cpdf_moveto",
00235         "cpdf_newpath",
00236         "cpdf_open",
00237         "cpdf_output_buffer",
00238         "cpdf_page_init",
00239         "cpdf_place_inline_image",
00240         "cpdf_rect",
00241         "cpdf_restore",
00242         "cpdf_rlineto",
00243         "cpdf_rmoveto",
00244         "cpdf_rotate",
00245         "cpdf_rotate_text",
00246         "cpdf_save",
00247         "cpdf_save_to_file",
00248         "cpdf_scale",
00249         "cpdf_set_action_url",
00250         "cpdf_set_char_spacing",
00251         "cpdf_set_creator",
00252         "cpdf_set_current_page",
00253         "cpdf_setdash",
00254         "cpdf_setflat",
00255         "cpdf_set_font",
00256         "cpdf_set_font_directories",
00257         "cpdf_set_font_map_file",
00258         "cpdf_setgray",
00259         "cpdf_setgray_fill",
00260         "cpdf_setgray_stroke",
00261         "cpdf_set_horiz_scaling",
00262         "cpdf_set_keywords",
00263         "cpdf_set_leading",
00264         "cpdf_setlinecap",
00265         "cpdf_setlinejoin",
00266         "cpdf_setlinewidth",
00267         "cpdf_setmiterlimit",
00268         "cpdf_set_page_animation",
00269         "cpdf_setrgbcolor",
00270         "cpdf_setrgbcolor_fill",
00271         "cpdf_setrgbcolor_stroke",
00272         "cpdf_set_subject",
00273         "cpdf_set_text_matrix",
00274         "cpdf_set_text_pos",
00275         "cpdf_set_text_rendering",
00276         "cpdf_set_text_rise",
00277         "cpdf_set_title",
00278         "cpdf_set_viewer_preferences",
00279         "cpdf_set_word_spacing",
00280         "cpdf_show",
00281         "cpdf_show_xy",
00282         "cpdf_stringwidth",
00283         "cpdf_stroke",
00284         "cpdf_text",
00285         "cpdf_translate",
00286         "crack_check",
00287         "crack_closedict",
00288         "crack_getlastmessage",
00289         "crack_opendict",
00290         "crc32",
00291         "create_attribute",
00292         "create_cdata_section",
00293         "create_comment",
00294         "create_element",
00295         "create_element_ns",
00296         "create_entity_reference",
00297         "create_function",
00298         "create_processing_instruction",
00299         "create_text_node",
00300         "crypt",
00301         "ctype_alnum",
00302         "ctype_alpha",
00303         "ctype_cntrl",
00304         "ctype_digit",
00305         "ctype_graph",
00306         "ctype_lower",
00307         "ctype_print",
00308         "ctype_punct",
00309         "ctype_space",
00310         "ctype_upper",
00311         "ctype_xdigit",
00312         "curl_close",
00313         "curl_errno",
00314         "curl_error",
00315         "curl_exec",
00316         "curl_getinfo",
00317         "curl_init",
00318         "curl_setopt",
00319         "curl_version",
00320         "current",
00321         "cybercash_base64_decode",
00322         "cybercash_base64_encode",
00323         "cybercash_decr",
00324         "cybercash_encr",
00325         "cybermut_creerformulairecm",
00326         "cybermut_creerreponsecm",
00327         "cybermut_testmac",
00328         "cyrus_authenticate",
00329         "cyrus_bind",
00330         "cyrus_close",
00331         "cyrus_connect",
00332         "cyrus_query",
00333         "cyrus_unbind",
00334         "data",
00335         "date",
00336         "dba_close",
00337         "dba_delete",
00338         "dba_exists",
00339         "dba_fetch",
00340         "dba_firstkey",
00341         "dba_handlers",
00342         "dba_insert",
00343         "dba_list",
00344         "dba_nextkey",
00345         "dba_open",
00346         "dba_optimize",
00347         "dba_popen",
00348         "dba_replace",
00349         "dbase_add_record",
00350         "dbase_close",
00351         "dbase_create",
00352         "dbase_delete_record",
00353         "dbase_get_record",
00354         "dbase_get_record_with_names",
00355         "dbase_numfields",
00356         "dbase_numrecords",
00357         "dbase_open",
00358         "dbase_pack",
00359         "dbase_replace_record",
00360         "dba_sync",
00361         "dblist",
00362         "dbmclose",
00363         "dbmdelete",
00364         "dbmexists",
00365         "dbmfetch",
00366         "dbmfirstkey",
00367         "dbminsert",
00368         "dbmnextkey",
00369         "dbmopen",
00370         "dbmreplace",
00371         "dbplus_add",
00372         "dbplus_aql",
00373         "dbplus_chdir",
00374         "dbplus_close",
00375         "dbplus_curr",
00376         "dbplus_errcode",
00377         "dbplus_errno",
00378         "dbplus_find",
00379         "dbplus_first",
00380         "dbplus_flush",
00381         "dbplus_freealllocks",
00382         "dbplus_freelock",
00383         "dbplus_freerlocks",
00384         "dbplus_getlock",
00385         "dbplus_getunique",
00386         "dbplus_info",
00387         "dbplus_last",
00388         "dbplus_lockrel",
00389         "dbplus_next",
00390         "dbplus_open",
00391         "dbplus_prev",
00392         "dbplus_rchperm",
00393         "dbplus_rcreate",
00394         "dbplus_rcrtexact",
00395         "dbplus_rcrtlike",
00396         "dbplus_resolve",
00397         "dbplus_restorepos",
00398         "dbplus_rkeys",
00399         "dbplus_ropen",
00400         "dbplus_rquery",
00401         "dbplus_rrename",
00402         "dbplus_rsecindex",
00403         "dbplus_runlink",
00404         "dbplus_rzap",
00405         "dbplus_savepos",
00406         "dbplus_setindex",
00407         "dbplus_setindexbynumber",
00408         "dbplus_sql",
00409         "dbplus_tcl",
00410         "dbplus_tremove",
00411         "dbplus_undo",
00412         "dbplus_undoprepare",
00413         "dbplus_unlockrel",
00414         "dbplus_unselect",
00415         "dbplus_update",
00416         "dbplus_xlockrel",
00417         "dbplus_xunlockrel",
00418         "dbstat",
00419         "dbx_close",
00420         "dbx_compare",
00421         "dbx_connect",
00422         "dbx_error",
00423         "dbx_escape_string",
00424         "dbx_query",
00425         "dbx_sort",
00426         "dcgettext",
00427         "dcngettext",
00428         "dcstat",
00429         "deaggregate",
00430         "debug_backtrace",
00431         "debugger_off",
00432         "debugger_on",
00433         "decbin",
00434         "dechex",
00435         "declare",
00436         "decoct",
00437         "DEFAULT_INCLUDE_PATH",
00438         "define",
00439         "defined",
00440         "define_syslog_variables",
00441         "deg2rad",
00442         "delete",
00443         "description",
00444         "dgettext",
00445         "die",
00446         "dio_close",
00447         "dio_fcntl",
00448         "dio_open",
00449         "dio_read",
00450         "dio_seek",
00451         "dio_stat",
00452         "dio_tcsetattr",
00453         "dio_truncate",
00454         "dio_write",
00455         "dir",
00456         "dirname",
00457         "disk_free_space",
00458         "diskfreespace",
00459         "disk_total_space",
00460         "dl",
00461         "dngettext",
00462         "dns_check_record",
00463         "dns_get_mx",
00464         "dns_get_record",
00465         "do",
00466         "doctype",
00467         "document_element",
00468         "DOCUMENT_ROOT",
00469         "domxml_new_doc",
00470         "domxml_open_file",
00471         "domxml_open_mem",
00472         "domxml_version",
00473         "domxml_xmltree",
00474         "domxml_xslt_stylesheet",
00475         "domxml_xslt_stylesheet_doc",
00476         "domxml_xslt_stylesheet_file",
00477         "dotnet_load",
00478         "doubleval",
00479         "drawCurve",
00480         "drawCurveTo",
00481         "drawLine",
00482         "drawLineTo",
00483         "dstanchors",
00484         "dstofsrcanchors",
00485         "dump_file",
00486         "dump_mem",
00487         "dump_node",
00488         "each",
00489         "E_ALL",
00490         "easter_date",
00491         "easter_days",
00492         "ebcdic2ascii",
00493         "echo",
00494         "E_COMPILE_ERROR",
00495         "E_COMPILE_WARNING",
00496         "E_CORE_ERROR",
00497         "E_CORE_WARNING",
00498         "E_ERROR",
00499         "else",
00500         "elseif",
00501         "empty",
00502         "end",
00503         "endfor",
00504         "endforeach",
00505         "endif",
00506         "endswitch",
00507         "endwhile",
00508         "E_NOTICE",
00509         "entities",
00510         "_ENV",
00511         "E_PARSE",
00512         "ereg",
00513         "eregi",
00514         "eregi_replace",
00515         "ereg_replace",
00516         "error_log",
00517         "error_reporting",
00518         "escapeshellarg",
00519         "escapeshellcmd",
00520         "E_USER_ERROR",
00521         "E_USER_NOTICE",
00522         "E_USER_WARNING",
00523         "eval",
00524         "E_WARNING",
00525         "exec",
00526         "exif_imagetype",
00527         "exif_read_data",
00528         "exif_thumbnail",
00529         "exit",
00530         "exp",
00531         "explode",
00532         "expm1",
00533         "extension_loaded",
00534         "extract",
00535         "ezmlm_hash",
00536         "FALSE",
00537         "fbsql_affected_rows",
00538         "fbsql_autocommit",
00539         "fbsql_change_user",
00540         "fbsql_close",
00541         "fbsql_commit",
00542         "fbsql_connect",
00543         "fbsql_create_blob",
00544         "fbsql_create_clob",
00545         "fbsql_create_db",
00546         "fbsql_database",
00547         "fbsql_database_password",
00548         "fbsql_data_seek",
00549         "fbsql_db_query",
00550         "fbsql_db_status",
00551         "fbsql_drop_db",
00552         "fbsql_errno",
00553         "fbsql_error",
00554         "fbsql_fetch_array",
00555         "fbsql_fetch_assoc",
00556         "fbsql_fetch_field",
00557         "fbsql_fetch_lengths",
00558         "fbsql_fetch_object",
00559         "fbsql_fetch_row",
00560         "fbsql_field_flags",
00561         "fbsql_field_len",
00562         "fbsql_field_name",
00563         "fbsql_field_seek",
00564         "fbsql_field_table",
00565         "fbsql_field_type",
00566         "fbsql_free_result",
00567         "fbsql_get_autostart_info",
00568         "fbsql_hostname",
00569         "fbsql_insert_id",
00570         "fbsql_list_dbs",
00571         "fbsql_list_fields",
00572         "fbsql_list_tables",
00573         "fbsql_next_result",
00574         "fbsql_num_fields",
00575         "fbsql_num_rows",
00576         "fbsql_password",
00577         "fbsql_pconnect",
00578         "fbsql_query",
00579         "fbsql_read_blob",
00580         "fbsql_read_clob",
00581         "fbsql_result",
00582         "fbsql_rollback",
00583         "fbsql_select_db",
00584         "fbsql_set_lob_mode",
00585         "fbsql_set_transaction",
00586         "fbsql_start_db",
00587         "fbsql_stop_db",
00588         "fbsql_tablename",
00589         "fbsql_username",
00590         "fbsql_warnings",
00591         "fclose",
00592         "fdf_add_doc_javascript",
00593         "fdf_add_template",
00594         "fdf_close",
00595         "fdf_create",
00596         "fdf_errno",
00597         "fdf_error",
00598         "fdf_get_ap",
00599         "fdf_get_attachment",
00600         "fdf_get_encoding",
00601         "fdf_get_file",
00602         "fdf_get_status",
00603         "fdf_get_value",
00604         "fdf_get_version",
00605         "fdf_header",
00606         "fdf_next_field_name",
00607         "fdf_open",
00608         "fdf_open_string",
00609         "fdf_save",
00610         "fdf_save_string",
00611         "fdf_set_ap",
00612         "fdf_set_encoding",
00613         "fdf_set_file",
00614         "fdf_set_flags",
00615         "fdf_set_javascript_action",
00616         "fdf_set_opt",
00617         "fdf_set_status",
00618         "fdf_set_submit_form_action",
00619         "fdf_set_target_frame",
00620         "fdf_set_value",
00621         "fdf_set_version",
00622         "feof",
00623         "fflush",
00624         "fgetc",
00625         "fgetcsv",
00626         "fgets",
00627         "fgetss",
00628         "file",
00629         "__FILE__",
00630         "fileatime",
00631         "filectime",
00632         "file_exists",
00633         "file_get_contents",
00634         "filegroup",
00635         "fileinode",
00636         "filemtime",
00637         "fileowner",
00638         "fileperms",
00639         "filepro",
00640         "filepro_fieldcount",
00641         "filepro_fieldname",
00642         "filepro_fieldtype",
00643         "filepro_fieldwidth",
00644         "filepro_retrieve",
00645         "filepro_rowcount",
00646         "_FILES",
00647         "filesize",
00648         "filetype",
00649         "find",
00650         "first_child",
00651         "floatval",
00652         "flock",
00653         "floor",
00654         "flush",
00655         "fmod",
00656         "fnmatch",
00657         "fopen",
00658         "for",
00659         "foreach",
00660         "fpassthru",
00661         "fprintf",
00662         "fputs",
00663         "fread",
00664         "frenchtojd",
00665         "fribidi_log2vis",
00666         "fscanf",
00667         "fseek",
00668         "fsockopen",
00669         "fstat",
00670         "ftell",
00671         "ftok",
00672         "ftp_cdup",
00673         "ftp_chdir",
00674         "ftp_close",
00675         "ftp_connect",
00676         "ftp_delete",
00677         "ftp_exec",
00678         "ftp_fget",
00679         "ftp_fput",
00680         "ftp_get",
00681         "ftp_get_option",
00682         "ftp_login",
00683         "ftp_mdtm",
00684         "ftp_mkdir",
00685         "ftp_nb_continue",
00686         "ftp_nb_fget",
00687         "ftp_nb_fput",
00688         "ftp_nb_get",
00689         "ftp_nb_put",
00690         "ftp_nlist",
00691         "ftp_pasv",
00692         "ftp_put",
00693         "ftp_pwd",
00694         "ftp_quit",
00695         "ftp_rawlist",
00696         "ftp_rename",
00697         "ftp_rmdir",
00698         "ftp_set_option",
00699         "ftp_site",
00700         "ftp_size",
00701         "ftp_ssl_connect",
00702         "ftp_systype",
00703         "ftruncate",
00704         "ftstat",
00705         "func_get_arg",
00706         "func_get_args",
00707         "func_num_args",
00708         "function",
00709         "function_exists",
00710         "fwrite",
00711         "GATEWAY_INTERFACE",
00712         "gd_info",
00713         "_GET",
00714         "getallheaders",
00715         "get_attribute",
00716         "get_attribute_node",
00717         "get_browser",
00718         "get_cfg_var",
00719         "get_class",
00720         "get_class_methods",
00721         "get_class_vars",
00722         "get_content",
00723         "get_current_user",
00724         "getcwd",
00725         "getdate",
00726         "get_declared_classes",
00727         "get_defined_constants",
00728         "get_defined_functions",
00729         "get_defined_vars",
00730         "get_element_by_id",
00731         "get_elements_by_tagname",
00732         "getenv",
00733         "get_extension_funcs",
00734         "getHeight",
00735         "gethostbyaddr",
00736         "gethostbyname",
00737         "gethostbynamel",
00738         "get_html_translation_table",
00739         "getimagesize",
00740         "get_included_files",
00741         "get_include_path",
00742         "getlastmod",
00743         "get_loaded_extensions",
00744         "get_magic_quotes_gpc",
00745         "get_magic_quotes_runtime",
00746         "get_meta_tags",
00747         "getmxrr",
00748         "getmygid",
00749         "getmyinode",
00750         "getmypid",
00751         "getmyuid",
00752         "get_object_vars",
00753         "getopt",
00754         "get_parent_class",
00755         "getprotobyname",
00756         "getprotobynumber",
00757         "getrandmax",
00758         "get_required_files",
00759         "get_resource_type",
00760         "getrusage",
00761         "getservbyname",
00762         "getservbyport",
00763         "getshape1",
00764         "getshape2",
00765         "gettext",
00766         "gettimeofday",
00767         "gettype",
00768         "getwidth",
00769         "getWidth",
00770         "glob",
00771         "global",
00772         "GLOBALS",
00773         "gmdate",
00774         "gmmktime",
00775         "gmp_abs",
00776         "gmp_add",
00777         "gmp_and",
00778         "gmp_clrbit",
00779         "gmp_cmp",
00780         "gmp_com",
00781         "gmp_div",
00782         "gmp_divexact",
00783         "gmp_div_q",
00784         "gmp_div_qr",
00785         "gmp_div_r",
00786         "gmp_fact",
00787         "gmp_gcd",
00788         "gmp_gcdext",
00789         "gmp_hamdist",
00790         "gmp_init",
00791         "gmp_intval",
00792         "gmp_invert",
00793         "gmp_jacobi",
00794         "gmp_legendre",
00795         "gmp_mod",
00796         "gmp_mul",
00797         "gmp_neg",
00798         "gmp_or",
00799         "gmp_perfect_square",
00800         "gmp_popcount",
00801         "gmp_pow",
00802         "gmp_powm",
00803         "gmp_prob_prime",
00804         "gmp_random",
00805         "gmp_scan0",
00806         "gmp_scan1",
00807         "gmp_setbit",
00808         "gmp_sign",
00809         "gmp_sqrt",
00810         "gmp_sqrtrm",
00811         "gmp_strval",
00812         "gmp_sub",
00813         "gmp_xor",
00814         "gmstrftime",
00815         "gregoriantojd",
00816         "gzclose",
00817         "gzcompress",
00818         "gzdeflate",
00819         "gzencode",
00820         "gzeof",
00821         "gzfile",
00822         "gzgetc",
00823         "gzgets",
00824         "gzgetss",
00825         "gzinflate",
00826         "gzopen",
00827         "gzpassthru",
00828         "gzputs",
00829         "gzread",
00830         "gzrewind",
00831         "gzseek",
00832         "gztell",
00833         "gzuncompress",
00834         "gzwrite",
00835         "has_attribute",
00836         "has_attributess",
00837         "has_child_nodes",
00838         "header",
00839         "headers_sent",
00840         "hebrev",
00841         "hebrevc",
00842         "hexdec",
00843         "highlight_file",
00844         "highlight_string",
00845         "html_dump_mem",
00846         "htmlentities",
00847         "html_entity_decode",
00848         "htmlspecialchars",
00849         "HTTP_ACCEPT",
00850         "HTTP_ACCEPT_CHARSET",
00851         "HTTP_ACCEPT_LANGUAGE",
00852         "HTTP_CONNECTION",
00853         "HTTP_COOKIE_VARS",
00854         "HTTP_ENCODING",
00855         "HTTP_ENV_VARS",
00856         "HTTP_GET_VARS",
00857         "HTTP_HOST",
00858         "HTTP_POST_FILES",
00859         "HTTP_POST_VARS",
00860         "HTTP_RAW_POST_DATA",
00861         "HTTP_REFERER",
00862         "HTTP_SERVER_VARS",
00863         "HTTP_SESSION_VARS",
00864         "HTTP_STATE_VARS",
00865         "HTTP_USER_AGENT",
00866         "hw_api_attribute",
00867         "hw_api_content",
00868         "hwapi_hgcsp",
00869         "hw_api_object",
00870         "hw_Array2Objrec",
00871         "hw_changeobject",
00872         "hw_Children",
00873         "hw_ChildrenObj",
00874         "hw_Close",
00875         "hw_Connect",
00876         "hw_connection_info",
00877         "hw_Cp",
00878         "hw_Deleteobject",
00879         "hw_DocByAnchor",
00880         "hw_DocByAnchorObj",
00881         "hw_Document_Attributes",
00882         "hw_Document_BodyTag",
00883         "hw_Document_Content",
00884         "hw_Document_SetContent",
00885         "hw_Document_Size",
00886         "hw_dummy",
00887         "hw_EditText",
00888         "hw_Error",
00889         "hw_ErrorMsg",
00890         "hw_Free_Document",
00891         "hw_GetAnchors",
00892         "hw_GetAnchorsObj",
00893         "hw_GetAndLock",
00894         "hw_GetChildColl",
00895         "hw_GetChildCollObj",
00896         "hw_GetChildDocColl",
00897         "hw_GetChildDocCollObj",
00898         "hw_GetObject",
00899         "hw_GetObjectByQuery",
00900         "hw_GetObjectByQueryColl",
00901         "hw_GetObjectByQueryCollObj",
00902         "hw_GetObjectByQueryObj",
00903         "hw_GetParents",
00904         "hw_GetParentsObj",
00905         "hw_getrellink",
00906         "hw_GetRemote",
00907         "hw_GetRemoteChildren",
00908         "hw_GetSrcByDestObj",
00909         "hw_GetText",
00910         "hw_getusername",
00911         "hw_Identify",
00912         "hw_InCollections",
00913         "hw_Info",
00914         "hw_InsColl",
00915         "hw_InsDoc",
00916         "hw_insertanchors",
00917         "hw_InsertDocument",
00918         "hw_InsertObject",
00919         "hw_mapid",
00920         "hw_Modifyobject",
00921         "hw_Mv",
00922         "hw_New_Document",
00923         "hw_Objrec2Array",
00924         "hw_Output_Document",
00925         "hw_pConnect",
00926         "hw_PipeDocument",
00927         "hw_Root",
00928         "hw_setlinkroot",
00929         "hw_stat",
00930         "hwstat",
00931         "hw_Unlock",
00932         "hw_Who",
00933         "hypot",
00934         "ibase_blob_add",
00935         "ibase_blob_cancel",
00936         "ibase_blob_close",
00937         "ibase_blob_create",
00938         "ibase_blob_echo",
00939         "ibase_blob_get",
00940         "ibase_blob_import",
00941         "ibase_blob_info",
00942         "ibase_blob_open",
00943         "ibase_close",
00944         "ibase_commit",
00945         "ibase_connect",
00946         "ibase_errmsg",
00947         "ibase_execute",
00948         "ibase_fetch_object",
00949         "ibase_fetch_row",
00950         "ibase_field_info",
00951         "ibase_free_query",
00952         "ibase_free_result",
00953         "ibase_num_fields",
00954         "ibase_pconnect",
00955         "ibase_prepare",
00956         "ibase_query",
00957         "ibase_rollback",
00958         "ibase_timefmt",
00959         "ibase_trans",
00960         "iconv",
00961         "iconv_get_encoding",
00962         "iconv_set_encoding",
00963         "identify",
00964         "if",
00965         "ifx_affected_rows",
00966         "ifx_blobinfile_mode",
00967         "ifx_byteasvarchar",
00968         "ifx_close",
00969         "ifx_connect",
00970         "ifx_copy_blob",
00971         "ifx_create_blob",
00972         "ifx_create_char",
00973         "ifx_do",
00974         "ifx_error",
00975         "ifx_errormsg",
00976         "ifx_fetch_row",
00977         "ifx_fieldproperties",
00978         "ifx_fieldtypes",
00979         "ifx_free_blob",
00980         "ifx_free_char",
00981         "ifx_free_result",
00982         "ifx_get_blob",
00983         "ifx_get_char",
00984         "ifx_getsqlca",
00985         "ifx_htmltbl_result",
00986         "ifx_nullformat",
00987         "ifx_num_fields",
00988         "ifx_num_rows",
00989         "ifx_pconnect",
00990         "ifx_prepare",
00991         "ifx_query",
00992         "ifx_textasvarchar",
00993         "ifx_update_blob",
00994         "ifx_update_char",
00995         "ifxus_close_slob",
00996         "ifxus_create_slob",
00997         "ifxus_free_slob",
00998         "ifxus_open_slob",
00999         "ifxus_read_slob",
01000         "ifxus_seek_slob",
01001         "ifxus_tell_slob",
01002         "ifxus_write_slob",
01003         "ignore_user_abort",
01004         "image2wbmp",
01005         "imagealphablending",
01006         "imagearc",
01007         "imagechar",
01008         "imagecharup",
01009         "imagecolorallocate",
01010         "imagecolorallocatealpha",
01011         "imagecolorat",
01012         "imagecolorclosest",
01013         "imagecolorclosestalpha",
01014         "imagecolorclosesthwb",
01015         "imagecolordeallocate",
01016         "imagecolorexact",
01017         "imagecolorexactalpha",
01018         "imagecolorresolve",
01019         "imagecolorresolvealpha",
01020         "imagecolorset",
01021         "imagecolorsforindex",
01022         "imagecolorstotal",
01023         "imagecolortransparent",
01024         "imagecopy",
01025         "imagecopymerge",
01026         "imagecopymergegray",
01027         "imagecopyresampled",
01028         "imagecopyresized",
01029         "imagecreate",
01030         "imagecreatefromgd",
01031         "imagecreatefromgd2",
01032         "imagecreatefromgd2part",
01033         "imagecreatefromgif",
01034         "imagecreatefromjpeg",
01035         "imagecreatefrompng",
01036         "imagecreatefromstring",
01037         "imagecreatefromwbmp",
01038         "imagecreatefromxbm",
01039         "imagecreatefromxpm",
01040         "imagecreatetruecolor",
01041         "imagedashedline",
01042         "imagedestroy",
01043         "imageellipse",
01044         "imagefill",
01045         "imagefilledarc",
01046         "imagefilledellipse",
01047         "imagefilledpolygon",
01048         "imagefilledrectangle",
01049         "imagefilltoborder",
01050         "imagefontheight",
01051         "imagefontwidth",
01052         "imageftbbox",
01053         "imagefttext",
01054         "imagegammacorrect",
01055         "imagegd",
01056         "imagegd2",
01057         "imagegif",
01058         "imageinterlace",
01059         "imagejpeg",
01060         "imageline",
01061         "imageloadfont",
01062         "imagepalettecopy",
01063         "imagepng",
01064         "imagepolygon",
01065         "imagepsbbox",
01066         "imagepscopyfont",
01067         "imagepsencodefont",
01068         "imagepsextendfont",
01069         "imagepsfreefont",
01070         "imagepsloadfont",
01071         "imagepsslantfont",
01072         "imagepstext",
01073         "imagerectangle",
01074         "imagerotate",
01075         "imagesetbrush",
01076         "imagesetpixel",
01077         "imagesetstyle",
01078         "imagesetthickness",
01079         "imagesettile",
01080         "imagestring",
01081         "imagestringup",
01082         "imagesx",
01083         "imagesy",
01084         "imagetruecolortopalette",
01085         "imagettfbbox",
01086         "imagettftext",
01087         "imagetypes",
01088         "image_type_to_mime_type",
01089         "imagewbmp",
01090         "imap_8bit",
01091         "imap_alerts",
01092         "imap_append",
01093         "imap_base64",
01094         "imap_binary",
01095         "imap_body",
01096         "imap_bodystruct",
01097         "imap_check",
01098         "imap_clearflag_full",
01099         "imap_close",
01100         "imap_createmailbox",
01101         "imap_delete",
01102         "imap_deletemailbox",
01103         "imap_errors",
01104         "imap_expunge",
01105         "imap_fetchbody",
01106         "imap_fetchheader",
01107         "imap_fetch_overview",
01108         "imap_fetchstructure",
01109         "imap_getmailboxes",
01110         "imap_get_quota",
01111         "imap_get_quotaroot",
01112         "imap_getsubscribed",
01113         "imap_header",
01114         "imap_headerinfo",
01115         "imap_headers",
01116         "imap_last_error",
01117         "imap_list",
01118         "imap_listmailbox",
01119         "imap_listscan",
01120         "imap_listsubscribed",
01121         "imap_lsub",
01122         "imap_mail",
01123         "imap_mailboxmsginfo",
01124         "imap_mail_compose",
01125         "imap_mail_copy",
01126         "imap_mail_move",
01127         "imap_mime_header_decode",
01128         "imap_msgno",
01129         "imap_num_msg",
01130         "imap_num_recent",
01131         "imap_open",
01132         "imap_ping",
01133         "imap_qprint",
01134         "imap_renamemailbox",
01135         "imap_reopen",
01136         "imap_rfc822_parse_adrlist",
01137         "imap_rfc822_parse_headers",
01138         "imap_rfc822_write_address",
01139         "imap_scanmailbox",
01140         "imap_search",
01141         "imap_setacl",
01142         "imap_setflag_full",
01143         "imap_set_quota",
01144         "imap_sort",
01145         "imap_status",
01146         "imap_subscribe",
01147         "imap_thread",
01148         "imap_uid",
01149         "imap_undelete",
01150         "imap_unsubscribe",
01151         "imap_utf7_decode",
01152         "imap_utf7_encode",
01153         "imap_utf8",
01154         "implements",
01155         "implode",
01156         "import_request_variables",
01157         "in_array",
01158         "include",
01159         "include_once",
01160         "info",
01161         "ingres_autocommit",
01162         "ingres_close",
01163         "ingres_commit",
01164         "ingres_connect",
01165         "ingres_fetch_array",
01166         "ingres_fetch_object",
01167         "ingres_fetch_row",
01168         "ingres_field_length",
01169         "ingres_field_name",
01170         "ingres_field_nullable",
01171         "ingres_field_precision",
01172         "ingres_field_scale",
01173         "ingres_field_type",
01174         "ingres_num_fields",
01175         "ingres_num_rows",
01176         "ingres_pconnect",
01177         "ingres_query",
01178         "ingres_rollback",
01179         "ini_alter",
01180         "ini_get",
01181         "ini_get_all",
01182         "ini_restore",
01183         "ini_set",
01184         "insert",
01185         "insertanchor",
01186         "insert_before",
01187         "insertcollection",
01188         "insertdocument",
01189         "int",
01190         "interface",
01191         "internal_subset",
01192         "intval",
01193         "ip2long",
01194         "iptcembed",
01195         "iptcparse",
01196         "ircg_channel_mode",
01197         "ircg_disconnect",
01198         "ircg_fetch_error_msg",
01199         "ircg_get_username",
01200         "ircg_html_encode",
01201         "ircg_ignore_add",
01202         "ircg_ignore_del",
01203         "ircg_is_conn_alive",
01204         "ircg_join",
01205         "ircg_kick",
01206         "ircg_lookup_format_messages",
01207         "ircg_msg",
01208         "ircg_nick",
01209         "ircg_nickname_escape",
01210         "ircg_nickname_unescape",
01211         "ircg_notice",
01212         "ircg_part",
01213         "ircg_pconnect",
01214         "ircg_register_format_messages",
01215         "ircg_set_current",
01216         "ircg_set_file",
01217         "ircg_set_on_die",
01218         "ircg_topic",
01219         "ircg_whois",
01220         "is_a",
01221         "is_array",
01222         "is_blank_node",
01223         "is_bool",
01224         "is_callable",
01225         "is_dir",
01226         "is_double",
01227         "is_executable",
01228         "is_file",
01229         "is_finite",
01230         "is_float",
01231         "is_infinite",
01232         "is_int",
01233         "is_integer",
01234         "is_link",
01235         "is_long",
01236         "is_nan",
01237         "is_null",
01238         "is_numeric",
01239         "is_object",
01240         "is_readable",
01241         "is_real",
01242         "is_resource",
01243         "is_scalar",
01244         "isset",
01245         "is_string",
01246         "is_subclass_of",
01247         "is_uploaded_file",
01248         "is_writable",
01249         "is_writeable",
01250         "java_last_exception_clear",
01251         "java_last_exception_get",
01252         "jddayofweek",
01253         "jdmonthname",
01254         "jdtofrench",
01255         "jdtogregorian",
01256         "jdtojewish",
01257         "jdtojulian",
01258         "jdtounix",
01259         "jewishtojd",
01260         "join",
01261         "jpeg2wbmp",
01262         "juliantojd",
01263         "key",
01264         "krsort",
01265         "ksort",
01266         "langdepvalue",
01267         "last_child",
01268         "lcg_value",
01269         "ldap_8859_to_t61",
01270         "ldap_add",
01271         "ldap_bind",
01272         "ldap_close",
01273         "ldap_compare",
01274         "ldap_connect",
01275         "ldap_count_entries",
01276         "ldap_delete",
01277         "ldap_dn2ufn",
01278         "ldap_err2str",
01279         "ldap_errno",
01280         "ldap_error",
01281         "ldap_explode_dn",
01282         "ldap_first_attribute",
01283         "ldap_first_entry",
01284         "ldap_first_reference",
01285         "ldap_free_result",
01286         "ldap_get_attributes",
01287         "ldap_get_dn",
01288         "ldap_get_entries",
01289         "ldap_get_option",
01290         "ldap_get_values",
01291         "ldap_get_values_len",
01292         "ldap_list",
01293         "ldap_mod_add",
01294         "ldap_mod_del",
01295         "ldap_modify",
01296         "ldap_mod_replace",
01297         "ldap_next_attribute",
01298         "ldap_next_entry",
01299         "ldap_next_reference",
01300         "ldap_parse_reference",
01301         "ldap_parse_result",
01302         "ldap_read",
01303         "ldap_rename",
01304         "ldap_search",
01305         "ldap_set_option",
01306         "ldap_set_rebind_proc",
01307         "ldap_sort",
01308         "ldap_start_tls",
01309         "ldap_t61_to_8859",
01310         "ldap_unbind",
01311         "levenshtein",
01312         "__LINE__",
01313         "link",
01314         "linkinfo",
01315         "list",
01316         "localeconv",
01317         "localtime",
01318         "lock",
01319         "log",
01320         "log10",
01321         "log1p",
01322         "long2ip",
01323         "lstat",
01324         "ltrim",
01325         "mail",
01326         "mailparse_determine_best_xfer_encoding",
01327         "mailparse_msg_create",
01328         "mailparse_msg_extract_part",
01329         "mailparse_msg_extract_part_file",
01330         "mailparse_msg_free",
01331         "mailparse_msg_get_part",
01332         "mailparse_msg_get_part_data",
01333         "mailparse_msg_get_structure",
01334         "mailparse_msg_parse",
01335         "mailparse_msg_parse_file",
01336         "mailparse_rfc822_parse_addresses",
01337         "mailparse_stream_encode",
01338         "mailparse_uudecode_all",
01339         "main",
01340         "max",
01341         "mb_convert_case",
01342         "mb_convert_encoding",
01343         "mb_convert_kana",
01344         "mb_convert_variables",
01345         "mb_decode_mimeheader",
01346         "mb_decode_numericentity",
01347         "mb_detect_encoding",
01348         "mb_detect_order",
01349         "mb_encode_mimeheader",
01350         "mb_encode_numericentity",
01351         "mb_ereg",
01352         "mb_eregi",
01353         "mb_eregi_replace",
01354         "mb_ereg_match",
01355         "mb_ereg_replace",
01356         "mb_ereg_search",
01357         "mb_ereg_search_getpos",
01358         "mb_ereg_search_getregs",
01359         "mb_ereg_search_init",
01360         "mb_ereg_search_pos",
01361         "mb_ereg_search_regs",
01362         "mb_ereg_search_setpos",
01363         "mb_get_info",
01364         "mb_http_input",
01365         "mb_http_output",
01366         "mb_internal_encoding",
01367         "mb_language",
01368         "mb_output_handler",
01369         "mb_parse_str",
01370         "mb_preferred_mime_name",
01371         "mb_regex_encoding",
01372         "mb_regex_set_options",
01373         "mb_send_mail",
01374         "mb_split",
01375         "mb_strcut",
01376         "mb_strimwidth",
01377         "mb_strlen",
01378         "mb_strpos",
01379         "mb_strrpos",
01380         "mb_strtolower",
01381         "mb_strtoupper",
01382         "mb_strwidth",
01383         "mb_substitute_character",
01384         "mb_substr",
01385         "mb_substr_count",
01386         "mcal_append_event",
01387         "mcal_close",
01388         "mcal_create_calendar",
01389         "mcal_date_compare",
01390         "mcal_date_valid",
01391         "mcal_day_of_week",
01392         "mcal_day_of_year",
01393         "mcal_days_in_month",
01394         "mcal_delete_calendar",
01395         "mcal_delete_event",
01396         "mcal_event_add_attribute",
01397         "mcal_event_init",
01398         "mcal_event_set_alarm",
01399         "mcal_event_set_category",
01400         "mcal_event_set_class",
01401         "mcal_event_set_description",
01402         "mcal_event_set_end",
01403         "mcal_event_set_recur_daily",
01404         "mcal_event_set_recur_monthly_mday",
01405         "mcal_event_set_recur_monthly_wday",
01406         "mcal_event_set_recur_none",
01407         "mcal_event_set_recur_weekly",
01408         "mcal_event_set_recur_yearly",
01409         "mcal_event_set_start",
01410         "mcal_event_set_title",
01411         "mcal_expunge",
01412         "mcal_fetch_current_stream_event",
01413         "mcal_fetch_event",
01414         "mcal_is_leap_year",
01415         "mcal_list_alarms",
01416         "mcal_list_events",
01417         "mcal_next_recurrence",
01418         "mcal_open",
01419         "mcal_popen",
01420         "mcal_rename_calendar",
01421         "mcal_reopen",
01422         "mcal_snooze",
01423         "mcal_store_event",
01424         "mcal_time_valid",
01425         "mcal_week_of_year",
01426         "mcrypt_cbc",
01427         "mcrypt_cfb",
01428         "mcrypt_create_iv",
01429         "mcrypt_decrypt",
01430         "mcrypt_ecb",
01431         "mcrypt_enc_get_algorithms_name",
01432         "mcrypt_enc_get_block_size",
01433         "mcrypt_enc_get_iv_size",
01434         "mcrypt_enc_get_key_size",
01435         "mcrypt_enc_get_modes_name",
01436         "mcrypt_enc_get_supported_key_sizes",
01437         "mcrypt_enc_is_block_algorithm",
01438         "mcrypt_enc_is_block_algorithm_mode",
01439         "mcrypt_enc_is_block_mode",
01440         "mcrypt_encrypt",
01441         "mcrypt_enc_self_test",
01442         "mcrypt_generic",
01443         "mcrypt_generic_deinit",
01444         "mcrypt_generic_end",
01445         "mcrypt_generic_init",
01446         "mcrypt_get_block_size",
01447         "mcrypt_get_cipher_name",
01448         "mcrypt_get_iv_size",
01449         "mcrypt_get_key_size",
01450         "mcrypt_list_algorithms",
01451         "mcrypt_list_modes",
01452         "mcrypt_module_close",
01453         "mcrypt_module_get_algo_block_size",
01454         "mcrypt_module_get_algo_key_size",
01455         "mcrypt_module_get_supported_key_sizes",
01456         "mcrypt_module_is_block_algorithm",
01457         "mcrypt_module_is_block_algorithm_mode",
01458         "mcrypt_module_is_block_mode",
01459         "mcrypt_module_open",
01460         "mcrypt_module_self_test",
01461         "mcrypt_ofb",
01462         "mcve_adduser",
01463         "mcve_adduserarg",
01464         "mcve_bt",
01465         "mcve_checkstatus",
01466         "mcve_chkpwd",
01467         "mcve_chngpwd",
01468         "mcve_completeauthorizations",
01469         "mcve_connect",
01470         "mcve_connectionerror",
01471         "mcve_deleteresponse",
01472         "mcve_deletetrans",
01473         "mcve_deleteusersetup",
01474         "mcve_deluser",
01475         "mcve_destroyconn",
01476         "mcve_destroyengine",
01477         "mcve_disableuser",
01478         "mcve_edituser",
01479         "mcve_enableuser",
01480         "mcve_force",
01481         "mcve_getcell",
01482         "mcve_getcellbynum",
01483         "mcve_getcommadelimited",
01484         "mcve_getheader",
01485         "mcve_getuserarg",
01486         "mcve_getuserparam",
01487         "mcve_gft",
01488         "mcve_gl",
01489         "mcve_gut",
01490         "mcve_initconn",
01491         "mcve_initengine",
01492         "mcve_initusersetup",
01493         "mcve_iscommadelimited",
01494         "mcve_liststats",
01495         "mcve_listusers",
01496         "mcve_maxconntimeout",
01497         "mcve_monitor",
01498         "mcve_numcolumns",
01499         "mcve_numrows",
01500         "mcve_override",
01501         "mcve_parsecommadelimited",
01502         "mcve_ping",
01503         "mcve_preauth",
01504         "mcve_preauthcompletion",
01505         "mcve_qc",
01506         "mcve_responseparam",
01507         "mcve_return",
01508         "mcve_returncode",
01509         "mcve_returnstatus",
01510         "mcve_sale",
01511         "mcve_setblocking",
01512         "mcve_setdropfile",
01513         "mcve_setip",
01514         "mcve_setssl",
01515         "mcve_settimeout",
01516         "mcve_settle",
01517         "mcve_text_avs",
01518         "mcve_text_code",
01519         "mcve_text_cv",
01520         "mcve_transactionauth",
01521         "mcve_transactionavs",
01522         "mcve_transactionbatch",
01523         "mcve_transactioncv",
01524         "mcve_transactionid",
01525         "mcve_transactionitem",
01526         "mcve_transactionssent",
01527         "mcve_transactiontext",
01528         "mcve_transinqueue",
01529         "mcve_transnew",
01530         "mcve_transparam",
01531         "mcve_transsend",
01532         "mcve_ub",
01533         "mcve_uwait",
01534         "mcve_verifyconnection",
01535         "mcve_verifysslcert",
01536         "mcve_void",
01537         "md5",
01538         "md5_file",
01539         "mdecrypt_generic",
01540         "memory_get_usage",
01541         "metaphone",
01542         "method_exists",
01543         "mhash",
01544         "mhash_count",
01545         "mhash_get_block_size",
01546         "mhash_get_hash_name",
01547         "mhash_keygen_s2k",
01548         "microtime",
01549         "mime_content_type",
01550         "mimetype",
01551         "min",
01552         "ming_setcubicthreshold",
01553         "ming_setscale",
01554         "ming_useswfversion",
01555         "mkdir",
01556         "mktime",
01557         "money_format",
01558         "move",
01559         "movePen",
01560         "movePenTo",
01561         "moveTo",
01562         "move_uploaded_file",
01563         "msession_connect",
01564         "msession_count",
01565         "msession_create",
01566         "msession_destroy",
01567         "msession_disconnect",
01568         "msession_find",
01569         "msession_get",
01570         "msession_get_array",
01571         "msession_getdata",
01572         "msession_inc",
01573         "msession_list",
01574         "msession_listvar",
01575         "msession_lock",
01576         "msession_plugin",
01577         "msession_randstr",
01578         "msession_set",
01579         "msession_set_array",
01580         "msession_setdata",
01581         "msession_timeout",
01582         "msession_uniq",
01583         "msession_unlock",
01584         "msg_get_queue",
01585         "msg_receive",
01586         "msg_remove_queue",
01587         "msg_send",
01588         "msg_set_queue",
01589         "msg_stat_queue",
01590         "msql",
01591         "msql_affected_rows",
01592         "msql_close",
01593         "msql_connect",
01594         "msql_create_db",
01595         "msql_createdb",
01596         "msql_data_seek",
01597         "msql_dbname",
01598         "msql_drop_db",
01599         "msql_dropdb",
01600         "msql_error",
01601         "msql_fetch_array",
01602         "msql_fetch_field",
01603         "msql_fetch_object",
01604         "msql_fetch_row",
01605         "msql_fieldflags",
01606         "msql_fieldlen",
01607         "msql_fieldname",
01608         "msql_field_seek",
01609         "msql_fieldtable",
01610         "msql_fieldtype",
01611         "msql_free_result",
01612         "msql_freeresult",
01613         "msql_list_dbs",
01614         "msql_listdbs",
01615         "msql_list_fields",
01616         "msql_listfields",
01617         "msql_list_tables",
01618         "msql_listtables",
01619         "msql_num_fields",
01620         "msql_numfields",
01621         "msql_num_rows",
01622         "msql_numrows",
01623         "msql_pconnect",
01624         "msql_query",
01625         "msql_regcase",
01626         "msql_result",
01627         "msql_select_db",
01628         "msql_selectdb",
01629         "msql_tablename",
01630         "mssql_bind",
01631         "mssql_close",
01632         "mssql_connect",
01633         "mssql_data_seek",
01634         "mssql_execute",
01635         "mssql_fetch_array",
01636         "mssql_fetch_assoc",
01637         "mssql_fetch_batch",
01638         "mssql_fetch_field",
01639         "mssql_fetch_object",
01640         "mssql_fetch_row",
01641         "mssql_field_length",
01642         "mssql_field_name",
01643         "mssql_field_seek",
01644         "mssql_field_type",
01645         "mssql_free_result",
01646         "mssql_free_statement",
01647         "mssql_get_last_message",
01648         "mssql_guid_string",
01649         "mssql_init",
01650         "mssql_min_error_severity",
01651         "mssql_min_message_severity",
01652         "mssql_next_result",
01653         "mssql_num_fields",
01654         "mssql_num_rows",
01655         "mssql_pconnect",
01656         "mssql_query",
01657         "mssql_result",
01658         "mssql_rows_affected",
01659         "mssql_select_db",
01660         "mt_getrandmax",
01661         "mt_rand",
01662         "mt_srand",
01663         "multColor",
01664         "muscat_close",
01665         "muscat_get",
01666         "muscat_give",
01667         "muscat_setup",
01668         "muscat_setup_net",
01669         "mysql_affected_rows",
01670         "mysql_change_user",
01671         "mysql_client_encoding",
01672         "mysql_close",
01673         "mysql_connect",
01674         "mysql_create_db",
01675         "mysql_data_seek",
01676         "mysql_db_name",
01677         "mysql_db_query",
01678         "mysql_drop_db",
01679         "mysql_errno",
01680         "mysql_error",
01681         "mysql_escape_string",
01682         "mysql_fetch_array",
01683         "mysql_fetch_assoc",
01684         "mysql_fetch_field",
01685         "mysql_fetch_lengths",
01686         "mysql_fetch_object",
01687         "mysql_fetch_row",
01688         "mysql_field_flags",
01689         "mysql_field_len",
01690         "mysql_field_name",
01691         "mysql_field_seek",
01692         "mysql_field_table",
01693         "mysql_field_type",
01694         "mysql_free_result",
01695         "mysql_get_client_info",
01696         "mysql_get_host_info",
01697         "mysql_get_proto_info",
01698         "mysql_get_server_info",
01699         "mysql_info",
01700         "mysql_insert_id",
01701         "mysql_list_dbs",
01702         "mysql_list_fields",
01703         "mysql_list_processes",
01704         "mysql_list_tables",
01705         "mysql_num_fields",
01706         "mysql_num_rows",
01707         "mysql_pconnect",
01708         "mysql_ping",
01709         "mysql_query",
01710         "mysql_real_escape_string",
01711         "mysql_result",
01712         "mysql_select_db",
01713         "mysql_stat",
01714         "mysql_tablename",
01715         "mysql_thread_id",
01716         "mysql_unbuffered_query",
01717         "name",
01718         "natcasesort",
01719         "natsort",
01720         "ncurses_addch",
01721         "ncurses_addchnstr",
01722         "ncurses_addchstr",
01723         "ncurses_addnstr",
01724         "ncurses_addstr",
01725         "ncurses_assume_default_colors",
01726         "ncurses_attroff",
01727         "ncurses_attron",
01728         "ncurses_attrset",
01729         "ncurses_baudrate",
01730         "ncurses_beep",
01731         "ncurses_bkgd",
01732         "ncurses_bkgdset",
01733         "ncurses_border",
01734         "ncurses_can_change_color",
01735         "ncurses_cbreak",
01736         "ncurses_clear",
01737         "ncurses_clrtobot",
01738         "ncurses_clrtoeol",
01739         "ncurses_color_set",
01740         "ncurses_curs_set",
01741         "ncurses_define_key",
01742         "ncurses_def_prog_mode",
01743         "ncurses_def_shell_mode",
01744         "ncurses_delay_output",
01745         "ncurses_delch",
01746         "ncurses_deleteln",
01747         "ncurses_delwin",
01748         "ncurses_doupdate",
01749         "ncurses_echo",
01750         "ncurses_echochar",
01751         "ncurses_end",
01752         "ncurses_erase",
01753         "ncurses_erasechar",
01754         "ncurses_filter",
01755         "ncurses_flash",
01756         "ncurses_flushinp",
01757         "ncurses_getch",
01758         "ncurses_getmouse",
01759         "ncurses_halfdelay",
01760         "ncurses_has_colors",
01761         "ncurses_has_ic",
01762         "ncurses_has_il",
01763         "ncurses_has_key",
01764         "ncurses_hline",
01765         "ncurses_inch",
01766         "ncurses_init",
01767         "ncurses_init_color",
01768         "ncurses_init_pair",
01769         "ncurses_insch",
01770         "ncurses_insdelln",
01771         "ncurses_insertln",
01772         "ncurses_insstr",
01773         "ncurses_instr",
01774         "ncurses_isendwin",
01775         "ncurses_keyok",
01776         "ncurses_killchar",
01777         "ncurses_longname",
01778         "ncurses_mouseinterval",
01779         "ncurses_mousemask",
01780         "ncurses_move",
01781         "ncurses_mvaddch",
01782         "ncurses_mvaddchnstr",
01783         "ncurses_mvaddchstr",
01784         "ncurses_mvaddnstr",
01785         "ncurses_mvaddstr",
01786         "ncurses_mvcur",
01787         "ncurses_mvdelch",
01788         "ncurses_mvgetch",
01789         "ncurses_mvhline",
01790         "ncurses_mvinch",
01791         "ncurses_mvvline",
01792         "ncurses_mvwaddstr",
01793         "ncurses_napms",
01794         "ncurses_newwin",
01795         "ncurses_nl",
01796         "ncurses_nocbreak",
01797         "ncurses_noecho",
01798         "ncurses_nonl",
01799         "ncurses_noqiflush",
01800         "ncurses_noraw",
01801         "ncurses_putp",
01802         "ncurses_qiflush",
01803         "ncurses_raw",
01804         "ncurses_refresh",
01805         "ncurses_resetty",
01806         "ncurses_savetty",
01807         "ncurses_scr_dump",
01808         "ncurses_scr_init",
01809         "ncurses_scrl",
01810         "ncurses_scr_restore",
01811         "ncurses_scr_set",
01812         "ncurses_slk_attr",
01813         "ncurses_slk_attroff",
01814         "ncurses_slk_attron",
01815         "ncurses_slk_attrset",
01816         "ncurses_slk_clear",
01817         "ncurses_slk_color",
01818         "ncurses_slk_init",
01819         "ncurses_slk_noutrefresh",
01820         "ncurses_slk_refresh",
01821         "ncurses_slk_restore",
01822         "ncurses_slk_touch",
01823         "ncurses_standend",
01824         "ncurses_standout",
01825         "ncurses_start_color",
01826         "ncurses_termattrs",
01827         "ncurses_termname",
01828         "ncurses_timeout",
01829         "ncurses_typeahead",
01830         "ncurses_ungetch",
01831         "ncurses_ungetmouse",
01832         "ncurses_use_default_colors",
01833         "ncurses_use_env",
01834         "ncurses_use_extended_names",
01835         "ncurses_vidattr",
01836         "ncurses_vline",
01837         "ncurses_wrefresh",
01838         "new",
01839         "next",
01840         "nextframe",
01841         "next_sibling",
01842         "ngettext",
01843         "nl2br",
01844         "nl_langinfo",
01845         "node_name",
01846         "node_type",
01847         "node_value",
01848         "notations",
01849         "notes_body",
01850         "notes_copy_db",
01851         "notes_create_db",
01852         "notes_create_note",
01853         "notes_drop_db",
01854         "notes_find_note",
01855         "notes_header_info",
01856         "notes_list_msgs",
01857         "notes_mark_read",
01858         "notes_mark_unread",
01859         "notes_nav_create",
01860         "notes_search",
01861         "notes_unread",
01862         "notes_version",
01863         "NULL",
01864         "number_format",
01865         "ob_clean",
01866         "ob_end_clean",
01867         "ob_end_flush",
01868         "ob_flush",
01869         "ob_get_contents",
01870         "ob_get_length",
01871         "ob_get_level",
01872         "ob_get_status",
01873         "ob_gzhandler",
01874         "ob_iconv_handler",
01875         "ob_implicit_flush",
01876         "object",
01877         "objectbyanchor",
01878         "ob_start",
01879         "ocibindbyname",
01880         "ocicancel",
01881         "OCICollAppend",
01882         "ocicollassign",
01883         "ocicollassignelem",
01884         "ocicollgetelem",
01885         "ocicollmax",
01886         "ocicollsize",
01887         "ocicolltrim",
01888         "ocicolumnisnull",
01889         "ocicolumnname",
01890         "ocicolumnprecision",
01891         "ocicolumnscale",
01892         "ocicolumnsize",
01893         "ocicolumntype",
01894         "ocicolumntyperaw",
01895         "ocicommit",
01896         "ocidefinebyname",
01897         "ocierror",
01898         "ociexecute",
01899         "ocifetch",
01900         "ocifetchinto",
01901         "ocifetchstatement",
01902         "ocifreecollection",
01903         "ocifreecursor",
01904         "OCIFreeDesc",
01905         "ocifreestatement",
01906         "ociinternaldebug",
01907         "ociloadlob",
01908         "ocilogoff",
01909         "ocilogon",
01910         "ocinewcollection",
01911         "ocinewcursor",
01912         "ocinewdescriptor",
01913         "ocinlogon",
01914         "ocinumcols",
01915         "ociparse",
01916         "ociplogon",
01917         "ociresult",
01918         "ocirollback",
01919         "ocirowcount",
01920         "ocisavelob",
01921         "ocisavelobfile",
01922         "ociserverversion",
01923         "ocisetprefetch",
01924         "ocistatementtype",
01925         "ociwritelobtofile",
01926         "octdec",
01927         "odbc_autocommit",
01928         "odbc_binmode",
01929         "odbc_close",
01930         "odbc_close_all",
01931         "odbc_columnprivileges",
01932         "odbc_columns",
01933         "odbc_commit",
01934         "odbc_connect",
01935         "odbc_cursor",
01936         "odbc_data_source",
01937         "odbc_do",
01938         "odbc_error",
01939         "odbc_errormsg",
01940         "odbc_exec",
01941         "odbc_execute",
01942         "odbc_fetch_array",
01943         "odbc_fetch_into",
01944         "odbc_fetch_object",
01945         "odbc_fetch_row",
01946         "odbc_field_len",
01947         "odbc_field_name",
01948         "odbc_field_num",
01949         "odbc_field_precision",
01950         "odbc_field_scale",
01951         "odbc_field_type",
01952         "odbc_foreignkeys",
01953         "odbc_free_result",
01954         "odbc_gettypeinfo",
01955         "odbc_longreadlen",
01956         "odbc_next_result",
01957         "odbc_num_fields",
01958         "odbc_num_rows",
01959         "odbc_pconnect",
01960         "odbc_prepare",
01961         "odbc_primarykeys",
01962         "odbc_procedurecolumns",
01963         "odbc_procedures",
01964         "odbc_result",
01965         "odbc_result_all",
01966         "odbc_rollback",
01967         "odbc_setoption",
01968         "odbc_specialcolumns",
01969         "odbc_statistics",
01970         "odbc_tableprivileges",
01971         "odbc_tables",
01972         "opendir",
01973         "openlog",
01974         "openssl_csr_export",
01975         "openssl_csr_export_to_file",
01976         "openssl_csr_new",
01977         "openssl_csr_sign",
01978         "openssl_error_string",
01979         "openssl_free_key",
01980         "openssl_get_privatekey",
01981         "openssl_get_publickey",
01982         "openssl_open",
01983         "openssl_pkcs7_decrypt",
01984         "openssl_pkcs7_encrypt",
01985         "openssl_pkcs7_sign",
01986         "openssl_pkcs7_verify",
01987         "openssl_pkey_export",
01988         "openssl_pkey_export_to_file",
01989         "openssl_pkey_get_private",
01990         "openssl_pkey_get_public",
01991         "openssl_pkey_new",
01992         "openssl_private_decrypt",
01993         "openssl_private_encrypt",
01994         "openssl_public_decrypt",
01995         "openssl_public_encrypt",
01996         "openssl_seal",
01997         "openssl_sign",
01998         "openssl_verify",
01999         "openssl_x509_check_private_key",
02000         "openssl_x509_checkpurpose",
02001         "openssl_x509_export",
02002         "openssl_x509_export_to_file",
02003         "openssl_x509_free",
02004         "openssl_x509_parse",
02005         "openssl_x509_read",
02006         "ora_bind",
02007         "ora_close",
02008         "ora_columnname",
02009         "ora_columnsize",
02010         "ora_columntype",
02011         "ora_commit",
02012         "ora_commitoff",
02013         "ora_commiton",
02014         "ora_do",
02015         "ora_error",
02016         "ora_errorcode",
02017         "ora_exec",
02018         "ora_fetch",
02019         "ora_fetch_into",
02020         "ora_getcolumn",
02021         "ora_logoff",
02022         "ora_logon",
02023         "ora_numcols",
02024         "ora_numrows",
02025         "ora_open",
02026         "ora_parse",
02027         "ora_plogon",
02028         "ora_rollback",
02029         "ord",
02030         "output",
02031         "overload",
02032         "ovrimos_close",
02033         "ovrimos_commit",
02034         "ovrimos_connect",
02035         "ovrimos_cursor",
02036         "ovrimos_exec",
02037         "ovrimos_execute",
02038         "ovrimos_fetch_into",
02039         "ovrimos_fetch_row",
02040         "ovrimos_field_len",
02041         "ovrimos_field_name",
02042         "ovrimos_field_num",
02043         "ovrimos_field_type",
02044         "ovrimos_free_result",
02045         "ovrimos_longreadlen",
02046         "ovrimos_num_fields",
02047         "ovrimos_num_rows",
02048         "ovrimos_prepare",
02049         "ovrimos_result",
02050         "ovrimos_result_all",
02051         "ovrimos_rollback",
02052         "owner_document",
02053         "pack",
02054         "parent_node",
02055         "parents",
02056         "parse_ini_file",
02057         "parse_str",
02058         "parse_url",
02059         "passthru",
02060         "pathinfo",
02061         "PATH_TRANSLATED",
02062         "pclose",
02063         "pcntl_exec",
02064         "pcntl_fork",
02065         "pcntl_signal",
02066         "pcntl_waitpid",
02067         "pcntl_wexitstatus",
02068         "pcntl_wifexited",
02069         "pcntl_wifsignaled",
02070         "pcntl_wifstopped",
02071         "pcntl_wstopsig",
02072         "pcntl_wtermsig",
02073         "pdf_add_annotation",
02074         "pdf_add_bookmark",
02075         "pdf_add_launchlink",
02076         "pdf_add_locallink",
02077         "pdf_add_note",
02078         "pdf_add_outline",
02079         "pdf_add_pdflink",
02080         "pdf_add_thumbnail",
02081         "pdf_add_weblink",
02082         "pdf_arc",
02083         "pdf_arcn",
02084         "pdf_attach_file",
02085         "pdf_begin_page",
02086         "pdf_begin_pattern",
02087         "pdf_begin_template",
02088         "pdf_circle",
02089         "pdf_clip",
02090         "pdf_close",
02091         "pdf_close_image",
02092         "pdf_closepath",
02093         "pdf_closepath_fill_stroke",
02094         "pdf_closepath_stroke",
02095         "pdf_close_pdi",
02096         "pdf_close_pdi_page",
02097         "pdf_concat",
02098         "pdf_continue_text",
02099         "pdf_curveto",
02100         "pdf_delete",
02101         "pdf_end_page",
02102         "pdf_endpath",
02103         "pdf_end_pattern",
02104         "pdf_end_template",
02105         "pdf_fill",
02106         "pdf_fill_stroke",
02107         "pdf_findfont",
02108         "pdf_get_buffer",
02109         "pdf_get_font",
02110         "pdf_get_fontname",
02111         "pdf_get_fontsize",
02112         "pdf_get_image_height",
02113         "pdf_get_image_width",
02114         "pdf_get_majorversion",
02115         "pdf_get_minorversion",
02116         "pdf_get_parameter",
02117         "pdf_get_pdi_parameter",
02118         "pdf_get_pdi_value",
02119         "pdf_get_value",
02120         "pdf_initgraphics",
02121         "pdf_lineto",
02122         "pdf_makespotcolor",
02123         "pdf_moveto",
02124         "pdf_new",
02125         "pdf_open",
02126         "pdf_open_CCITT",
02127         "pdf_open_file",
02128         "pdf_open_gif",
02129         "pdf_open_image",
02130         "pdf_open_image_file",
02131         "pdf_open_jpeg",
02132         "pdf_open_memory_image",
02133         "pdf_open_pdi",
02134         "pdf_open_pdi_page",
02135         "pdf_open_png",
02136         "pdf_open_tiff",
02137         "pdf_place_image",
02138         "pdf_place_pdi_page",
02139         "pdf_rect",
02140         "pdf_restore",
02141         "pdf_rotate",
02142         "pdf_save",
02143         "pdf_scale",
02144         "pdf_set_border_color",
02145         "pdf_set_border_dash",
02146         "pdf_set_border_style",
02147         "pdf_set_char_spacing",
02148         "pdf_setcolor",
02149         "pdf_setdash",
02150         "pdf_set_duration",
02151         "pdf_setflat",
02152         "pdf_set_font",
02153         "pdf_setfont",
02154         "pdf_setgray",
02155         "pdf_setgray_fill",
02156         "pdf_setgray_stroke",
02157         "pdf_set_horiz_scaling",
02158         "pdf_set_info",
02159         "pdf_set_info_author",
02160         "pdf_set_info_creator",
02161         "pdf_set_info_keywords",
02162         "pdf_set_info_subject",
02163         "pdf_set_info_title",
02164         "pdf_set_leading",
02165         "pdf_setlinecap",
02166         "pdf_setlinejoin",
02167         "pdf_setlinewidth",
02168         "pdf_setmatrix",
02169         "pdf_setmiterlimit",
02170         "pdf_set_parameter",
02171         "pdf_setpolydash",
02172         "pdf_setrgbcolor",
02173         "pdf_setrgbcolor_fill",
02174         "pdf_setrgbcolor_stroke",
02175         "pdf_set_text_matrix",
02176         "pdf_set_text_pos",
02177         "pdf_set_text_rendering",
02178         "pdf_set_text_rise",
02179         "pdf_set_value",
02180         "pdf_set_word_spacing",
02181         "pdf_show",
02182         "pdf_show_boxed",
02183         "pdf_show_xy",
02184         "pdf_skew",
02185         "pdf_stringwidth",
02186         "pdf_stroke",
02187         "pdf_translate",
02188         "PEAR_EXTENSION_DIR",
02189         "PEAR_INSTALL_DIR",
02190         "pfpro_cleanup",
02191         "pfpro_init",
02192         "pfpro_process",
02193         "pfpro_process_raw",
02194         "pfpro_version",
02195         "pfsockopen",
02196         "pg_affected_rows",
02197         "pg_cancel_query",
02198         "pg_client_encoding",
02199         "pg_close",
02200         "pg_connect",
02201         "pg_connection_busy",
02202         "pg_connection_reset",
02203         "pg_connection_status",
02204         "pg_convert",
02205         "pg_copy_from",
02206         "pg_copy_to",
02207         "pg_dbname",
02208         "pg_delete",
02209         "pg_end_copy",
02210         "pg_escape_bytea",
02211         "pg_escape_string",
02212         "pg_fetch_all",
02213         "pg_fetch_array",
02214         "pg_fetch_assoc",
02215         "pg_fetch_object",
02216         "pg_fetch_result",
02217         "pg_fetch_row",
02218         "pg_field_is_null",
02219         "pg_field_name",
02220         "pg_field_num",
02221         "pg_field_prtlen",
02222         "pg_field_size",
02223         "pg_field_type",
02224         "pg_free_result",
02225         "pg_get_notify",
02226         "pg_get_pid",
02227         "pg_get_result",
02228         "pg_host",
02229         "pg_insert",
02230         "pg_last_error",
02231         "pg_last_notice",
02232         "pg_last_oid",
02233         "pg_lo_close",
02234         "pg_lo_create",
02235         "pg_lo_export",
02236         "pg_lo_import",
02237         "pg_lo_open",
02238         "pg_lo_read",
02239         "pg_lo_read_all",
02240         "pg_lo_seek",
02241         "pg_lo_tell",
02242         "pg_lo_unlink",
02243         "pg_lo_write",
02244         "pg_meta_data",
02245         "pg_num_fields",
02246         "pg_num_rows",
02247         "pg_options",
02248         "pg_pconnect",
02249         "pg_ping",
02250         "pg_port",
02251         "pg_put_line",
02252         "pg_query",
02253         "pg_result_error",
02254         "pg_result_seek",
02255         "pg_result_status",
02256         "pg_select",
02257         "pg_send_query",
02258         "pg_set_client_encoding",
02259         "pg_trace",
02260         "pg_tty",
02261         "pg_unescape_bytea",
02262         "pg_untrace",
02263         "pg_update",
02264         "PHP_BINDIR",
02265         "PHP_CONFIG_FILE_PATH",
02266         "phpcredits",
02267         "PHP_DATADIR",
02268         "PHP_ERRMSG",
02269         "PHP_EXTENSION_DIR",
02270         "phpinfo",
02271         "php_ini_scanned_files",
02272         "PHP_LIBDIR",
02273         "PHP_LOCALSTATEDIR",
02274         "php_logo_guid",
02275         "PHP_OS",
02276         "PHP_OUTPUT_HANDLER_CONT",
02277         "PHP_OUTPUT_HANDLER_END",
02278         "PHP_OUTPUT_HANDLER_START",
02279         "php_sapi_name",
02280         "PHP_SELF",
02281         "PHP_SYSCONFDIR",
02282         "php_uname",
02283         "phpversion",
02284         "PHP_VERSION",
02285         "pi",
02286         "png2wbmp",
02287         "popen",
02288         "pos",
02289         "posix_ctermid",
02290         "posix_getcwd",
02291         "posix_getegid",
02292         "posix_geteuid",
02293         "posix_getgid",
02294         "posix_getgrgid",
02295         "posix_getgrnam",
02296         "posix_getgroups",
02297         "posix_getlogin",
02298         "posix_getpgid",
02299         "posix_getpgrp",
02300         "posix_getpid",
02301         "posix_getppid",
02302         "posix_getpwnam",
02303         "posix_getpwuid",
02304         "posix_getrlimit",
02305         "posix_getsid",
02306         "posix_getuid",
02307         "posix_isatty",
02308         "posix_kill",
02309         "posix_mkfifo",
02310         "posix_setegid",
02311         "posix_seteuid",
02312         "posix_setgid",
02313         "posix_setpgid",
02314         "posix_setsid",
02315         "posix_setuid",
02316         "posix_times",
02317         "posix_ttyname",
02318         "posix_uname",
02319         "_POST",
02320         "pow",
02321         "prefix",
02322         "preg_grep",
02323         "preg_match",
02324         "preg_match_all",
02325         "preg_quote",
02326         "preg_replace",
02327         "preg_replace_callback",
02328         "preg_split",
02329         "prev",
02330         "previous_sibling",
02331         "print",
02332         "printer_abort",
02333         "printer_close",
02334         "printer_create_brush",
02335         "printer_create_dc",
02336         "printer_create_font",
02337         "printer_create_pen",
02338         "printer_delete_brush",
02339         "printer_delete_dc",
02340         "printer_delete_font",
02341         "printer_delete_pen",
02342         "printer_draw_bmp",
02343         "printer_draw_chord",
02344         "printer_draw_elipse",
02345         "printer_draw_line",
02346         "printer_draw_pie",
02347         "printer_draw_rectangle",
02348         "printer_draw_roundrect",
02349         "printer_draw_text",
02350         "printer_end_doc",
02351         "printer_end_page",
02352         "printer_get_option",
02353         "printer_list",
02354         "printer_logical_fontheight",
02355         "printer_open",
02356         "printer_select_brush",
02357         "printer_select_font",
02358         "printer_select_pen",
02359         "printer_set_option",
02360         "printer_start_doc",
02361         "printer_start_page",
02362         "printer_write",
02363         "printf",
02364         "print_r",
02365         "private",
02366         "proc_close",
02367         "process",
02368         "proc_open",
02369         "protected",
02370         "pspell_add_to_personal",
02371         "pspell_add_to_session",
02372         "pspell_check",
02373         "pspell_clear_session",
02374         "pspell_config_create",
02375         "pspell_config_ignore",
02376         "pspell_config_mode",
02377         "pspell_config_personal",
02378         "pspell_config_repl",
02379         "pspell_config_runtogether",
02380         "pspell_config_save_repl",
02381         "pspell_new",
02382         "pspell_new_config",
02383         "pspell_new_personal",
02384         "pspell_save_wordlist",
02385         "pspell_store_replacement",
02386         "pspell_suggest",
02387         "public",
02388         "public_id",
02389         "putenv",
02390         "qdom_error",
02391         "qdom_tree",
02392         "QUERY_STRING",
02393         "quoted_printable_decode",
02394         "quotemeta",
02395         "rad2deg",
02396         "rand",
02397         "range",
02398         "rawurldecode",
02399         "rawurlencode",
02400         "read",
02401         "readdir",
02402         "read_exif_data",
02403         "readfile",
02404         "readgzfile",
02405         "readline",
02406         "readline_add_history",
02407         "readline_clear_history",
02408         "readline_completion_function",
02409         "readline_info",
02410         "readline_list_history",
02411         "readline_read_history",
02412         "readline_write_history",
02413         "readlink",
02414         "realpath",
02415         "reason",
02416         "recode",
02417         "recode_file",
02418         "recode_string",
02419         "register_shutdown_function",
02420         "register_tick_function",
02421         "REMOTE_ADDR",
02422         "REMOTE_PORT",
02423         "remove",
02424         "remove_attribute",
02425         "remove_child",
02426         "rename",
02427         "replace",
02428         "replace_child",
02429         "replace_node",
02430         "_REQUEST",
02431         "REQUEST_METHOD",
02432         "REQUEST_URI",
02433         "require",
02434         "require_once",
02435         "reset",
02436         "restore_error_handler",
02437         "restore_include_path",
02438         "result_dump_file",
02439         "result_dump_mem",
02440         "return",
02441         "rewind",
02442         "rewinddir",
02443         "rmdir",
02444         "Rotate",
02445         "rotateTo",
02446         "round",
02447         "rsort",
02448         "rtrim",
02449         "save",
02450         "scale",
02451         "scaleTo",
02452         "SCRIPT_FILENAME",
02453         "SCRIPT_NAME",
02454         "sem_acquire",
02455         "sem_get",
02456         "sem_release",
02457         "sem_remove",
02458         "serialize",
02459         "_SERVER",
02460         "SERVER_ADMIN",
02461         "SERVER_NAME",
02462         "SERVER_PORT",
02463         "SERVER_PROTOCOL",
02464         "SERVER_SIGNATURE",
02465         "SERVER_SOFTWARE",
02466         "sesam_affected_rows",
02467         "sesam_commit",
02468         "sesam_connect",
02469         "sesam_diagnostic",
02470         "sesam_disconnect",
02471         "sesam_errormsg",
02472         "sesam_execimm",
02473         "sesam_fetch_array",
02474         "sesam_fetch_result",
02475         "sesam_fetch_row",
02476         "sesam_field_array",
02477         "sesam_field_name",
02478         "sesam_free_result",
02479         "sesam_num_fields",
02480         "sesam_query",
02481         "sesam_rollback",
02482         "sesam_seek_row",
02483         "sesam_settransaction",
02484         "_SESSION",
02485         "session_cache_expire",
02486         "session_cache_limiter",
02487         "session_decode",
02488         "session_destroy",
02489         "session_encode",
02490         "session_get_cookie_params",
02491         "session_id",
02492         "session_is_registered",
02493         "session_module_name",
02494         "session_name",
02495         "session_readonly",
02496         "session_register",
02497         "session_save_path",
02498         "session_set_cookie_params",
02499         "session_set_save_handler",
02500         "session_start",
02501         "session_unregister",
02502         "session_unset",
02503         "session_write_close",
02504         "setAction",
02505         "set_attribute",
02506         "setbackground",
02507         "setbounds",
02508         "setcolor",
02509         "setColor",
02510         "setcommitedversion",
02511         "set_content",
02512         "setcookie",
02513         "setDepth",
02514         "setdimension",
02515         "setdown",
02516         "set_error_handler",
02517         "set_file_buffer",
02518         "setFont",
02519         "setframes",
02520         "setHeight",
02521         "setHit",
02522         "set_include_path",
02523         "setindentation",
02524         "setLeftFill",
02525         "setLeftMargin",
02526         "setLine",
02527         "setLineSpacing",
02528         "setlocale",
02529         "set_magic_quotes_runtime",
02530         "setMargins",
02531         "set_name",
02532         "setname",
02533         "setName",
02534         "set_namespace",
02535         "setOver",
02536         "setrate",
02537         "setRatio",
02538         "setRightFill",
02539         "setrightMargin",
02540         "setSpacing",
02541         "set_time_limit",
02542         "settype",
02543         "setUp",
02544         "sha1",
02545         "sha1_file",
02546         "shell_exec",
02547         "shm_attach",
02548         "shm_detach",
02549         "shm_get_var",
02550         "shmop_close",
02551         "shmop_delete",
02552         "shmop_open",
02553         "shmop_read",
02554         "shmop_size",
02555         "shmop_write",
02556         "shm_put_var",
02557         "shm_remove",
02558         "shm_remove_var",
02559         "show_source",
02560         "shuffle",
02561         "similar_text",
02562         "sin",
02563         "sinh",
02564         "sizeof",
02565         "skewX",
02566         "skewXTo",
02567         "skewY",
02568         "skewYTo",
02569         "sleep",
02570         "snmpget",
02571         "snmp_get_quick_print",
02572         "snmprealwalk",
02573         "snmpset",
02574         "snmp_set_quick_print",
02575         "snmpwalk",
02576         "snmpwalkoid",
02577         "socket_accept",
02578         "socket_bind",
02579         "socket_clear_error",
02580         "socket_close",
02581         "socket_connect",
02582         "socket_create",
02583         "socket_create_listen",
02584         "socket_create_pair",
02585         "socket_get_option",
02586         "socket_getpeername",
02587         "socket_getsockname",
02588         "socket_get_status",
02589         "socket_iovec_add",
02590         "socket_iovec_alloc",
02591         "socket_iovec_delete",
02592         "socket_iovec_fetch",
02593         "socket_iovec_free",
02594         "socket_iovec_set",
02595         "socket_last_error",
02596         "socket_listen",
02597         "socket_read",
02598         "socket_readv",
02599         "socket_recv",
02600         "socket_recvfrom",
02601         "socket_recvmsg",
02602         "socket_select",
02603         "socket_send",
02604         "socket_sendmsg",
02605         "socket_sendto",
02606         "socket_set_blocking",
02607         "socket_set_nonblock",
02608         "socket_set_option",
02609         "socket_set_timeout",
02610         "socket_shutdown",
02611         "socket_strerror",
02612         "socket_write",
02613         "socket_writev",
02614         "sort",
02615         "soundex",
02616         "specified",
02617         "split",
02618         "spliti",
02619         "sprintf",
02620         "sql_regcase",
02621         "sqrt",
02622         "srand",
02623         "srcanchors",
02624         "srcsofdst",
02625         "sscanf",
02626         "stat",
02627         "static",
02628         "stdClass",
02629         "strcasecmp",
02630         "strchr",
02631         "strcmp",
02632         "strcoll",
02633         "strcspn",
02634         "stream_context_create",
02635         "stream_context_get_options",
02636         "stream_context_set_option",
02637         "stream_context_set_params",
02638         "stream_filter_append",
02639         "stream_filter_prepend",
02640         "stream_get_filters",
02641         "stream_get_meta_data",
02642         "stream_get_wrappers",
02643         "streammp3",
02644         "stream_register_filter",
02645         "stream_register_wrapper",
02646         "stream_select",
02647         "stream_set_blocking",
02648         "stream_set_timeout",
02649         "stream_set_write_buffer",
02650         "strftime",
02651         "stripcslashes",
02652         "stripslashes",
02653         "strip_tags",
02654         "stristr",
02655         "strlen",
02656         "strnatcasecmp",
02657         "strnatcmp",
02658         "strncasecmp",
02659         "strncmp",
02660         "str_pad",
02661         "strpos",
02662         "strrchr",
02663         "str_repeat",
02664         "str_replace",
02665         "strrev",
02666         "str_rot13",
02667         "strrpos",
02668         "str_shuffle",
02669         "strspn",
02670         "strstr",
02671         "strtok",
02672         "strtolower",
02673         "strtotime",
02674         "strtoupper",
02675         "strtr",
02676         "strval",
02677         "str_word_count",
02678         "substr",
02679         "substr_count",
02680         "substr_replace",
02681         "SWFAction",
02682         "swf_actiongeturl",
02683         "swf_actiongotoframe",
02684         "swf_actiongotolabel",
02685         "swf_actionnextframe",
02686         "swf_actionplay",
02687         "swf_actionprevframe",
02688         "swf_actionsettarget",
02689         "swf_actionstop",
02690         "swf_actiontogglequality",
02691         "swf_actionwaitforframe",
02692         "swf_addbuttonrecord",
02693         "swf_addcolor",
02694         "SWFBitmap",
02695         "SWFbutton",
02696         "swfbutton_keypress",
02697         "swf_closefile",
02698         "swf_definebitmap",
02699         "swf_definefont",
02700         "swf_defineline",
02701         "swf_definepoly",
02702         "swf_definerect",
02703         "swf_definetext",
02704         "SWFDisplayItem",
02705         "swf_endbutton",
02706         "swf_enddoaction",
02707         "swf_endshape",
02708         "swf_endsymbol",
02709         "SWFFill",
02710         "SWFFont",
02711         "swf_fontsize",
02712         "swf_fontslant",
02713         "swf_fonttracking",
02714         "swf_getbitmapinfo",
02715         "swf_getfontinfo",
02716         "swf_getframe",
02717         "SWFGradient",
02718         "swf_labelframe",
02719         "swf_lookat",
02720         "swf_modifyobject",
02721         "SWFMorph",
02722         "SWFMovie",
02723         "swf_mulcolor",
02724         "swf_nextid",
02725         "swf_oncondition",
02726         "swf_openfile",
02727         "swf_ortho",
02728         "swf_ortho2",
02729         "swf_perspective",
02730         "swf_placeobject",
02731         "swf_polarview",
02732         "swf_popmatrix",
02733         "swf_posround",
02734         "swf_pushmatrix",
02735         "swf_removeobject",
02736         "swf_rotate",
02737         "swf_scale",
02738         "swf_setfont",
02739         "swf_setframe",
02740         "SWFShape",
02741         "swf_shapearc",
02742         "swf_shapecurveto",
02743         "swf_shapecurveto3",
02744         "swf_shapefillbitmapclip",
02745         "swf_shapefillbitmaptile",
02746         "swf_shapefilloff",
02747         "swf_shapefillsolid",
02748         "swf_shapelinesolid",
02749         "swf_shapelineto",
02750         "swf_shapemoveto",
02751         "swf_showframe",
02752         "SWFSprite",
02753         "swf_startbutton",
02754         "swf_startdoaction",
02755         "swf_startshape",
02756         "swf_startsymbol",
02757         "SWFText",
02758         "SWFTextField",
02759         "swf_textwidth",
02760         "swf_translate",
02761         "swf_viewport",
02762         "switch",
02763         "sybase_affected_rows",
02764         "sybase_close",
02765         "sybase_connect",
02766         "sybase_data_seek",
02767         "sybase_fetch_array",
02768         "sybase_fetch_field",
02769         "sybase_fetch_object",
02770         "sybase_fetch_row",
02771         "sybase_field_seek",
02772         "sybase_free_result",
02773         "sybase_get_last_message",
02774         "sybase_min_client_severity",
02775         "sybase_min_error_severity",
02776         "sybase_min_message_severity",
02777         "sybase_min_server_severity",
02778         "sybase_num_fields",
02779         "sybase_num_rows",
02780         "sybase_pconnect",
02781         "sybase_query",
02782         "sybase_result",
02783         "sybase_select_db",
02784         "symlink",
02785         "syslog",
02786         "system",
02787         "system_id",
02788         "tagname",
02789         "tan",
02790         "tanh",
02791         "target",
02792         "tempnam",
02793         "textdomain",
02794         "time",
02795         "title",
02796         "tmpfile",
02797         "token_get_all",
02798         "token_name",
02799         "touch",
02800         "trigger_error",
02801         "trim",
02802         "TRUE",
02803         "type",
02804         "uasort",
02805         "ucfirst",
02806         "ucwords",
02807         "udm_add_search_limit",
02808         "udm_alloc_agent",
02809         "udm_api_version",
02810         "udm_cat_list",
02811         "udm_cat_path",
02812         "udm_check_charset",
02813         "udm_check_stored",
02814         "udm_clear_search_limits",
02815         "udm_close_stored",
02816         "udm_crc32",
02817         "udm_errno",
02818         "udm_error",
02819         "udm_find",
02820         "udm_free_agent",
02821         "udm_free_ispell_data",
02822         "udm_free_res",
02823         "udm_get_doc_count",
02824         "udm_get_res_field",
02825         "udm_get_res_param",
02826         "udm_load_ispell_data",
02827         "udm_open_stored",
02828         "udm_set_agent_param",
02829         "uksort",
02830         "umask",
02831         "uniqid",
02832         "unixtojd",
02833         "unlink",
02834         "unlink_node",
02835         "unlock",
02836         "unpack",
02837         "unregister_tick_function",
02838         "unserialize",
02839         "unset",
02840         "urldecode",
02841         "urlencode",
02842         "user",
02843         "user_error",
02844         "userlist",
02845         "usleep",
02846         "usort",
02847         "utf8_decode",
02848         "utf8_encode",
02849         "value",
02850         "values",
02851         "var",
02852         "var_dump",
02853         "var_export",
02854         "version_compare",
02855         "virtual",
02856         "vpopmail_add_alias_domain",
02857         "vpopmail_add_alias_domain_ex",
02858         "vpopmail_add_domain",
02859         "vpopmail_add_domain_ex",
02860         "vpopmail_add_user",
02861         "vpopmail_alias_add",
02862         "vpopmail_alias_del",
02863         "vpopmail_alias_del_domain",
02864         "vpopmail_alias_get",
02865         "vpopmail_alias_get_all",
02866         "vpopmail_auth_user",
02867         "vpopmail_del_domain",
02868         "vpopmail_del_domain_ex",
02869         "vpopmail_del_user",
02870         "vpopmail_error",
02871         "vpopmail_passwd",
02872         "vpopmail_set_user_quota",
02873         "vprintf",
02874         "vsprintf",
02875         "w32api_deftype",
02876         "w32api_init_dtype",
02877         "w32api_invoke_function",
02878         "w32api_register_function",
02879         "w32api_set_call_method",
02880         "wddx_add_vars",
02881         "wddx_deserialize",
02882         "wddx_packet_end",
02883         "wddx_packet_start",
02884         "wddx_serialize_value",
02885         "wddx_serialize_vars",
02886         "while",
02887         "wordwrap",
02888         "xinclude",
02889         "xml_error_string",
02890         "xml_get_current_byte_index",
02891         "xml_get_current_column_number",
02892         "xml_get_current_line_number",
02893         "xml_get_error_code",
02894         "xml_parse",
02895         "xml_parse_into_struct",
02896         "xml_parser_create",
02897         "xml_parser_create_ns",
02898         "xml_parser_free",
02899         "xml_parser_get_option",
02900         "xml_parser_set_option",
02901         "xmlrpc_decode",
02902         "xmlrpc_decode_request",
02903         "xmlrpc_encode",
02904         "xmlrpc_encode_request",
02905         "xmlrpc_get_type",
02906         "xmlrpc_parse_method_descriptions",
02907         "xmlrpc_server_add_introspection_data",
02908         "xmlrpc_server_call_method",
02909         "xmlrpc_server_create",
02910         "xmlrpc_server_destroy",
02911         "xmlrpc_server_register_introspection_callback",
02912         "xmlrpc_server_register_method",
02913         "xmlrpc_set_type",
02914         "xml_set_character_data_handler",
02915         "xml_set_default_handler",
02916         "xml_set_element_handler",
02917         "xml_set_end_namespace_decl_handler",
02918         "xml_set_external_entity_ref_handler",
02919         "xml_set_notation_decl_handler",
02920         "xml_set_object",
02921         "xml_set_processing_instruction_handler",
02922         "xml_set_start_namespace_decl_handler",
02923         "xml_set_unparsed_entity_decl_handler",
02924         "xpath_eval",
02925         "xpath_eval_expression",
02926         "xpath_new_context",
02927         "xptr_eval",
02928         "xptr_new_context",
02929         "xslt_create",
02930         "xslt_errno",
02931         "xslt_error",
02932         "xslt_free",
02933         "xslt_output_process",
02934         "xslt_set_base",
02935         "xslt_set_encoding",
02936         "xslt_set_error_handler",
02937         "xslt_set_log",
02938         "xslt_set_sax_handler",
02939         "xslt_set_sax_handlers",
02940         "xslt_set_scheme_handler",
02941         "xslt_set_scheme_handlers",
02942         "yaz_addinfo",
02943         "yaz_ccl_conf",
02944         "yaz_ccl_parse",
02945         "yaz_close",
02946         "yaz_connect",
02947         "yaz_database",
02948         "yaz_element",
02949         "yaz_errno",
02950         "yaz_error",
02951         "yaz_get_option",
02952         "yaz_hits",
02953         "yaz_itemorder",
02954         "yaz_present",
02955         "yaz_range",
02956         "yaz_record",
02957         "yaz_scan",
02958         "yaz_scan_result",
02959         "yaz_schema",
02960         "yaz_search",
02961         "yaz_set_option",
02962         "yaz_sort",
02963         "yaz_syntax",
02964         "yaz_wait",
02965         "yp_all",
02966         "yp_cat",
02967         "yp_errno",
02968         "yp_err_string",
02969         "yp_first",
02970         "yp_get_default_domain",
02971         "yp_master",
02972         "yp_match",
02973         "yp_next",
02974         "yp_order",
02975         "zend_logo_guid",
02976         "zend_version",
02977         "zend_version",
02978         "zip_close",
02979         "zip_entry_close",
02980         "zip_entry_compressedsize",
02981         "zip_entry_compressionmethod",
02982         "zip_entry_filesize",
02983         "zip_entry_name",
02984         "zip_entry_open",
02985         "zip_entry_read",
02986         "zip_open",
02987         "zip_read",
02988         0
02989     };
02990 
02991 Php5Writer::Php5Writer() {
02992 }
02993 
02994 Php5Writer::~Php5Writer() {}
02995 
02996 
02997 void Php5Writer::writeClass(UMLClassifier *c) {
02998     if(!c) {
02999         kDebug()<<"Cannot write class of NULL concept!" << endl;
03000         return;
03001     }
03002 
03003     QString classname = cleanName(c->getName());
03004     //find an appropriate name for our file
03005     QString fileName = findFileName(c, ".php");
03006     if (fileName.isEmpty()) {
03007         emit codeGenerated(c, false);
03008         return;
03009     }
03010 
03011     QFile filephp;
03012     if(!openFile(filephp, fileName)) {
03013         emit codeGenerated(c, false);
03014         return;
03015     }
03016     QTextStream php(&filephp);
03017 
03019     //Start generating the code!!
03021 
03022 
03023     //try to find a heading file (license, coments, etc)
03024     QString str;
03025     str = getHeadingFile(".php");
03026     if(!str.isEmpty()) {
03027         str.replace(QRegExp("%filename%"),fileName);
03028         str.replace(QRegExp("%filepath%"),filephp.name());
03029         php<<str<<m_endl;
03030     }
03031 
03032 
03033     //write includes
03034     UMLPackageList includes;
03035     findObjectsRelated(c,includes);
03036     UMLPackage *conc;
03037     for(conc = includes.first(); conc ;conc = includes.next()) {
03038         QString headerName = findFileName(conc, ".php");
03039         if (!headerName.isEmpty()) {
03040             php << "require_once '" << headerName << "';" << m_endl;
03041         }
03042     }
03043     php << m_endl;
03044 
03045     //Write class Documentation if there is somthing or if force option
03046     if(forceDoc() || !c->getDoc().isEmpty()) {
03047         php << m_endl << "" << m_endl ;
03051     }
03052 
03053     UMLClassifierList superclasses = c->getSuperClasses();
03054     UMLAssociationList aggregations = c->getAggregations();
03055     UMLAssociationList compositions = c->getCompositions();
03056     UMLAssociationList realizations = c->getRealizations();
03057     UMLAssociation *a;
03058     bool isInterface = c->isInterface();
03059 
03060     //check if it is an interface or regular class
03061     if(isInterface) {
03062         php << "interface " << classname;
03063     } else {
03064         //check if class is abstract and / or has abstract methods
03065         if(c->getAbstract())
03066             php << "abstract ";
03067         php << "class " << classname << (superclasses.count() > 0 ? " extends ":"");
03068         if(superclasses.count() > 0) {
03069             //php5 does not support multiple inheritance so only use the first one and print a warning if more are used
03070             UMLClassifier *obj = superclasses.first();
03071             php << cleanName(obj->getName());
03072             if(superclasses.count() > 1)
03073                 php << m_indentation << "//WARNING: PHP5 does not support multiple inheritance but there is more than 1 superclass defined in your UML model!";
03074         }
03075         //check for realizations
03076         if( !realizations.isEmpty()) {
03077             int rc = realizations.count();
03078             int ri = rc;
03079             for (a = realizations.first(); a; a = realizations.next()) {
03080                 UMLObject *o = a->getObject(Uml::B);
03081                 QString typeName = cleanName(o->getName());
03082                 if(ri == rc)
03083                     php << m_endl << m_indentation << m_indentation << m_indentation <<  "implements ";
03084                 php << typeName << (--rc == 0 ? "" : ", ");
03085             }
03086         }
03087     }
03088     php << m_endl << '{' << m_endl;
03089 
03090     //associations
03091     if( forceSections() || !aggregations.isEmpty()) {
03092         php<< m_endl << m_indentation << "/** Aggregations: */" << m_endl;
03093         for (a = aggregations.first(); a; a = aggregations.next()) {
03094             php<< m_endl;
03095             //maybe we should parse the string here and take multiplicity into account to decide
03096             //which container to use.
03097             UMLObject *o = a->getObject(Uml::A);
03098             if (o == NULL) {
03099                 kError() << "aggregation role A object is NULL" << endl;
03100                 continue;
03101             }
03102             QString typeName = cleanName(o->getName());
03103             if (a->getMulti(Uml::A).isEmpty())  {
03104                 php << m_indentation << "var $m_" << ';' << m_endl;
03105             } else {
03106                 php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
03107             }
03108         }//end for
03109     }
03110 
03111     if( forceSections() || !compositions.isEmpty()) {
03112         php<< m_endl << m_indentation << "/** Compositions: */" << m_endl;
03113         for (a = compositions.first(); a ; a = compositions.next()) {
03114             // see comment on Aggregation about multiplicity...
03115             UMLObject *o = a->getObject(Uml::A);
03116             if (o == NULL) {
03117                 kError() << "composition role A object is NULL" << endl;
03118                 continue;
03119             }
03120             QString typeName = cleanName(o->getName());
03121             if (a->getMulti(Uml::A).isEmpty())  {
03122                 php << m_indentation << "var $m_" << ';' << m_endl;
03123             } else {
03124                 php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
03125             }
03126         }
03127     }
03128 
03129     //attributes
03130     if (!isInterface)
03131         writeAttributes(c, php);
03132 
03133     //operations
03134     writeOperations(c,php);
03135 
03136     php << m_endl;
03137 
03138     //finish file
03139     php <<  m_endl << "} // end of " << classname << m_endl;
03140     php << "?>" << m_endl;
03141 
03142     //close files and notfiy we are done
03143     filephp.close();
03144     emit codeGenerated(c, true);
03145 }
03146 
03148 //  Helper Methods
03149 
03150 void Php5Writer::writeOperations(UMLClassifier *c, QTextStream &php) {
03151 
03152     //Lists to store operations  sorted by scope
03153     UMLOperationList oppub,opprot,oppriv;
03154 
03155     bool isInterface = c->isInterface();
03156     bool generateErrorStub = false;
03157 
03158     oppub.setAutoDelete(false);
03159     opprot.setAutoDelete(false);
03160     oppriv.setAutoDelete(false);
03161 
03162     //sort operations by scope first and see if there are abstract methods
03163     UMLOperationList opl(c->getOpList());
03164     for(UMLOperation *op = opl.first(); op ; op = opl.next()) {
03165         switch(op->getVisibility()) {
03166           case Uml::Visibility::Public:
03167             oppub.append(op);
03168             break;
03169           case Uml::Visibility::Protected:
03170             opprot.append(op);
03171             break;
03172           case Uml::Visibility::Private:
03173             oppriv.append(op);
03174             break;
03175           default:
03176             break;
03177         }
03178     }
03179 
03180     QString classname(cleanName(c->getName()));
03181 
03182     //write operations to file
03183     if(forceSections() || !oppub.isEmpty()) {
03184         php << m_endl;
03185         writeOperations(classname,oppub,php,isInterface,generateErrorStub);
03186     }
03187 
03188     if(forceSections() || !opprot.isEmpty()) {
03189         php << m_endl;
03190         writeOperations(classname,opprot,php,isInterface,generateErrorStub);
03191     }
03192 
03193     if(forceSections() || !oppriv.isEmpty()) {
03194         php << m_endl;
03195         writeOperations(classname,oppriv,php,isInterface,generateErrorStub);
03196     }
03197 
03198 
03199     // build an oplist for all of the realized operations
03200     UMLOperationList opreal;
03201     opreal.setAutoDelete(false);
03202 
03203     // go through each of the realizations, taking each op
03204     UMLAssociationList realizations = c->getRealizations();
03205     UMLAssociation *a;
03206 
03207     if( !realizations.isEmpty()) {
03208         for (a = realizations.first(); a; a = realizations.next()) {
03209 
03210             // we know its a classifier if its in the list
03211             UMLClassifier *real = (UMLClassifier*)a->getObject(Uml::B);
03212 
03213             UMLOperationList opl(real->getOpList());
03214                for(UMLOperation *op = opl.first(); op ; op = opl.next()) {
03215                    opreal.append(op);
03216                }
03217         }
03218     }
03219 
03220     // write out all the realizations operations
03221     writeOperations(classname,opreal,php,false,true);
03222 
03223 }
03224 
03225 void Php5Writer::writeOperations(const QString &/* classname */, UMLOperationList &opList,
03226                                  QTextStream &php, bool isInterface /* = false */,
03227                                  bool generateErrorStub /* = false */) {
03228     for (UMLOperation *op=opList.first(); op ; op=opList.next()) {
03229         UMLAttributeList atl = op->getParmList();
03230         UMLAttribute *at;
03231         //write method doc if we have doc || if at least one of the params has doc
03232         bool writeDoc = forceDoc() || !op->getDoc().isEmpty();
03233         for (at = atl.first(); at; at = atl.next())
03234             writeDoc |= !at->getDoc().isEmpty();
03235 
03236         if( writeDoc )  //write method documentation
03237         {
03238             php <<m_indentation << "" << m_endl;
03265         }//end if : write method documentation
03266 
03267         php <<  m_indentation;
03268         if (op->getAbstract()) php << "abstract ";
03269         switch(op->getVisibility()) {
03270           case Uml::Visibility::Public:
03271             php << "public ";
03272             break;
03273           case Uml::Visibility::Protected:
03274             php << "protected ";
03275             break;
03276           case Uml::Visibility::Private:
03277             php << "private ";
03278             break;
03279           default:
03280             break;
03281         }
03282         if (op->getStatic()) php << "static ";
03283         php << "function " << cleanName(op->getName()) << "(";
03284 
03285         int i= atl.count();
03286         int j=0;
03287         for (at = atl.first(); at; at = atl.next(), j++) {
03288             php << " $" << cleanName(at->getName())
03289             << (!(at->getInitialValue().isEmpty()) ?
03290                 (QString(" = ")+at->getInitialValue()) :
03291                 QString(""))
03292             << ((j < i-1)?", ":"");
03293         }
03294         php <<" )";
03295         if(!isInterface && !op->getAbstract()) {
03296             php << " {" << m_endl << m_indentation << m_indentation;
03297             if(generateErrorStub) {
03298                 php << "trigger_error(\"Implement \" . __FUNCTION__);";
03299             }
03300             php << m_endl << m_indentation << "} // end of member function " + cleanName(op->getName()) + m_endl;
03301         }
03302         else {
03303             php << ';' + m_endl;
03304         }
03305         php << m_endl;
03306     }//end for
03307 }
03308 
03309 void Php5Writer::writeAttributes(UMLClassifier *c, QTextStream &php) {
03310     UMLAttributeList  atpub, atprot, atpriv, atdefval;
03311     atpub.setAutoDelete(false);
03312     atprot.setAutoDelete(false);
03313     atpriv.setAutoDelete(false);
03314     atdefval.setAutoDelete(false);
03315 
03316     //sort attributes by scope and see if they have a default value
03317     UMLAttributeList atl = c->getAttributeList();
03318     UMLAttribute *at;
03319     for(at = atl.first(); at ; at = atl.next()) {
03320         if(!at->getInitialValue().isEmpty())
03321             atdefval.append(at);
03322         switch(at->getVisibility()) {
03323           case Uml::Visibility::Public:
03324             atpub.append(at);
03325             break;
03326           case Uml::Visibility::Protected:
03327             atprot.append(at);
03328             break;
03329           case Uml::Visibility::Private:
03330             atpriv.append(at);
03331             break;
03332           default:
03333             break;
03334         }
03335     }
03336 
03337     if(forceSections() || atl.count())
03338         php<< m_endl << m_indentation << " /*** Attributes: ***/" << m_endl <<m_endl;
03339 
03340     if(forceSections() || atpub.count()) {
03341         writeAttributes(atpub,php);
03342     }
03343 
03344     if(forceSections() || atprot.count()) {
03345         writeAttributes(atprot,php);
03346     }
03347 
03348     if(forceSections() || atpriv.count()) {
03349         writeAttributes(atpriv,php);
03350     }
03351 }
03352 
03353 
03354 void Php5Writer::writeAttributes(UMLAttributeList &atList, QTextStream &php) {
03355     for (UMLAttribute *at = atList.first(); at ; at = atList.next()) {
03356         bool isStatic = at->getStatic();
03357         if (forceDoc() || !at->getDoc().isEmpty()) {
03358             php << m_indentation << "" << m_endl;
03374         }
03375         php << m_indentation;
03376         switch(at->getVisibility()) {
03377           case Uml::Visibility::Public:
03378             php << "public ";
03379             break;
03380           case Uml::Visibility::Protected:
03381             php << "protected ";
03382             break;
03383           case Uml::Visibility::Private:
03384             php << "private ";
03385             break;
03386           default:
03387             break;
03388         }
03389         if(isStatic) php << "static ";
03390         php << "$" << cleanName(at->getName());
03391         if(!at->getInitialValue().isEmpty())
03392             php << " = " << at->getInitialValue();
03393         php << ";" << m_endl << m_endl;
03394     } // end for
03395     return;
03396 }
03397 
03401 Uml::Programming_Language Php5Writer::getLanguage() {
03402     return Uml::pl_PHP5;
03403 }
03404 
03405 const QStringList Php5Writer::reservedKeywords() const {
03406 
03407     static QStringList keywords;
03408 
03409     if (keywords.isEmpty()) {
03410         for (int i = 0; php5words[i]; i++)
03411             keywords.append(php5words[i]);
03412     }
03413 
03414     return keywords;
03415 }
03416 
03417 #include "php5writer.moc"
03418 
KDE Logo
This file is part of the documentation for umbrello Version 3.1.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Jun 26 08:07:59 2007 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003