1 /*
2 SPDX-License-Identifier: GPL-2.0-or-later
3
4 SPDX-FileCopyrightText: 2002 Heiko Nardmann <h.nardmann@secunet.de>
5 SPDX-FileCopyrightText: 2003-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7
8 #include "phpwriter.h"
9
10 #include "association.h"
11 #include "attribute.h"
12 #include "classifier.h"
13 #include "debug_utils.h"
14 #include "operation.h"
15 #include "umldoc.h"
16
17 #include <QRegExp>
18 #include <QTextStream>
19
20 static const char *reserved_words[] = {
21 "abs",
22 "acos",
23 "acosh",
24 "add",
25 "addAction",
26 "addColor",
27 "addcslashes",
28 "addEntry",
29 "addFill",
30 "add_namespace",
31 "addShape",
32 "addslashes",
33 "addstring",
34 "addString",
35 "aggregate",
36 "aggregate_info",
37 "aggregate_methods",
38 "aggregate_methods_by_list",
39 "aggregate_methods_by_regexp",
40 "aggregate_properties",
41 "aggregate_properties_by_list",
42 "aggregate_properties_by_regexp",
43 "aggregation_info",
44 "align",
45 "apache_child_terminate",
46 "apache_lookup_uri",
47 "apache_note",
48 "apache_request_headers",
49 "apache_response_headers",
50 "apache_setenv",
51 "append_child",
52 "append_sibling",
53 "array",
54 "array_change_key_case",
55 "array_chunk",
56 "array_count_values",
57 "array_diff",
58 "array_diff_assoc",
59 "array_fill",
60 "array_filter",
61 "array_flip",
62 "array_intersect",
63 "array_intersect_assoc",
64 "array_key_exists",
65 "array_keys",
66 "array_map",
67 "array_merge",
68 "array_merge_recursive",
69 "array_multisort",
70 "array_pad",
71 "array_pop",
72 "array_push",
73 "array_rand",
74 "array_reduce",
75 "array_reverse",
76 "array_search",
77 "array_shift",
78 "array_slice",
79 "array_splice",
80 "array_sum",
81 "array_unique",
82 "array_unshift",
83 "array_values",
84 "array_walk",
85 "arsort",
86 "ascii2ebcdic",
87 "asin",
88 "asinh",
89 "asort",
90 "aspell_check",
91 "aspell_new",
92 "aspell_suggest",
93 "assert",
94 "assert_options",
95 "assign",
96 "atan",
97 "atan2",
98 "atanh",
99 "attreditable",
100 "attributes",
101 "base64_decode",
102 "base64_encode",
103 "base_convert",
104 "basename",
105 "bcadd",
106 "bccomp",
107 "bcdiv",
108 "bcmod",
109 "bcmul",
110 "bcpow",
111 "bcpowmod",
112 "bcscale",
113 "bcsqrt",
114 "bcsub",
115 "bin2hex",
116 "bindec",
117 "bindtextdomain",
118 "bind_textdomain_codeset",
119 "bool",
120 "break",
121 "bzclose",
122 "bzcompress",
123 "bzdecompress",
124 "bzerrno",
125 "bzerror",
126 "bzerrstr",
127 "bzflush",
128 "bzopen",
129 "bzread",
130 "bzwrite",
131 "cal_days_in_month",
132 "cal_from_jd",
133 "cal_info",
134 "call_user_func",
135 "call_user_func_array",
136 "call_user_method",
137 "call_user_method_array",
138 "cal_to_jd",
139 "ccvs_add",
140 "ccvs_auth",
141 "ccvs_command",
142 "ccvs_count",
143 "ccvs_delete",
144 "ccvs_done",
145 "ccvs_init",
146 "ccvs_lookup",
147 "ccvs_new",
148 "ccvs_report",
149 "ccvs_return",
150 "ccvs_reverse",
151 "ccvs_sale",
152 "ccvs_status",
153 "ccvs_textvalue",
154 "ccvs_void",
155 "ceil",
156 "chdir",
157 "checkdate",
158 "checkdnsrr",
159 "checkin",
160 "checkout",
161 "chgrp",
162 "child_nodes",
163 "children",
164 "chmod",
165 "chop",
166 "chown",
167 "chr",
168 "chroot",
169 "chunk_split",
170 "class",
171 "class_exists",
172 "clearstatcache",
173 "clone_node",
174 "closedir",
175 "closelog",
176 "com_addref",
177 "com_get",
178 "com_invoke",
179 "com_isenum",
180 "com_load",
181 "com_load_typelib",
182 "compact",
183 "com_propget",
184 "com_propput",
185 "com_propset",
186 "com_release",
187 "com_set",
188 "connection_aborted",
189 "connection_status",
190 "connection_timeout",
191 "constant",
192 "content",
193 "continue",
194 "convert_cyr_string",
195 "_COOKIE",
196 "copy",
197 "cos",
198 "cosh",
199 "count",
200 "count_chars",
201 "cpdf_add_annotation",
202 "cpdf_add_outline",
203 "cpdf_arc",
204 "cpdf_begin_text",
205 "cpdf_circle",
206 "cpdf_clip",
207 "cpdf_close",
208 "cpdf_closepath",
209 "cpdf_closepath_fill_stroke",
210 "cpdf_closepath_stroke",
211 "cpdf_continue_text",
212 "cpdf_curveto",
213 "cpdf_end_text",
214 "cpdf_fill",
215 "cpdf_fill_stroke",
216 "cpdf_finalize",
217 "cpdf_finalize_page",
218 "cpdf_global_set_document_limits",
219 "cpdf_import_jpeg",
220 "cpdf_lineto",
221 "cpdf_moveto",
222 "cpdf_newpath",
223 "cpdf_open",
224 "cpdf_output_buffer",
225 "cpdf_page_init",
226 "cpdf_place_inline_image",
227 "cpdf_rect",
228 "cpdf_restore",
229 "cpdf_rlineto",
230 "cpdf_rmoveto",
231 "cpdf_rotate",
232 "cpdf_rotate_text",
233 "cpdf_save",
234 "cpdf_save_to_file",
235 "cpdf_scale",
236 "cpdf_set_action_url",
237 "cpdf_set_char_spacing",
238 "cpdf_set_creator",
239 "cpdf_set_current_page",
240 "cpdf_setdash",
241 "cpdf_setflat",
242 "cpdf_set_font",
243 "cpdf_set_font_directories",
244 "cpdf_set_font_map_file",
245 "cpdf_setgray",
246 "cpdf_setgray_fill",
247 "cpdf_setgray_stroke",
248 "cpdf_set_horiz_scaling",
249 "cpdf_set_keywords",
250 "cpdf_set_leading",
251 "cpdf_setlinecap",
252 "cpdf_setlinejoin",
253 "cpdf_setlinewidth",
254 "cpdf_setmiterlimit",
255 "cpdf_set_page_animation",
256 "cpdf_setrgbcolor",
257 "cpdf_setrgbcolor_fill",
258 "cpdf_setrgbcolor_stroke",
259 "cpdf_set_subject",
260 "cpdf_set_text_matrix",
261 "cpdf_set_text_pos",
262 "cpdf_set_text_rendering",
263 "cpdf_set_text_rise",
264 "cpdf_set_title",
265 "cpdf_set_viewer_preferences",
266 "cpdf_set_word_spacing",
267 "cpdf_show",
268 "cpdf_show_xy",
269 "cpdf_stringwidth",
270 "cpdf_stroke",
271 "cpdf_text",
272 "cpdf_translate",
273 "crack_check",
274 "crack_closedict",
275 "crack_getlastmessage",
276 "crack_opendict",
277 "crc32",
278 "create_attribute",
279 "create_cdata_section",
280 "create_comment",
281 "create_element",
282 "create_element_ns",
283 "create_entity_reference",
284 "create_function",
285 "create_processing_instruction",
286 "create_text_node",
287 "crypt",
288 "ctype_alnum",
289 "ctype_alpha",
290 "ctype_cntrl",
291 "ctype_digit",
292 "ctype_graph",
293 "ctype_lower",
294 "ctype_print",
295 "ctype_punct",
296 "ctype_space",
297 "ctype_upper",
298 "ctype_xdigit",
299 "curl_close",
300 "curl_errno",
301 "curl_error",
302 "curl_exec",
303 "curl_getinfo",
304 "curl_init",
305 "curl_setopt",
306 "curl_version",
307 "current",
308 "cybercash_base64_decode",
309 "cybercash_base64_encode",
310 "cybercash_decr",
311 "cybercash_encr",
312 "cybermut_creerformulairecm",
313 "cybermut_creerreponsecm",
314 "cybermut_testmac",
315 "cyrus_authenticate",
316 "cyrus_bind",
317 "cyrus_close",
318 "cyrus_connect",
319 "cyrus_query",
320 "cyrus_unbind",
321 "data",
322 "date",
323 "dba_close",
324 "dba_delete",
325 "dba_exists",
326 "dba_fetch",
327 "dba_firstkey",
328 "dba_handlers",
329 "dba_insert",
330 "dba_list",
331 "dba_nextkey",
332 "dba_open",
333 "dba_optimize",
334 "dba_popen",
335 "dba_replace",
336 "dbase_add_record",
337 "dbase_close",
338 "dbase_create",
339 "dbase_delete_record",
340 "dbase_get_record",
341 "dbase_get_record_with_names",
342 "dbase_numfields",
343 "dbase_numrecords",
344 "dbase_open",
345 "dbase_pack",
346 "dbase_replace_record",
347 "dba_sync",
348 "dblist",
349 "dbmclose",
350 "dbmdelete",
351 "dbmexists",
352 "dbmfetch",
353 "dbmfirstkey",
354 "dbminsert",
355 "dbmnextkey",
356 "dbmopen",
357 "dbmreplace",
358 "dbplus_add",
359 "dbplus_aql",
360 "dbplus_chdir",
361 "dbplus_close",
362 "dbplus_curr",
363 "dbplus_errcode",
364 "dbplus_errno",
365 "dbplus_find",
366 "dbplus_first",
367 "dbplus_flush",
368 "dbplus_freealllocks",
369 "dbplus_freelock",
370 "dbplus_freerlocks",
371 "dbplus_getlock",
372 "dbplus_getunique",
373 "dbplus_info",
374 "dbplus_last",
375 "dbplus_lockrel",
376 "dbplus_next",
377 "dbplus_open",
378 "dbplus_prev",
379 "dbplus_rchperm",
380 "dbplus_rcreate",
381 "dbplus_rcrtexact",
382 "dbplus_rcrtlike",
383 "dbplus_resolve",
384 "dbplus_restorepos",
385 "dbplus_rkeys",
386 "dbplus_ropen",
387 "dbplus_rquery",
388 "dbplus_rrename",
389 "dbplus_rsecindex",
390 "dbplus_runlink",
391 "dbplus_rzap",
392 "dbplus_savepos",
393 "dbplus_setindex",
394 "dbplus_setindexbynumber",
395 "dbplus_sql",
396 "dbplus_tcl",
397 "dbplus_tremove",
398 "dbplus_undo",
399 "dbplus_undoprepare",
400 "dbplus_unlockrel",
401 "dbplus_unselect",
402 "dbplus_update",
403 "dbplus_xlockrel",
404 "dbplus_xunlockrel",
405 "dbstat",
406 "dbx_close",
407 "dbx_compare",
408 "dbx_connect",
409 "dbx_error",
410 "dbx_escape_string",
411 "dbx_query",
412 "dbx_sort",
413 "dcgettext",
414 "dcngettext",
415 "dcstat",
416 "deaggregate",
417 "debug_backtrace",
418 "debugger_off",
419 "debugger_on",
420 "decbin",
421 "dechex",
422 "declare",
423 "decoct",
424 "DEFAULT_INCLUDE_PATH",
425 "define",
426 "defined",
427 "define_syslog_variables",
428 "deg2rad",
429 "delete",
430 "description",
431 "dgettext",
432 "die",
433 "dio_close",
434 "dio_fcntl",
435 "dio_open",
436 "dio_read",
437 "dio_seek",
438 "dio_stat",
439 "dio_tcsetattr",
440 "dio_truncate",
441 "dio_write",
442 "dir",
443 "dirname",
444 "disk_free_space",
445 "diskfreespace",
446 "disk_total_space",
447 "dl",
448 "dngettext",
449 "dns_check_record",
450 "dns_get_mx",
451 "dns_get_record",
452 "do",
453 "doctype",
454 "document_element",
455 "DOCUMENT_ROOT",
456 "domxml_new_doc",
457 "domxml_open_file",
458 "domxml_open_mem",
459 "domxml_version",
460 "domxml_xmltree",
461 "domxml_xslt_stylesheet",
462 "domxml_xslt_stylesheet_doc",
463 "domxml_xslt_stylesheet_file",
464 "dotnet_load",
465 "doubleval",
466 "drawCurve",
467 "drawCurveTo",
468 "drawLine",
469 "drawLineTo",
470 "dstanchors",
471 "dstofsrcanchors",
472 "dump_file",
473 "dump_mem",
474 "dump_node",
475 "each",
476 "E_ALL",
477 "easter_date",
478 "easter_days",
479 "ebcdic2ascii",
480 "echo",
481 "E_COMPILE_ERROR",
482 "E_COMPILE_WARNING",
483 "E_CORE_ERROR",
484 "E_CORE_WARNING",
485 "E_ERROR",
486 "else",
487 "elseif",
488 "empty",
489 "end",
490 "endfor",
491 "endforeach",
492 "endif",
493 "endswitch",
494 "endwhile",
495 "E_NOTICE",
496 "entities",
497 "_ENV",
498 "E_PARSE",
499 "ereg",
500 "eregi",
501 "eregi_replace",
502 "ereg_replace",
503 "error_log",
504 "error_reporting",
505 "escapeshellarg",
506 "escapeshellcmd",
507 "E_USER_ERROR",
508 "E_USER_NOTICE",
509 "E_USER_WARNING",
510 "eval",
511 "E_WARNING",
512 "exec",
513 "exif_imagetype",
514 "exif_read_data",
515 "exif_thumbnail",
516 "exit",
517 "exp",
518 "explode",
519 "expm1",
520 "extension_loaded",
521 "extract",
522 "ezmlm_hash",
523 "FALSE",
524 "fbsql_affected_rows",
525 "fbsql_autocommit",
526 "fbsql_change_user",
527 "fbsql_close",
528 "fbsql_commit",
529 "fbsql_connect",
530 "fbsql_create_blob",
531 "fbsql_create_clob",
532 "fbsql_create_db",
533 "fbsql_database",
534 "fbsql_database_password",
535 "fbsql_data_seek",
536 "fbsql_db_query",
537 "fbsql_db_status",
538 "fbsql_drop_db",
539 "fbsql_errno",
540 "fbsql_error",
541 "fbsql_fetch_array",
542 "fbsql_fetch_assoc",
543 "fbsql_fetch_field",
544 "fbsql_fetch_lengths",
545 "fbsql_fetch_object",
546 "fbsql_fetch_row",
547 "fbsql_field_flags",
548 "fbsql_field_len",
549 "fbsql_field_name",
550 "fbsql_field_seek",
551 "fbsql_field_table",
552 "fbsql_field_type",
553 "fbsql_free_result",
554 "fbsql_get_autostart_info",
555 "fbsql_hostname",
556 "fbsql_insert_id",
557 "fbsql_list_dbs",
558 "fbsql_list_fields",
559 "fbsql_list_tables",
560 "fbsql_next_result",
561 "fbsql_num_fields",
562 "fbsql_num_rows",
563 "fbsql_password",
564 "fbsql_pconnect",
565 "fbsql_query",
566 "fbsql_read_blob",
567 "fbsql_read_clob",
568 "fbsql_result",
569 "fbsql_rollback",
570 "fbsql_select_db",
571 "fbsql_set_lob_mode",
572 "fbsql_set_transaction",
573 "fbsql_start_db",
574 "fbsql_stop_db",
575 "fbsql_tablename",
576 "fbsql_username",
577 "fbsql_warnings",
578 "fclose",
579 "fdf_add_doc_javascript",
580 "fdf_add_template",
581 "fdf_close",
582 "fdf_create",
583 "fdf_errno",
584 "fdf_error",
585 "fdf_get_ap",
586 "fdf_get_attachment",
587 "fdf_get_encoding",
588 "fdf_get_file",
589 "fdf_get_status",
590 "fdf_get_value",
591 "fdf_get_version",
592 "fdf_header",
593 "fdf_next_field_name",
594 "fdf_open",
595 "fdf_open_string",
596 "fdf_save",
597 "fdf_save_string",
598 "fdf_set_ap",
599 "fdf_set_encoding",
600 "fdf_set_file",
601 "fdf_set_flags",
602 "fdf_set_javascript_action",
603 "fdf_set_opt",
604 "fdf_set_status",
605 "fdf_set_submit_form_action",
606 "fdf_set_target_frame",
607 "fdf_set_value",
608 "fdf_set_version",
609 "feof",
610 "fflush",
611 "fgetc",
612 "fgetcsv",
613 "fgets",
614 "fgetss",
615 "file",
616 "__FILE__",
617 "fileatime",
618 "filectime",
619 "file_exists",
620 "file_get_contents",
621 "filegroup",
622 "fileinode",
623 "filemtime",
624 "fileowner",
625 "fileperms",
626 "filepro",
627 "filepro_fieldcount",
628 "filepro_fieldname",
629 "filepro_fieldtype",
630 "filepro_fieldwidth",
631 "filepro_retrieve",
632 "filepro_rowcount",
633 "_FILES",
634 "filesize",
635 "filetype",
636 "find",
637 "first_child",
638 "floatval",
639 "flock",
640 "floor",
641 "flush",
642 "fmod",
643 "fnmatch",
644 "fopen",
645 "for",
646 "foreach",
647 "fpassthru",
648 "fprintf",
649 "fputs",
650 "fread",
651 "frenchtojd",
652 "fribidi_log2vis",
653 "fscanf",
654 "fseek",
655 "fsockopen",
656 "fstat",
657 "ftell",
658 "ftok",
659 "ftp_cdup",
660 "ftp_chdir",
661 "ftp_close",
662 "ftp_connect",
663 "ftp_delete",
664 "ftp_exec",
665 "ftp_fget",
666 "ftp_fput",
667 "ftp_get",
668 "ftp_get_option",
669 "ftp_login",
670 "ftp_mdtm",
671 "ftp_mkdir",
672 "ftp_nb_continue",
673 "ftp_nb_fget",
674 "ftp_nb_fput",
675 "ftp_nb_get",
676 "ftp_nb_put",
677 "ftp_nlist",
678 "ftp_pasv",
679 "ftp_put",
680 "ftp_pwd",
681 "ftp_quit",
682 "ftp_rawlist",
683 "ftp_rename",
684 "ftp_rmdir",
685 "ftp_set_option",
686 "ftp_site",
687 "ftp_size",
688 "ftp_ssl_connect",
689 "ftp_systype",
690 "ftruncate",
691 "ftstat",
692 "func_get_arg",
693 "func_get_args",
694 "func_num_args",
695 "function",
696 "function_exists",
697 "fwrite",
698 "GATEWAY_INTERFACE",
699 "gd_info",
700 "_GET",
701 "getallheaders",
702 "get_attribute",
703 "get_attribute_node",
704 "get_browser",
705 "get_cfg_var",
706 "get_class",
707 "get_class_methods",
708 "get_class_vars",
709 "get_content",
710 "get_current_user",
711 "getcwd",
712 "getdate",
713 "get_declared_classes",
714 "get_defined_constants",
715 "get_defined_functions",
716 "get_defined_vars",
717 "get_element_by_id",
718 "get_elements_by_tagname",
719 "getenv",
720 "get_extension_funcs",
721 "getHeight",
722 "gethostbyaddr",
723 "gethostbyname",
724 "gethostbynamel",
725 "get_html_translation_table",
726 "getimagesize",
727 "get_included_files",
728 "get_include_path",
729 "getlastmod",
730 "get_loaded_extensions",
731 "get_magic_quotes_gpc",
732 "get_magic_quotes_runtime",
733 "get_meta_tags",
734 "getmxrr",
735 "getmygid",
736 "getmyinode",
737 "getmypid",
738 "getmyuid",
739 "get_object_vars",
740 "getopt",
741 "get_parent_class",
742 "getprotobyname",
743 "getprotobynumber",
744 "getrandmax",
745 "get_required_files",
746 "get_resource_type",
747 "getrusage",
748 "getservbyname",
749 "getservbyport",
750 "getshape1",
751 "getshape2",
752 "gettext",
753 "gettimeofday",
754 "gettype",
755 "getwidth",
756 "getWidth",
757 "glob",
758 "global",
759 "GLOBALS",
760 "gmdate",
761 "gmmktime",
762 "gmp_abs",
763 "gmp_add",
764 "gmp_and",
765 "gmp_clrbit",
766 "gmp_cmp",
767 "gmp_com",
768 "gmp_div",
769 "gmp_divexact",
770 "gmp_div_q",
771 "gmp_div_qr",
772 "gmp_div_r",
773 "gmp_fact",
774 "gmp_gcd",
775 "gmp_gcdext",
776 "gmp_hamdist",
777 "gmp_init",
778 "gmp_intval",
779 "gmp_invert",
780 "gmp_jacobi",
781 "gmp_legendre",
782 "gmp_mod",
783 "gmp_mul",
784 "gmp_neg",
785 "gmp_or",
786 "gmp_perfect_square",
787 "gmp_popcount",
788 "gmp_pow",
789 "gmp_powm",
790 "gmp_prob_prime",
791 "gmp_random",
792 "gmp_scan0",
793 "gmp_scan1",
794 "gmp_setbit",
795 "gmp_sign",
796 "gmp_sqrt",
797 "gmp_sqrtrm",
798 "gmp_strval",
799 "gmp_sub",
800 "gmp_xor",
801 "gmstrftime",
802 "gregoriantojd",
803 "gzclose",
804 "gzcompress",
805 "gzdeflate",
806 "gzencode",
807 "gzeof",
808 "gzfile",
809 "gzgetc",
810 "gzgets",
811 "gzgetss",
812 "gzinflate",
813 "gzopen",
814 "gzpassthru",
815 "gzputs",
816 "gzread",
817 "gzrewind",
818 "gzseek",
819 "gztell",
820 "gzuncompress",
821 "gzwrite",
822 "has_attribute",
823 "has_attributess",
824 "has_child_nodes",
825 "header",
826 "headers_sent",
827 "hebrev",
828 "hebrevc",
829 "hexdec",
830 "highlight_file",
831 "highlight_string",
832 "html_dump_mem",
833 "htmlentities",
834 "html_entity_decode",
835 "htmlspecialchars",
836 "HTTP_ACCEPT",
837 "HTTP_ACCEPT_CHARSET",
838 "HTTP_ACCEPT_LANGUAGE",
839 "HTTP_CONNECTION",
840 "HTTP_COOKIE_VARS",
841 "HTTP_ENCODING",
842 "HTTP_ENV_VARS",
843 "HTTP_GET_VARS",
844 "HTTP_HOST",
845 "HTTP_POST_FILES",
846 "HTTP_POST_VARS",
847 "HTTP_RAW_POST_DATA",
848 "HTTP_REFERER",
849 "HTTP_SERVER_VARS",
850 "HTTP_SESSION_VARS",
851 "HTTP_STATE_VARS",
852 "HTTP_USER_AGENT",
853 "hw_api_attribute",
854 "hw_api_content",
855 "hwapi_hgcsp",
856 "hw_api_object",
857 "hw_Array2Objrec",
858 "hw_changeobject",
859 "hw_Children",
860 "hw_ChildrenObj",
861 "hw_Close",
862 "hw_Connect",
863 "hw_connection_info",
864 "hw_Cp",
865 "hw_Deleteobject",
866 "hw_DocByAnchor",
867 "hw_DocByAnchorObj",
868 "hw_Document_Attributes",
869 "hw_Document_BodyTag",
870 "hw_Document_Content",
871 "hw_Document_SetContent",
872 "hw_Document_Size",
873 "hw_dummy",
874 "hw_EditText",
875 "hw_Error",
876 "hw_ErrorMsg",
877 "hw_Free_Document",
878 "hw_GetAnchors",
879 "hw_GetAnchorsObj",
880 "hw_GetAndLock",
881 "hw_GetChildColl",
882 "hw_GetChildCollObj",
883 "hw_GetChildDocColl",
884 "hw_GetChildDocCollObj",
885 "hw_GetObject",
886 "hw_GetObjectByQuery",
887 "hw_GetObjectByQueryColl",
888 "hw_GetObjectByQueryCollObj",
889 "hw_GetObjectByQueryObj",
890 "hw_GetParents",
891 "hw_GetParentsObj",
892 "hw_getrellink",
893 "hw_GetRemote",
894 "hw_GetRemoteChildren",
895 "hw_GetSrcByDestObj",
896 "hw_GetText",
897 "hw_getusername",
898 "hw_Identify",
899 "hw_InCollections",
900 "hw_Info",
901 "hw_InsColl",
902 "hw_InsDoc",
903 "hw_insertanchors",
904 "hw_InsertDocument",
905 "hw_InsertObject",
906 "hw_mapid",
907 "hw_Modifyobject",
908 "hw_Mv",
909 "hw_New_Document",
910 "hw_Objrec2Array",
911 "hw_Output_Document",
912 "hw_pConnect",
913 "hw_PipeDocument",
914 "hw_Root",
915 "hw_setlinkroot",
916 "hw_stat",
917 "hwstat",
918 "hw_Unlock",
919 "hw_Who",
920 "hypot",
921 "ibase_blob_add",
922 "ibase_blob_cancel",
923 "ibase_blob_close",
924 "ibase_blob_create",
925 "ibase_blob_echo",
926 "ibase_blob_get",
927 "ibase_blob_import",
928 "ibase_blob_info",
929 "ibase_blob_open",
930 "ibase_close",
931 "ibase_commit",
932 "ibase_connect",
933 "ibase_errmsg",
934 "ibase_execute",
935 "ibase_fetch_object",
936 "ibase_fetch_row",
937 "ibase_field_info",
938 "ibase_free_query",
939 "ibase_free_result",
940 "ibase_num_fields",
941 "ibase_pconnect",
942 "ibase_prepare",
943 "ibase_query",
944 "ibase_rollback",
945 "ibase_timefmt",
946 "ibase_trans",
947 "iconv",
948 "iconv_get_encoding",
949 "iconv_set_encoding",
950 "identify",
951 "if",
952 "ifx_affected_rows",
953 "ifx_blobinfile_mode",
954 "ifx_byteasvarchar",
955 "ifx_close",
956 "ifx_connect",
957 "ifx_copy_blob",
958 "ifx_create_blob",
959 "ifx_create_char",
960 "ifx_do",
961 "ifx_error",
962 "ifx_errormsg",
963 "ifx_fetch_row",
964 "ifx_fieldproperties",
965 "ifx_fieldtypes",
966 "ifx_free_blob",
967 "ifx_free_char",
968 "ifx_free_result",
969 "ifx_get_blob",
970 "ifx_get_char",
971 "ifx_getsqlca",
972 "ifx_htmltbl_result",
973 "ifx_nullformat",
974 "ifx_num_fields",
975 "ifx_num_rows",
976 "ifx_pconnect",
977 "ifx_prepare",
978 "ifx_query",
979 "ifx_textasvarchar",
980 "ifx_update_blob",
981 "ifx_update_char",
982 "ifxus_close_slob",
983 "ifxus_create_slob",
984 "ifxus_free_slob",
985 "ifxus_open_slob",
986 "ifxus_read_slob",
987 "ifxus_seek_slob",
988 "ifxus_tell_slob",
989 "ifxus_write_slob",
990 "ignore_user_abort",
991 "image2wbmp",
992 "imagealphablending",
993 "imagearc",
994 "imagechar",
995 "imagecharup",
996 "imagecolorallocate",
997 "imagecolorallocatealpha",
998 "imagecolorat",
999 "imagecolorclosest",
1000 "imagecolorclosestalpha",
1001 "imagecolorclosesthwb",
1002 "imagecolordeallocate",
1003 "imagecolorexact",
1004 "imagecolorexactalpha",
1005 "imagecolorresolve",
1006 "imagecolorresolvealpha",
1007 "imagecolorset",
1008 "imagecolorsforindex",
1009 "imagecolorstotal",
1010 "imagecolortransparent",
1011 "imagecopy",
1012 "imagecopymerge",
1013 "imagecopymergegray",
1014 "imagecopyresampled",
1015 "imagecopyresized",
1016 "imagecreate",
1017 "imagecreatefromgd",
1018 "imagecreatefromgd2",
1019 "imagecreatefromgd2part",
1020 "imagecreatefromgif",
1021 "imagecreatefromjpeg",
1022 "imagecreatefrompng",
1023 "imagecreatefromstring",
1024 "imagecreatefromwbmp",
1025 "imagecreatefromxbm",
1026 "imagecreatefromxpm",
1027 "imagecreatetruecolor",
1028 "imagedashedline",
1029 "imagedestroy",
1030 "imageellipse",
1031 "imagefill",
1032 "imagefilledarc",
1033 "imagefilledellipse",
1034 "imagefilledpolygon",
1035 "imagefilledrectangle",
1036 "imagefilltoborder",
1037 "imagefontheight",
1038 "imagefontwidth",
1039 "imageftbbox",
1040 "imagefttext",
1041 "imagegammacorrect",
1042 "imagegd",
1043 "imagegd2",
1044 "imagegif",
1045 "imageinterlace",
1046 "imagejpeg",
1047 "imageline",
1048 "imageloadfont",
1049 "imagepalettecopy",
1050 "imagepng",
1051 "imagepolygon",
1052 "imagepsbbox",
1053 "imagepscopyfont",
1054 "imagepsencodefont",
1055 "imagepsextendfont",
1056 "imagepsfreefont",
1057 "imagepsloadfont",
1058 "imagepsslantfont",
1059 "imagepstext",
1060 "imagerectangle",
1061 "imagerotate",
1062 "imagesetbrush",
1063 "imagesetpixel",
1064 "imagesetstyle",
1065 "imagesetthickness",
1066 "imagesettile",
1067 "imagestring",
1068 "imagestringup",
1069 "imagesx",
1070 "imagesy",
1071 "imagetruecolortopalette",
1072 "imagettfbbox",
1073 "imagettftext",
1074 "imagetypes",
1075 "image_type_to_mime_type",
1076 "imagewbmp",
1077 "imap_8bit",
1078 "imap_alerts",
1079 "imap_append",
1080 "imap_base64",
1081 "imap_binary",
1082 "imap_body",
1083 "imap_bodystruct",
1084 "imap_check",
1085 "imap_clearflag_full",
1086 "imap_close",
1087 "imap_createmailbox",
1088 "imap_delete",
1089 "imap_deletemailbox",
1090 "imap_errors",
1091 "imap_expunge",
1092 "imap_fetchbody",
1093 "imap_fetchheader",
1094 "imap_fetch_overview",
1095 "imap_fetchstructure",
1096 "imap_getmailboxes",
1097 "imap_get_quota",
1098 "imap_get_quotaroot",
1099 "imap_getsubscribed",
1100 "imap_header",
1101 "imap_headerinfo",
1102 "imap_headers",
1103 "imap_last_error",
1104 "imap_list",
1105 "imap_listmailbox",
1106 "imap_listscan",
1107 "imap_listsubscribed",
1108 "imap_lsub",
1109 "imap_mail",
1110 "imap_mailboxmsginfo",
1111 "imap_mail_compose",
1112 "imap_mail_copy",
1113 "imap_mail_move",
1114 "imap_mime_header_decode",
1115 "imap_msgno",
1116 "imap_num_msg",
1117 "imap_num_recent",
1118 "imap_open",
1119 "imap_ping",
1120 "imap_qprint",
1121 "imap_renamemailbox",
1122 "imap_reopen",
1123 "imap_rfc822_parse_adrlist",
1124 "imap_rfc822_parse_headers",
1125 "imap_rfc822_write_address",
1126 "imap_scanmailbox",
1127 "imap_search",
1128 "imap_setacl",
1129 "imap_setflag_full",
1130 "imap_set_quota",
1131 "imap_sort",
1132 "imap_status",
1133 "imap_subscribe",
1134 "imap_thread",
1135 "imap_uid",
1136 "imap_undelete",
1137 "imap_unsubscribe",
1138 "imap_utf7_decode",
1139 "imap_utf7_encode",
1140 "imap_utf8",
1141 "implode",
1142 "import_request_variables",
1143 "in_array",
1144 "include",
1145 "include_once",
1146 "info",
1147 "ingres_autocommit",
1148 "ingres_close",
1149 "ingres_commit",
1150 "ingres_connect",
1151 "ingres_fetch_array",
1152 "ingres_fetch_object",
1153 "ingres_fetch_row",
1154 "ingres_field_length",
1155 "ingres_field_name",
1156 "ingres_field_nullable",
1157 "ingres_field_precision",
1158 "ingres_field_scale",
1159 "ingres_field_type",
1160 "ingres_num_fields",
1161 "ingres_num_rows",
1162 "ingres_pconnect",
1163 "ingres_query",
1164 "ingres_rollback",
1165 "ini_alter",
1166 "ini_get",
1167 "ini_get_all",
1168 "ini_restore",
1169 "ini_set",
1170 "insert",
1171 "insertanchor",
1172 "insert_before",
1173 "insertcollection",
1174 "insertdocument",
1175 "int",
1176 "internal_subset",
1177 "intval",
1178 "ip2long",
1179 "iptcembed",
1180 "iptcparse",
1181 "ircg_channel_mode",
1182 "ircg_disconnect",
1183 "ircg_fetch_error_msg",
1184 "ircg_get_username",
1185 "ircg_html_encode",
1186 "ircg_ignore_add",
1187 "ircg_ignore_del",
1188 "ircg_is_conn_alive",
1189 "ircg_join",
1190 "ircg_kick",
1191 "ircg_lookup_format_messages",
1192 "ircg_msg",
1193 "ircg_nick",
1194 "ircg_nickname_escape",
1195 "ircg_nickname_unescape",
1196 "ircg_notice",
1197 "ircg_part",
1198 "ircg_pconnect",
1199 "ircg_register_format_messages",
1200 "ircg_set_current",
1201 "ircg_set_file",
1202 "ircg_set_on_die",
1203 "ircg_topic",
1204 "ircg_whois",
1205 "is_a",
1206 "is_array",
1207 "is_blank_node",
1208 "is_bool",
1209 "is_callable",
1210 "is_dir",
1211 "is_double",
1212 "is_executable",
1213 "is_file",
1214 "is_finite",
1215 "is_float",
1216 "is_infinite",
1217 "is_int",
1218 "is_integer",
1219 "is_link",
1220 "is_long",
1221 "is_nan",
1222 "is_null",
1223 "is_numeric",
1224 "is_object",
1225 "is_readable",
1226 "is_real",
1227 "is_resource",
1228 "is_scalar",
1229 "isset",
1230 "is_string",
1231 "is_subclass_of",
1232 "is_uploaded_file",
1233 "is_writable",
1234 "is_writeable",
1235 "java_last_exception_clear",
1236 "java_last_exception_get",
1237 "jddayofweek",
1238 "jdmonthname",
1239 "jdtofrench",
1240 "jdtogregorian",
1241 "jdtojewish",
1242 "jdtojulian",
1243 "jdtounix",
1244 "jewishtojd",
1245 "join",
1246 "jpeg2wbmp",
1247 "juliantojd",
1248 "key",
1249 "krsort",
1250 "ksort",
1251 "langdepvalue",
1252 "last_child",
1253 "lcg_value",
1254 "ldap_8859_to_t61",
1255 "ldap_add",
1256 "ldap_bind",
1257 "ldap_close",
1258 "ldap_compare",
1259 "ldap_connect",
1260 "ldap_count_entries",
1261 "ldap_delete",
1262 "ldap_dn2ufn",
1263 "ldap_err2str",
1264 "ldap_errno",
1265 "ldap_error",
1266 "ldap_explode_dn",
1267 "ldap_first_attribute",
1268 "ldap_first_entry",
1269 "ldap_first_reference",
1270 "ldap_free_result",
1271 "ldap_get_attributes",
1272 "ldap_get_dn",
1273 "ldap_get_entries",
1274 "ldap_get_option",
1275 "ldap_get_values",
1276 "ldap_get_values_len",
1277 "ldap_list",
1278 "ldap_mod_add",
1279 "ldap_mod_del",
1280 "ldap_modify",
1281 "ldap_mod_replace",
1282 "ldap_next_attribute",
1283 "ldap_next_entry",
1284 "ldap_next_reference",
1285 "ldap_parse_reference",
1286 "ldap_parse_result",
1287 "ldap_read",
1288 "ldap_rename",
1289 "ldap_search",
1290 "ldap_set_option",
1291 "ldap_set_rebind_proc",
1292 "ldap_sort",
1293 "ldap_start_tls",
1294 "ldap_t61_to_8859",
1295 "ldap_unbind",
1296 "levenshtein",
1297 "__LINE__",
1298 "link",
1299 "linkinfo",
1300 "list",
1301 "localeconv",
1302 "localtime",
1303 "lock",
1304 "log",
1305 "log10",
1306 "log1p",
1307 "long2ip",
1308 "lstat",
1309 "ltrim",
1310 "mail",
1311 "mailparse_determine_best_xfer_encoding",
1312 "mailparse_msg_create",
1313 "mailparse_msg_extract_part",
1314 "mailparse_msg_extract_part_file",
1315 "mailparse_msg_free",
1316 "mailparse_msg_get_part",
1317 "mailparse_msg_get_part_data",
1318 "mailparse_msg_get_structure",
1319 "mailparse_msg_parse",
1320 "mailparse_msg_parse_file",
1321 "mailparse_rfc822_parse_addresses",
1322 "mailparse_stream_encode",
1323 "mailparse_uudecode_all",
1324 "main",
1325 "max",
1326 "mb_convert_case",
1327 "mb_convert_encoding",
1328 "mb_convert_kana",
1329 "mb_convert_variables",
1330 "mb_decode_mimeheader",
1331 "mb_decode_numericentity",
1332 "mb_detect_encoding",
1333 "mb_detect_order",
1334 "mb_encode_mimeheader",
1335 "mb_encode_numericentity",
1336 "mb_ereg",
1337 "mb_eregi",
1338 "mb_eregi_replace",
1339 "mb_ereg_match",
1340 "mb_ereg_replace",
1341 "mb_ereg_search",
1342 "mb_ereg_search_getpos",
1343 "mb_ereg_search_getregs",
1344 "mb_ereg_search_init",
1345 "mb_ereg_search_pos",
1346 "mb_ereg_search_regs",
1347 "mb_ereg_search_setpos",
1348 "mb_get_info",
1349 "mb_http_input",
1350 "mb_http_output",
1351 "mb_internal_encoding",
1352 "mb_language",
1353 "mb_output_handler",
1354 "mb_parse_str",
1355 "mb_preferred_mime_name",
1356 "mb_regex_encoding",
1357 "mb_regex_set_options",
1358 "mb_send_mail",
1359 "mb_split",
1360 "mb_strcut",
1361 "mb_strimwidth",
1362 "mb_strlen",
1363 "mb_strpos",
1364 "mb_strrpos",
1365 "mb_strtolower",
1366 "mb_strtoupper",
1367 "mb_strwidth",
1368 "mb_substitute_character",
1369 "mb_substr",
1370 "mb_substr_count",
1371 "mcal_append_event",
1372 "mcal_close",
1373 "mcal_create_calendar",
1374 "mcal_date_compare",
1375 "mcal_date_valid",
1376 "mcal_day_of_week",
1377 "mcal_day_of_year",
1378 "mcal_days_in_month",
1379 "mcal_delete_calendar",
1380 "mcal_delete_event",
1381 "mcal_event_add_attribute",
1382 "mcal_event_init",
1383 "mcal_event_set_alarm",
1384 "mcal_event_set_category",
1385 "mcal_event_set_class",
1386 "mcal_event_set_description",
1387 "mcal_event_set_end",
1388 "mcal_event_set_recur_daily",
1389 "mcal_event_set_recur_monthly_mday",
1390 "mcal_event_set_recur_monthly_wday",
1391 "mcal_event_set_recur_none",
1392 "mcal_event_set_recur_weekly",
1393 "mcal_event_set_recur_yearly",
1394 "mcal_event_set_start",
1395 "mcal_event_set_title",
1396 "mcal_expunge",
1397 "mcal_fetch_current_stream_event",
1398 "mcal_fetch_event",
1399 "mcal_is_leap_year",
1400 "mcal_list_alarms",
1401 "mcal_list_events",
1402 "mcal_next_recurrence",
1403 "mcal_open",
1404 "mcal_popen",
1405 "mcal_rename_calendar",
1406 "mcal_reopen",
1407 "mcal_snooze",
1408 "mcal_store_event",
1409 "mcal_time_valid",
1410 "mcal_week_of_year",
1411 "mcrypt_cbc",
1412 "mcrypt_cfb",
1413 "mcrypt_create_iv",
1414 "mcrypt_decrypt",
1415 "mcrypt_ecb",
1416 "mcrypt_enc_get_algorithms_name",
1417 "mcrypt_enc_get_block_size",
1418 "mcrypt_enc_get_iv_size",
1419 "mcrypt_enc_get_key_size",
1420 "mcrypt_enc_get_modes_name",
1421 "mcrypt_enc_get_supported_key_sizes",
1422 "mcrypt_enc_is_block_algorithm",
1423 "mcrypt_enc_is_block_algorithm_mode",
1424 "mcrypt_enc_is_block_mode",
1425 "mcrypt_encrypt",
1426 "mcrypt_enc_self_test",
1427 "mcrypt_generic",
1428 "mcrypt_generic_deinit",
1429 "mcrypt_generic_end",
1430 "mcrypt_generic_init",
1431 "mcrypt_get_block_size",
1432 "mcrypt_get_cipher_name",
1433 "mcrypt_get_iv_size",
1434 "mcrypt_get_key_size",
1435 "mcrypt_list_algorithms",
1436 "mcrypt_list_modes",
1437 "mcrypt_module_close",
1438 "mcrypt_module_get_algo_block_size",
1439 "mcrypt_module_get_algo_key_size",
1440 "mcrypt_module_get_supported_key_sizes",
1441 "mcrypt_module_is_block_algorithm",
1442 "mcrypt_module_is_block_algorithm_mode",
1443 "mcrypt_module_is_block_mode",
1444 "mcrypt_module_open",
1445 "mcrypt_module_self_test",
1446 "mcrypt_ofb",
1447 "mcve_adduser",
1448 "mcve_adduserarg",
1449 "mcve_bt",
1450 "mcve_checkstatus",
1451 "mcve_chkpwd",
1452 "mcve_chngpwd",
1453 "mcve_completeauthorizations",
1454 "mcve_connect",
1455 "mcve_connectionerror",
1456 "mcve_deleteresponse",
1457 "mcve_deletetrans",
1458 "mcve_deleteusersetup",
1459 "mcve_deluser",
1460 "mcve_destroyconn",
1461 "mcve_destroyengine",
1462 "mcve_disableuser",
1463 "mcve_edituser",
1464 "mcve_enableuser",
1465 "mcve_force",
1466 "mcve_getcell",
1467 "mcve_getcellbynum",
1468 "mcve_getcommadelimited",
1469 "mcve_getheader",
1470 "mcve_getuserarg",
1471 "mcve_getuserparam",
1472 "mcve_gft",
1473 "mcve_gl",
1474 "mcve_gut",
1475 "mcve_initconn",
1476 "mcve_initengine",
1477 "mcve_initusersetup",
1478 "mcve_iscommadelimited",
1479 "mcve_liststats",
1480 "mcve_listusers",
1481 "mcve_maxconntimeout",
1482 "mcve_monitor",
1483 "mcve_numcolumns",
1484 "mcve_numrows",
1485 "mcve_override",
1486 "mcve_parsecommadelimited",
1487 "mcve_ping",
1488 "mcve_preauth",
1489 "mcve_preauthcompletion",
1490 "mcve_qc",
1491 "mcve_responseparam",
1492 "mcve_return",
1493 "mcve_returncode",
1494 "mcve_returnstatus",
1495 "mcve_sale",
1496 "mcve_setblocking",
1497 "mcve_setdropfile",
1498 "mcve_setip",
1499 "mcve_setssl",
1500 "mcve_settimeout",
1501 "mcve_settle",
1502 "mcve_text_avs",
1503 "mcve_text_code",
1504 "mcve_text_cv",
1505 "mcve_transactionauth",
1506 "mcve_transactionavs",
1507 "mcve_transactionbatch",
1508 "mcve_transactioncv",
1509 "mcve_transactionid",
1510 "mcve_transactionitem",
1511 "mcve_transactionssent",
1512 "mcve_transactiontext",
1513 "mcve_transinqueue",
1514 "mcve_transnew",
1515 "mcve_transparam",
1516 "mcve_transsend",
1517 "mcve_ub",
1518 "mcve_uwait",
1519 "mcve_verifyconnection",
1520 "mcve_verifysslcert",
1521 "mcve_void",
1522 "md5",
1523 "md5_file",
1524 "mdecrypt_generic",
1525 "memory_get_usage",
1526 "metaphone",
1527 "method_exists",
1528 "mhash",
1529 "mhash_count",
1530 "mhash_get_block_size",
1531 "mhash_get_hash_name",
1532 "mhash_keygen_s2k",
1533 "microtime",
1534 "mime_content_type",
1535 "mimetype",
1536 "min",
1537 "ming_setcubicthreshold",
1538 "ming_setscale",
1539 "ming_useswfversion",
1540 "mkdir",
1541 "mktime",
1542 "money_format",
1543 "move",
1544 "movePen",
1545 "movePenTo",
1546 "moveTo",
1547 "move_uploaded_file",
1548 "msession_connect",
1549 "msession_count",
1550 "msession_create",
1551 "msession_destroy",
1552 "msession_disconnect",
1553 "msession_find",
1554 "msession_get",
1555 "msession_get_array",
1556 "msession_getdata",
1557 "msession_inc",
1558 "msession_list",
1559 "msession_listvar",
1560 "msession_lock",
1561 "msession_plugin",
1562 "msession_randstr",
1563 "msession_set",
1564 "msession_set_array",
1565 "msession_setdata",
1566 "msession_timeout",
1567 "msession_uniq",
1568 "msession_unlock",
1569 "msg_get_queue",
1570 "msg_receive",
1571 "msg_remove_queue",
1572 "msg_send",
1573 "msg_set_queue",
1574 "msg_stat_queue",
1575 "msql",
1576 "msql_affected_rows",
1577 "msql_close",
1578 "msql_connect",
1579 "msql_create_db",
1580 "msql_createdb",
1581 "msql_data_seek",
1582 "msql_dbname",
1583 "msql_drop_db",
1584 "msql_dropdb",
1585 "msql_error",
1586 "msql_fetch_array",
1587 "msql_fetch_field",
1588 "msql_fetch_object",
1589 "msql_fetch_row",
1590 "msql_fieldflags",
1591 "msql_fieldlen",
1592 "msql_fieldname",
1593 "msql_field_seek",
1594 "msql_fieldtable",
1595 "msql_fieldtype",
1596 "msql_free_result",
1597 "msql_freeresult",
1598 "msql_list_dbs",
1599 "msql_listdbs",
1600 "msql_list_fields",
1601 "msql_listfields",
1602 "msql_list_tables",
1603 "msql_listtables",
1604 "msql_num_fields",
1605 "msql_numfields",
1606 "msql_num_rows",
1607 "msql_numrows",
1608 "msql_pconnect",
1609 "msql_query",
1610 "msql_regcase",
1611 "msql_result",
1612 "msql_select_db",
1613 "msql_selectdb",
1614 "msql_tablename",
1615 "mssql_bind",
1616 "mssql_close",
1617 "mssql_connect",
1618 "mssql_data_seek",
1619 "mssql_execute",
1620 "mssql_fetch_array",
1621 "mssql_fetch_assoc",
1622 "mssql_fetch_batch",
1623 "mssql_fetch_field",
1624 "mssql_fetch_object",
1625 "mssql_fetch_row",
1626 "mssql_field_length",
1627 "mssql_field_name",
1628 "mssql_field_seek",
1629 "mssql_field_type",
1630 "mssql_free_result",
1631 "mssql_free_statement",
1632 "mssql_get_last_message",
1633 "mssql_guid_string",
1634 "mssql_init",
1635 "mssql_min_error_severity",
1636 "mssql_min_message_severity",
1637 "mssql_next_result",
1638 "mssql_num_fields",
1639 "mssql_num_rows",
1640 "mssql_pconnect",
1641 "mssql_query",
1642 "mssql_result",
1643 "mssql_rows_affected",
1644 "mssql_select_db",
1645 "mt_getrandmax",
1646 "mt_rand",
1647 "mt_srand",
1648 "multColor",
1649 "muscat_close",
1650 "muscat_get",
1651 "muscat_give",
1652 "muscat_setup",
1653 "muscat_setup_net",
1654 "mysql_affected_rows",
1655 "mysql_change_user",
1656 "mysql_client_encoding",
1657 "mysql_close",
1658 "mysql_connect",
1659 "mysql_create_db",
1660 "mysql_data_seek",
1661 "mysql_db_name",
1662 "mysql_db_query",
1663 "mysql_drop_db",
1664 "mysql_errno",
1665 "mysql_error",
1666 "mysql_escape_string",
1667 "mysql_fetch_array",
1668 "mysql_fetch_assoc",
1669 "mysql_fetch_field",
1670 "mysql_fetch_lengths",
1671 "mysql_fetch_object",
1672 "mysql_fetch_row",
1673 "mysql_field_flags",
1674 "mysql_field_len",
1675 "mysql_field_name",
1676 "mysql_field_seek",
1677 "mysql_field_table",
1678 "mysql_field_type",
1679 "mysql_free_result",
1680 "mysql_get_client_info",
1681 "mysql_get_host_info",
1682 "mysql_get_proto_info",
1683 "mysql_get_server_info",
1684 "mysql_info",
1685 "mysql_insert_id",
1686 "mysql_list_dbs",
1687 "mysql_list_fields",
1688 "mysql_list_processes",
1689 "mysql_list_tables",
1690 "mysql_num_fields",
1691 "mysql_num_rows",
1692 "mysql_pconnect",
1693 "mysql_ping",
1694 "mysql_query",
1695 "mysql_real_escape_string",
1696 "mysql_result",
1697 "mysql_select_db",
1698 "mysql_stat",
1699 "mysql_tablename",
1700 "mysql_thread_id",
1701 "mysql_unbuffered_query",
1702 "name",
1703 "natcasesort",
1704 "natsort",
1705 "ncurses_addch",
1706 "ncurses_addchnstr",
1707 "ncurses_addchstr",
1708 "ncurses_addnstr",
1709 "ncurses_addstr",
1710 "ncurses_assume_default_colors",
1711 "ncurses_attroff",
1712 "ncurses_attron",
1713 "ncurses_attrset",
1714 "ncurses_baudrate",
1715 "ncurses_beep",
1716 "ncurses_bkgd",
1717 "ncurses_bkgdset",
1718 "ncurses_border",
1719 "ncurses_can_change_color",
1720 "ncurses_cbreak",
1721 "ncurses_clear",
1722 "ncurses_clrtobot",
1723 "ncurses_clrtoeol",
1724 "ncurses_color_set",
1725 "ncurses_curs_set",
1726 "ncurses_define_key",
1727 "ncurses_def_prog_mode",
1728 "ncurses_def_shell_mode",
1729 "ncurses_delay_output",
1730 "ncurses_delch",
1731 "ncurses_deleteln",
1732 "ncurses_delwin",
1733 "ncurses_doupdate",
1734 "ncurses_echo",
1735 "ncurses_echochar",
1736 "ncurses_end",
1737 "ncurses_erase",
1738 "ncurses_erasechar",
1739 "ncurses_filter",
1740 "ncurses_flash",
1741 "ncurses_flushinp",
1742 "ncurses_getch",
1743 "ncurses_getmouse",
1744 "ncurses_halfdelay",
1745 "ncurses_has_colors",
1746 "ncurses_has_ic",
1747 "ncurses_has_il",
1748 "ncurses_has_key",
1749 "ncurses_hline",
1750 "ncurses_inch",
1751 "ncurses_init",
1752 "ncurses_init_color",
1753 "ncurses_init_pair",
1754 "ncurses_insch",
1755 "ncurses_insdelln",
1756 "ncurses_insertln",
1757 "ncurses_insstr",
1758 "ncurses_instr",
1759 "ncurses_isendwin",
1760 "ncurses_keyok",
1761 "ncurses_killchar",
1762 "ncurses_longname",
1763 "ncurses_mouseinterval",
1764 "ncurses_mousemask",
1765 "ncurses_move",
1766 "ncurses_mvaddch",
1767 "ncurses_mvaddchnstr",
1768 "ncurses_mvaddchstr",
1769 "ncurses_mvaddnstr",
1770 "ncurses_mvaddstr",
1771 "ncurses_mvcur",
1772 "ncurses_mvdelch",
1773 "ncurses_mvgetch",
1774 "ncurses_mvhline",
1775 "ncurses_mvinch",
1776 "ncurses_mvvline",
1777 "ncurses_mvwaddstr",
1778 "ncurses_napms",
1779 "ncurses_newwin",
1780 "ncurses_nl",
1781 "ncurses_nocbreak",
1782 "ncurses_noecho",
1783 "ncurses_nonl",
1784 "ncurses_noqiflush",
1785 "ncurses_noraw",
1786 "ncurses_putp",
1787 "ncurses_qiflush",
1788 "ncurses_raw",
1789 "ncurses_refresh",
1790 "ncurses_resetty",
1791 "ncurses_savetty",
1792 "ncurses_scr_dump",
1793 "ncurses_scr_init",
1794 "ncurses_scrl",
1795 "ncurses_scr_restore",
1796 "ncurses_scr_set",
1797 "ncurses_slk_attr",
1798 "ncurses_slk_attroff",
1799 "ncurses_slk_attron",
1800 "ncurses_slk_attrset",
1801 "ncurses_slk_clear",
1802 "ncurses_slk_color",
1803 "ncurses_slk_init",
1804 "ncurses_slk_noutrefresh",
1805 "ncurses_slk_refresh",
1806 "ncurses_slk_restore",
1807 "ncurses_slk_touch",
1808 "ncurses_standend",
1809 "ncurses_standout",
1810 "ncurses_start_color",
1811 "ncurses_termattrs",
1812 "ncurses_termname",
1813 "ncurses_timeout",
1814 "ncurses_typeahead",
1815 "ncurses_ungetch",
1816 "ncurses_ungetmouse",
1817 "ncurses_use_default_colors",
1818 "ncurses_use_env",
1819 "ncurses_use_extended_names",
1820 "ncurses_vidattr",
1821 "ncurses_vline",
1822 "ncurses_wrefresh",
1823 "new",
1824 "next",
1825 "nextframe",
1826 "next_sibling",
1827 "ngettext",
1828 "nl2br",
1829 "nl_langinfo",
1830 "node_name",
1831 "node_type",
1832 "node_value",
1833 "notations",
1834 "notes_body",
1835 "notes_copy_db",
1836 "notes_create_db",
1837 "notes_create_note",
1838 "notes_drop_db",
1839 "notes_find_note",
1840 "notes_header_info",
1841 "notes_list_msgs",
1842 "notes_mark_read",
1843 "notes_mark_unread",
1844 "notes_nav_create",
1845 "notes_search",
1846 "notes_unread",
1847 "notes_version",
1848 "NULL",
1849 "number_format",
1850 "ob_clean",
1851 "ob_end_clean",
1852 "ob_end_flush",
1853 "ob_flush",
1854 "ob_get_contents",
1855 "ob_get_length",
1856 "ob_get_level",
1857 "ob_get_status",
1858 "ob_gzhandler",
1859 "ob_iconv_handler",
1860 "ob_implicit_flush",
1861 "object",
1862 "objectbyanchor",
1863 "ob_start",
1864 "ocibindbyname",
1865 "ocicancel",
1866 "OCICollAppend",
1867 "ocicollassign",
1868 "ocicollassignelem",
1869 "ocicollgetelem",
1870 "ocicollmax",
1871 "ocicollsize",
1872 "ocicolltrim",
1873 "ocicolumnisnull",
1874 "ocicolumnname",
1875 "ocicolumnprecision",
1876 "ocicolumnscale",
1877 "ocicolumnsize",
1878 "ocicolumntype",
1879 "ocicolumntyperaw",
1880 "ocicommit",
1881 "ocidefinebyname",
1882 "ocierror",
1883 "ociexecute",
1884 "ocifetch",
1885 "ocifetchinto",
1886 "ocifetchstatement",
1887 "ocifreecollection",
1888 "ocifreecursor",
1889 "OCIFreeDesc",
1890 "ocifreestatement",
1891 "ociinternaldebug",
1892 "ociloadlob",
1893 "ocilogoff",
1894 "ocilogon",
1895 "ocinewcollection",
1896 "ocinewcursor",
1897 "ocinewdescriptor",
1898 "ocinlogon",
1899 "ocinumcols",
1900 "ociparse",
1901 "ociplogon",
1902 "ociresult",
1903 "ocirollback",
1904 "ocirowcount",
1905 "ocisavelob",
1906 "ocisavelobfile",
1907 "ociserverversion",
1908 "ocisetprefetch",
1909 "ocistatementtype",
1910 "ociwritelobtofile",
1911 "octdec",
1912 "odbc_autocommit",
1913 "odbc_binmode",
1914 "odbc_close",
1915 "odbc_close_all",
1916 "odbc_columnprivileges",
1917 "odbc_columns",
1918 "odbc_commit",
1919 "odbc_connect",
1920 "odbc_cursor",
1921 "odbc_data_source",
1922 "odbc_do",
1923 "odbc_error",
1924 "odbc_errormsg",
1925 "odbc_exec",
1926 "odbc_execute",
1927 "odbc_fetch_array",
1928 "odbc_fetch_into",
1929 "odbc_fetch_object",
1930 "odbc_fetch_row",
1931 "odbc_field_len",
1932 "odbc_field_name",
1933 "odbc_field_num",
1934 "odbc_field_precision",
1935 "odbc_field_scale",
1936 "odbc_field_type",
1937 "odbc_foreignkeys",
1938 "odbc_free_result",
1939 "odbc_gettypeinfo",
1940 "odbc_longreadlen",
1941 "odbc_next_result",
1942 "odbc_num_fields",
1943 "odbc_num_rows",
1944 "odbc_pconnect",
1945 "odbc_prepare",
1946 "odbc_primarykeys",
1947 "odbc_procedurecolumns",
1948 "odbc_procedures",
1949 "odbc_result",
1950 "odbc_result_all",
1951 "odbc_rollback",
1952 "odbc_setoption",
1953 "odbc_specialcolumns",
1954 "odbc_statistics",
1955 "odbc_tableprivileges",
1956 "odbc_tables",
1957 "opendir",
1958 "openlog",
1959 "openssl_csr_export",
1960 "openssl_csr_export_to_file",
1961 "openssl_csr_new",
1962 "openssl_csr_sign",
1963 "openssl_error_string",
1964 "openssl_free_key",
1965 "openssl_get_privatekey",
1966 "openssl_get_publickey",
1967 "openssl_open",
1968 "openssl_pkcs7_decrypt",
1969 "openssl_pkcs7_encrypt",
1970 "openssl_pkcs7_sign",
1971 "openssl_pkcs7_verify",
1972 "openssl_pkey_export",
1973 "openssl_pkey_export_to_file",
1974 "openssl_pkey_get_private",
1975 "openssl_pkey_get_public",
1976 "openssl_pkey_new",
1977 "openssl_private_decrypt",
1978 "openssl_private_encrypt",
1979 "openssl_public_decrypt",
1980 "openssl_public_encrypt",
1981 "openssl_seal",
1982 "openssl_sign",
1983 "openssl_verify",
1984 "openssl_x509_check_private_key",
1985 "openssl_x509_checkpurpose",
1986 "openssl_x509_export",
1987 "openssl_x509_export_to_file",
1988 "openssl_x509_free",
1989 "openssl_x509_parse",
1990 "openssl_x509_read",
1991 "ora_bind",
1992 "ora_close",
1993 "ora_columnname",
1994 "ora_columnsize",
1995 "ora_columntype",
1996 "ora_commit",
1997 "ora_commitoff",
1998 "ora_commiton",
1999 "ora_do",
2000 "ora_error",
2001 "ora_errorcode",
2002 "ora_exec",
2003 "ora_fetch",
2004 "ora_fetch_into",
2005 "ora_getcolumn",
2006 "ora_logoff",
2007 "ora_logon",
2008 "ora_numcols",
2009 "ora_numrows",
2010 "ora_open",
2011 "ora_parse",
2012 "ora_plogon",
2013 "ora_rollback",
2014 "ord",
2015 "output",
2016 "overload",
2017 "ovrimos_close",
2018 "ovrimos_commit",
2019 "ovrimos_connect",
2020 "ovrimos_cursor",
2021 "ovrimos_exec",
2022 "ovrimos_execute",
2023 "ovrimos_fetch_into",
2024 "ovrimos_fetch_row",
2025 "ovrimos_field_len",
2026 "ovrimos_field_name",
2027 "ovrimos_field_num",
2028 "ovrimos_field_type",
2029 "ovrimos_free_result",
2030 "ovrimos_longreadlen",
2031 "ovrimos_num_fields",
2032 "ovrimos_num_rows",
2033 "ovrimos_prepare",
2034 "ovrimos_result",
2035 "ovrimos_result_all",
2036 "ovrimos_rollback",
2037 "owner_document",
2038 "pack",
2039 "parent_node",
2040 "parents",
2041 "parse_ini_file",
2042 "parse_str",
2043 "parse_url",
2044 "passthru",
2045 "pathinfo",
2046 "PATH_TRANSLATED",
2047 "pclose",
2048 "pcntl_exec",
2049 "pcntl_fork",
2050 "pcntl_signal",
2051 "pcntl_waitpid",
2052 "pcntl_wexitstatus",
2053 "pcntl_wifexited",
2054 "pcntl_wifsignaled",
2055 "pcntl_wifstopped",
2056 "pcntl_wstopsig",
2057 "pcntl_wtermsig",
2058 "pdf_add_annotation",
2059 "pdf_add_bookmark",
2060 "pdf_add_launchlink",
2061 "pdf_add_locallink",
2062 "pdf_add_note",
2063 "pdf_add_outline",
2064 "pdf_add_pdflink",
2065 "pdf_add_thumbnail",
2066 "pdf_add_weblink",
2067 "pdf_arc",
2068 "pdf_arcn",
2069 "pdf_attach_file",
2070 "pdf_begin_page",
2071 "pdf_begin_pattern",
2072 "pdf_begin_template",
2073 "pdf_circle",
2074 "pdf_clip",
2075 "pdf_close",
2076 "pdf_close_image",
2077 "pdf_closepath",
2078 "pdf_closepath_fill_stroke",
2079 "pdf_closepath_stroke",
2080 "pdf_close_pdi",
2081 "pdf_close_pdi_page",
2082 "pdf_concat",
2083 "pdf_continue_text",
2084 "pdf_curveto",
2085 "pdf_delete",
2086 "pdf_end_page",
2087 "pdf_endpath",
2088 "pdf_end_pattern",
2089 "pdf_end_template",
2090 "pdf_fill",
2091 "pdf_fill_stroke",
2092 "pdf_findfont",
2093 "pdf_get_buffer",
2094 "pdf_get_font",
2095 "pdf_get_fontname",
2096 "pdf_get_fontsize",
2097 "pdf_get_image_height",
2098 "pdf_get_image_width",
2099 "pdf_get_majorversion",
2100 "pdf_get_minorversion",
2101 "pdf_get_parameter",
2102 "pdf_get_pdi_parameter",
2103 "pdf_get_pdi_value",
2104 "pdf_get_value",
2105 "pdf_initgraphics",
2106 "pdf_lineto",
2107 "pdf_makespotcolor",
2108 "pdf_moveto",
2109 "pdf_new",
2110 "pdf_open",
2111 "pdf_open_CCITT",
2112 "pdf_open_file",
2113 "pdf_open_gif",
2114 "pdf_open_image",
2115 "pdf_open_image_file",
2116 "pdf_open_jpeg",
2117 "pdf_open_memory_image",
2118 "pdf_open_pdi",
2119 "pdf_open_pdi_page",
2120 "pdf_open_png",
2121 "pdf_open_tiff",
2122 "pdf_place_image",
2123 "pdf_place_pdi_page",
2124 "pdf_rect",
2125 "pdf_restore",
2126 "pdf_rotate",
2127 "pdf_save",
2128 "pdf_scale",
2129 "pdf_set_border_color",
2130 "pdf_set_border_dash",
2131 "pdf_set_border_style",
2132 "pdf_set_char_spacing",
2133 "pdf_setcolor",
2134 "pdf_setdash",
2135 "pdf_set_duration",
2136 "pdf_setflat",
2137 "pdf_set_font",
2138 "pdf_setfont",
2139 "pdf_setgray",
2140 "pdf_setgray_fill",
2141 "pdf_setgray_stroke",
2142 "pdf_set_horiz_scaling",
2143 "pdf_set_info",
2144 "pdf_set_info_author",
2145 "pdf_set_info_creator",
2146 "pdf_set_info_keywords",
2147 "pdf_set_info_subject",
2148 "pdf_set_info_title",
2149 "pdf_set_leading",
2150 "pdf_setlinecap",
2151 "pdf_setlinejoin",
2152 "pdf_setlinewidth",
2153 "pdf_setmatrix",
2154 "pdf_setmiterlimit",
2155 "pdf_set_parameter",
2156 "pdf_setpolydash",
2157 "pdf_setrgbcolor",
2158 "pdf_setrgbcolor_fill",
2159 "pdf_setrgbcolor_stroke",
2160 "pdf_set_text_matrix",
2161 "pdf_set_text_pos",
2162 "pdf_set_text_rendering",
2163 "pdf_set_text_rise",
2164 "pdf_set_value",
2165 "pdf_set_word_spacing",
2166 "pdf_show",
2167 "pdf_show_boxed",
2168 "pdf_show_xy",
2169 "pdf_skew",
2170 "pdf_stringwidth",
2171 "pdf_stroke",
2172 "pdf_translate",
2173 "PEAR_EXTENSION_DIR",
2174 "PEAR_INSTALL_DIR",
2175 "pfpro_cleanup",
2176 "pfpro_init",
2177 "pfpro_process",
2178 "pfpro_process_raw",
2179 "pfpro_version",
2180 "pfsockopen",
2181 "pg_affected_rows",
2182 "pg_cancel_query",
2183 "pg_client_encoding",
2184 "pg_close",
2185 "pg_connect",
2186 "pg_connection_busy",
2187 "pg_connection_reset",
2188 "pg_connection_status",
2189 "pg_convert",
2190 "pg_copy_from",
2191 "pg_copy_to",
2192 "pg_dbname",
2193 "pg_delete",
2194 "pg_end_copy",
2195 "pg_escape_bytea",
2196 "pg_escape_string",
2197 "pg_fetch_all",
2198 "pg_fetch_array",
2199 "pg_fetch_assoc",
2200 "pg_fetch_object",
2201 "pg_fetch_result",
2202 "pg_fetch_row",
2203 "pg_field_is_null",
2204 "pg_field_name",
2205 "pg_field_num",
2206 "pg_field_prtlen",
2207 "pg_field_size",
2208 "pg_field_type",
2209 "pg_free_result",
2210 "pg_get_notify",
2211 "pg_get_pid",
2212 "pg_get_result",
2213 "pg_host",
2214 "pg_insert",
2215 "pg_last_error",
2216 "pg_last_notice",
2217 "pg_last_oid",
2218 "pg_lo_close",
2219 "pg_lo_create",
2220 "pg_lo_export",
2221 "pg_lo_import",
2222 "pg_lo_open",
2223 "pg_lo_read",
2224 "pg_lo_read_all",
2225 "pg_lo_seek",
2226 "pg_lo_tell",
2227 "pg_lo_unlink",
2228 "pg_lo_write",
2229 "pg_meta_data",
2230 "pg_num_fields",
2231 "pg_num_rows",
2232 "pg_options",
2233 "pg_pconnect",
2234 "pg_ping",
2235 "pg_port",
2236 "pg_put_line",
2237 "pg_query",
2238 "pg_result_error",
2239 "pg_result_seek",
2240 "pg_result_status",
2241 "pg_select",
2242 "pg_send_query",
2243 "pg_set_client_encoding",
2244 "pg_trace",
2245 "pg_tty",
2246 "pg_unescape_bytea",
2247 "pg_untrace",
2248 "pg_update",
2249 "PHP_BINDIR",
2250 "PHP_CONFIG_FILE_PATH",
2251 "phpcredits",
2252 "PHP_DATADIR",
2253 "PHP_ERRMSG",
2254 "PHP_EXTENSION_DIR",
2255 "phpinfo",
2256 "php_ini_scanned_files",
2257 "PHP_LIBDIR",
2258 "PHP_LOCALSTATEDIR",
2259 "php_logo_guid",
2260 "PHP_OS",
2261 "PHP_OUTPUT_HANDLER_CONT",
2262 "PHP_OUTPUT_HANDLER_END",
2263 "PHP_OUTPUT_HANDLER_START",
2264 "php_sapi_name",
2265 "PHP_SELF",
2266 "PHP_SYSCONFDIR",
2267 "php_uname",
2268 "phpversion",
2269 "PHP_VERSION",
2270 "pi",
2271 "png2wbmp",
2272 "popen",
2273 "pos",
2274 "posix_ctermid",
2275 "posix_getcwd",
2276 "posix_getegid",
2277 "posix_geteuid",
2278 "posix_getgid",
2279 "posix_getgrgid",
2280 "posix_getgrnam",
2281 "posix_getgroups",
2282 "posix_getlogin",
2283 "posix_getpgid",
2284 "posix_getpgrp",
2285 "posix_getpid",
2286 "posix_getppid",
2287 "posix_getpwnam",
2288 "posix_getpwuid",
2289 "posix_getrlimit",
2290 "posix_getsid",
2291 "posix_getuid",
2292 "posix_isatty",
2293 "posix_kill",
2294 "posix_mkfifo",
2295 "posix_setegid",
2296 "posix_seteuid",
2297 "posix_setgid",
2298 "posix_setpgid",
2299 "posix_setsid",
2300 "posix_setuid",
2301 "posix_times",
2302 "posix_ttyname",
2303 "posix_uname",
2304 "_POST",
2305 "pow",
2306 "prefix",
2307 "preg_grep",
2308 "preg_match",
2309 "preg_match_all",
2310 "preg_quote",
2311 "preg_replace",
2312 "preg_replace_callback",
2313 "preg_split",
2314 "prev",
2315 "previous_sibling",
2316 "print",
2317 "printer_abort",
2318 "printer_close",
2319 "printer_create_brush",
2320 "printer_create_dc",
2321 "printer_create_font",
2322 "printer_create_pen",
2323 "printer_delete_brush",
2324 "printer_delete_dc",
2325 "printer_delete_font",
2326 "printer_delete_pen",
2327 "printer_draw_bmp",
2328 "printer_draw_chord",
2329 "printer_draw_elipse",
2330 "printer_draw_line",
2331 "printer_draw_pie",
2332 "printer_draw_rectangle",
2333 "printer_draw_roundrect",
2334 "printer_draw_text",
2335 "printer_end_doc",
2336 "printer_end_page",
2337 "printer_get_option",
2338 "printer_list",
2339 "printer_logical_fontheight",
2340 "printer_open",
2341 "printer_select_brush",
2342 "printer_select_font",
2343 "printer_select_pen",
2344 "printer_set_option",
2345 "printer_start_doc",
2346 "printer_start_page",
2347 "printer_write",
2348 "printf",
2349 "print_r",
2350 "private",
2351 "proc_close",
2352 "process",
2353 "proc_open",
2354 "protected",
2355 "pspell_add_to_personal",
2356 "pspell_add_to_session",
2357 "pspell_check",
2358 "pspell_clear_session",
2359 "pspell_config_create",
2360 "pspell_config_ignore",
2361 "pspell_config_mode",
2362 "pspell_config_personal",
2363 "pspell_config_repl",
2364 "pspell_config_runtogether",
2365 "pspell_config_save_repl",
2366 "pspell_new",
2367 "pspell_new_config",
2368 "pspell_new_personal",
2369 "pspell_save_wordlist",
2370 "pspell_store_replacement",
2371 "pspell_suggest",
2372 "public",
2373 "public_id",
2374 "putenv",
2375 "qdom_error",
2376 "qdom_tree",
2377 "QUERY_STRING",
2378 "quoted_printable_decode",
2379 "quotemeta",
2380 "rad2deg",
2381 "rand",
2382 "range",
2383 "rawurldecode",
2384 "rawurlencode",
2385 "read",
2386 "readdir",
2387 "read_exif_data",
2388 "readfile",
2389 "readgzfile",
2390 "readline",
2391 "readline_add_history",
2392 "readline_clear_history",
2393 "readline_completion_function",
2394 "readline_info",
2395 "readline_list_history",
2396 "readline_read_history",
2397 "readline_write_history",
2398 "readlink",
2399 "realpath",
2400 "reason",
2401 "recode",
2402 "recode_file",
2403 "recode_string",
2404 "register_shutdown_function",
2405 "register_tick_function",
2406 "REMOTE_ADDR",
2407 "REMOTE_PORT",
2408 "remove",
2409 "remove_attribute",
2410 "remove_child",
2411 "rename",
2412 "replace",
2413 "replace_child",
2414 "replace_node",
2415 "_REQUEST",
2416 "REQUEST_METHOD",
2417 "REQUEST_URI",
2418 "require",
2419 "require_once",
2420 "reset",
2421 "restore_error_handler",
2422 "restore_include_path",
2423 "result_dump_file",
2424 "result_dump_mem",
2425 "return",
2426 "rewind",
2427 "rewinddir",
2428 "rmdir",
2429 "Rotate",
2430 "rotateTo",
2431 "round",
2432 "rsort",
2433 "rtrim",
2434 "save",
2435 "scale",
2436 "scaleTo",
2437 "SCRIPT_FILENAME",
2438 "SCRIPT_NAME",
2439 "sem_acquire",
2440 "sem_get",
2441 "sem_release",
2442 "sem_remove",
2443 "serialize",
2444 "_SERVER",
2445 "SERVER_ADMIN",
2446 "SERVER_NAME",
2447 "SERVER_PORT",
2448 "SERVER_PROTOCOL",
2449 "SERVER_SIGNATURE",
2450 "SERVER_SOFTWARE",
2451 "sesam_affected_rows",
2452 "sesam_commit",
2453 "sesam_connect",
2454 "sesam_diagnostic",
2455 "sesam_disconnect",
2456 "sesam_errormsg",
2457 "sesam_execimm",
2458 "sesam_fetch_array",
2459 "sesam_fetch_result",
2460 "sesam_fetch_row",
2461 "sesam_field_array",
2462 "sesam_field_name",
2463 "sesam_free_result",
2464 "sesam_num_fields",
2465 "sesam_query",
2466 "sesam_rollback",
2467 "sesam_seek_row",
2468 "sesam_settransaction",
2469 "_SESSION",
2470 "session_cache_expire",
2471 "session_cache_limiter",
2472 "session_decode",
2473 "session_destroy",
2474 "session_encode",
2475 "session_get_cookie_params",
2476 "session_id",
2477 "session_is_registered",
2478 "session_module_name",
2479 "session_name",
2480 "session_readonly",
2481 "session_register",
2482 "session_save_path",
2483 "session_set_cookie_params",
2484 "session_set_save_handler",
2485 "session_start",
2486 "session_unregister",
2487 "session_unset",
2488 "session_write_close",
2489 "setAction",
2490 "set_attribute",
2491 "setbackground",
2492 "setbounds",
2493 "setcolor",
2494 "setColor",
2495 "setcommitedversion",
2496 "set_content",
2497 "setcookie",
2498 "setDepth",
2499 "setdimension",
2500 "setdown",
2501 "set_error_handler",
2502 "set_file_buffer",
2503 "setFont",
2504 "setframes",
2505 "setHeight",
2506 "setHit",
2507 "set_include_path",
2508 "setindentation",
2509 "setLeftFill",
2510 "setLeftMargin",
2511 "setLine",
2512 "setLineSpacing",
2513 "setlocale",
2514 "set_magic_quotes_runtime",
2515 "setMargins",
2516 "set_name",
2517 "setname",
2518 "setName",
2519 "set_namespace",
2520 "setOver",
2521 "setrate",
2522 "setRatio",
2523 "setRightFill",
2524 "setrightMargin",
2525 "setSpacing",
2526 "set_time_limit",
2527 "settype",
2528 "setUp",
2529 "sha1",
2530 "sha1_file",
2531 "shell_exec",
2532 "shm_attach",
2533 "shm_detach",
2534 "shm_get_var",
2535 "shmop_close",
2536 "shmop_delete",
2537 "shmop_open",
2538 "shmop_read",
2539 "shmop_size",
2540 "shmop_write",
2541 "shm_put_var",
2542 "shm_remove",
2543 "shm_remove_var",
2544 "show_source",
2545 "shuffle",
2546 "similar_text",
2547 "sin",
2548 "sinh",
2549 "sizeof",
2550 "skewX",
2551 "skewXTo",
2552 "skewY",
2553 "skewYTo",
2554 "sleep",
2555 "snmpget",
2556 "snmp_get_quick_print",
2557 "snmprealwalk",
2558 "snmpset",
2559 "snmp_set_quick_print",
2560 "snmpwalk",
2561 "snmpwalkoid",
2562 "socket_accept",
2563 "socket_bind",
2564 "socket_clear_error",
2565 "socket_close",
2566 "socket_connect",
2567 "socket_create",
2568 "socket_create_listen",
2569 "socket_create_pair",
2570 "socket_get_option",
2571 "socket_getpeername",
2572 "socket_getsockname",
2573 "socket_get_status",
2574 "socket_iovec_add",
2575 "socket_iovec_alloc",
2576 "socket_iovec_delete",
2577 "socket_iovec_fetch",
2578 "socket_iovec_free",
2579 "socket_iovec_set",
2580 "socket_last_error",
2581 "socket_listen",
2582 "socket_read",
2583 "socket_readv",
2584 "socket_recv",
2585 "socket_recvfrom",
2586 "socket_recvmsg",
2587 "socket_select",
2588 "socket_send",
2589 "socket_sendmsg",
2590 "socket_sendto",
2591 "socket_set_blocking",
2592 "socket_set_nonblock",
2593 "socket_set_option",
2594 "socket_set_timeout",
2595 "socket_shutdown",
2596 "socket_strerror",
2597 "socket_write",
2598 "socket_writev",
2599 "sort",
2600 "soundex",
2601 "specified",
2602 "split",
2603 "spliti",
2604 "sprintf",
2605 "sql_regcase",
2606 "sqrt",
2607 "srand",
2608 "srcanchors",
2609 "srcsofdst",
2610 "sscanf",
2611 "stat",
2612 "static",
2613 "stdClass",
2614 "strcasecmp",
2615 "strchr",
2616 "strcmp",
2617 "strcoll",
2618 "strcspn",
2619 "stream_context_create",
2620 "stream_context_get_options",
2621 "stream_context_set_option",
2622 "stream_context_set_params",
2623 "stream_filter_append",
2624 "stream_filter_prepend",
2625 "stream_get_filters",
2626 "stream_get_meta_data",
2627 "stream_get_wrappers",
2628 "streammp3",
2629 "stream_register_filter",
2630 "stream_register_wrapper",
2631 "stream_select",
2632 "stream_set_blocking",
2633 "stream_set_timeout",
2634 "stream_set_write_buffer",
2635 "strftime",
2636 "stripcslashes",
2637 "stripslashes",
2638 "strip_tags",
2639 "stristr",
2640 "strlen",
2641 "strnatcasecmp",
2642 "strnatcmp",
2643 "strncasecmp",
2644 "strncmp",
2645 "str_pad",
2646 "strpos",
2647 "strrchr",
2648 "str_repeat",
2649 "str_replace",
2650 "strrev",
2651 "str_rot13",
2652 "strrpos",
2653 "str_shuffle",
2654 "strspn",
2655 "strstr",
2656 "strtok",
2657 "strtolower",
2658 "strtotime",
2659 "strtoupper",
2660 "strtr",
2661 "strval",
2662 "str_word_count",
2663 "substr",
2664 "substr_count",
2665 "substr_replace",
2666 "SWFAction",
2667 "swf_actiongeturl",
2668 "swf_actiongotoframe",
2669 "swf_actiongotolabel",
2670 "swf_actionnextframe",
2671 "swf_actionplay",
2672 "swf_actionprevframe",
2673 "swf_actionsettarget",
2674 "swf_actionstop",
2675 "swf_actiontogglequality",
2676 "swf_actionwaitforframe",
2677 "swf_addbuttonrecord",
2678 "swf_addcolor",
2679 "SWFBitmap",
2680 "SWFbutton",
2681 "swfbutton_keypress",
2682 "swf_closefile",
2683 "swf_definebitmap",
2684 "swf_definefont",
2685 "swf_defineline",
2686 "swf_definepoly",
2687 "swf_definerect",
2688 "swf_definetext",
2689 "SWFDisplayItem",
2690 "swf_endbutton",
2691 "swf_enddoaction",
2692 "swf_endshape",
2693 "swf_endsymbol",
2694 "SWFFill",
2695 "SWFFont",
2696 "swf_fontsize",
2697 "swf_fontslant",
2698 "swf_fonttracking",
2699 "swf_getbitmapinfo",
2700 "swf_getfontinfo",
2701 "swf_getframe",
2702 "SWFGradient",
2703 "swf_labelframe",
2704 "swf_lookat",
2705 "swf_modifyobject",
2706 "SWFMorph",
2707 "SWFMovie",
2708 "swf_mulcolor",
2709 "swf_nextid",
2710 "swf_oncondition",
2711 "swf_openfile",
2712 "swf_ortho",
2713 "swf_ortho2",
2714 "swf_perspective",
2715 "swf_placeobject",
2716 "swf_polarview",
2717 "swf_popmatrix",
2718 "swf_posround",
2719 "swf_pushmatrix",
2720 "swf_removeobject",
2721 "swf_rotate",
2722 "swf_scale",
2723 "swf_setfont",
2724 "swf_setframe",
2725 "SWFShape",
2726 "swf_shapearc",
2727 "swf_shapecurveto",
2728 "swf_shapecurveto3",
2729 "swf_shapefillbitmapclip",
2730 "swf_shapefillbitmaptile",
2731 "swf_shapefilloff",
2732 "swf_shapefillsolid",
2733 "swf_shapelinesolid",
2734 "swf_shapelineto",
2735 "swf_shapemoveto",
2736 "swf_showframe",
2737 "SWFSprite",
2738 "swf_startbutton",
2739 "swf_startdoaction",
2740 "swf_startshape",
2741 "swf_startsymbol",
2742 "SWFText",
2743 "SWFTextField",
2744 "swf_textwidth",
2745 "swf_translate",
2746 "swf_viewport",
2747 "switch",
2748 "sybase_affected_rows",
2749 "sybase_close",
2750 "sybase_connect",
2751 "sybase_data_seek",
2752 "sybase_fetch_array",
2753 "sybase_fetch_field",
2754 "sybase_fetch_object",
2755 "sybase_fetch_row",
2756 "sybase_field_seek",
2757 "sybase_free_result",
2758 "sybase_get_last_message",
2759 "sybase_min_client_severity",
2760 "sybase_min_error_severity",
2761 "sybase_min_message_severity",
2762 "sybase_min_server_severity",
2763 "sybase_num_fields",
2764 "sybase_num_rows",
2765 "sybase_pconnect",
2766 "sybase_query",
2767 "sybase_result",
2768 "sybase_select_db",
2769 "symlink",
2770 "syslog",
2771 "system",
2772 "system_id",
2773 "tagname",
2774 "tan",
2775 "tanh",
2776 "target",
2777 "tempnam",
2778 "textdomain",
2779 "time",
2780 "title",
2781 "tmpfile",
2782 "token_get_all",
2783 "token_name",
2784 "touch",
2785 "trigger_error",
2786 "trim",
2787 "TRUE",
2788 "type",
2789 "uasort",
2790 "ucfirst",
2791 "ucwords",
2792 "udm_add_search_limit",
2793 "udm_alloc_agent",
2794 "udm_api_version",
2795 "udm_cat_list",
2796 "udm_cat_path",
2797 "udm_check_charset",
2798 "udm_check_stored",
2799 "udm_clear_search_limits",
2800 "udm_close_stored",
2801 "udm_crc32",
2802 "udm_errno",
2803 "udm_error",
2804 "udm_find",
2805 "udm_free_agent",
2806 "udm_free_ispell_data",
2807 "udm_free_res",
2808 "udm_get_doc_count",
2809 "udm_get_res_field",
2810 "udm_get_res_param",
2811 "udm_load_ispell_data",
2812 "udm_open_stored",
2813 "udm_set_agent_param",
2814 "uksort",
2815 "umask",
2816 "uniqid",
2817 "unixtojd",
2818 "unlink",
2819 "unlink_node",
2820 "unlock",
2821 "unpack",
2822 "unregister_tick_function",
2823 "unserialize",
2824 "unset",
2825 "urldecode",
2826 "urlencode",
2827 "user",
2828 "user_error",
2829 "userlist",
2830 "usleep",
2831 "usort",
2832 "utf8_decode",
2833 "utf8_encode",
2834 "value",
2835 "values",
2836 "var",
2837 "var_dump",
2838 "var_export",
2839 "version_compare",
2840 "virtual",
2841 "vpopmail_add_alias_domain",
2842 "vpopmail_add_alias_domain_ex",
2843 "vpopmail_add_domain",
2844 "vpopmail_add_domain_ex",
2845 "vpopmail_add_user",
2846 "vpopmail_alias_add",
2847 "vpopmail_alias_del",
2848 "vpopmail_alias_del_domain",
2849 "vpopmail_alias_get",
2850 "vpopmail_alias_get_all",
2851 "vpopmail_auth_user",
2852 "vpopmail_del_domain",
2853 "vpopmail_del_domain_ex",
2854 "vpopmail_del_user",
2855 "vpopmail_error",
2856 "vpopmail_passwd",
2857 "vpopmail_set_user_quota",
2858 "vprintf",
2859 "vsprintf",
2860 "w32api_deftype",
2861 "w32api_init_dtype",
2862 "w32api_invoke_function",
2863 "w32api_register_function",
2864 "w32api_set_call_method",
2865 "wddx_add_vars",
2866 "wddx_deserialize",
2867 "wddx_packet_end",
2868 "wddx_packet_start",
2869 "wddx_serialize_value",
2870 "wddx_serialize_vars",
2871 "while",
2872 "wordwrap",
2873 "xinclude",
2874 "xml_error_string",
2875 "xml_get_current_byte_index",
2876 "xml_get_current_column_number",
2877 "xml_get_current_line_number",
2878 "xml_get_error_code",
2879 "xml_parse",
2880 "xml_parse_into_struct",
2881 "xml_parser_create",
2882 "xml_parser_create_ns",
2883 "xml_parser_free",
2884 "xml_parser_get_option",
2885 "xml_parser_set_option",
2886 "xmlrpc_decode",
2887 "xmlrpc_decode_request",
2888 "xmlrpc_encode",
2889 "xmlrpc_encode_request",
2890 "xmlrpc_get_type",
2891 "xmlrpc_parse_method_descriptions",
2892 "xmlrpc_server_add_introspection_data",
2893 "xmlrpc_server_call_method",
2894 "xmlrpc_server_create",
2895 "xmlrpc_server_destroy",
2896 "xmlrpc_server_register_introspection_callback",
2897 "xmlrpc_server_register_method",
2898 "xmlrpc_set_type",
2899 "xml_set_character_data_handler",
2900 "xml_set_default_handler",
2901 "xml_set_element_handler",
2902 "xml_set_end_namespace_decl_handler",
2903 "xml_set_external_entity_ref_handler",
2904 "xml_set_notation_decl_handler",
2905 "xml_set_object",
2906 "xml_set_processing_instruction_handler",
2907 "xml_set_start_namespace_decl_handler",
2908 "xml_set_unparsed_entity_decl_handler",
2909 "xpath_eval",
2910 "xpath_eval_expression",
2911 "xpath_new_context",
2912 "xptr_eval",
2913 "xptr_new_context",
2914 "xslt_create",
2915 "xslt_errno",
2916 "xslt_error",
2917 "xslt_free",
2918 "xslt_output_process",
2919 "xslt_set_base",
2920 "xslt_set_encoding",
2921 "xslt_set_error_handler",
2922 "xslt_set_log",
2923 "xslt_set_sax_handler",
2924 "xslt_set_sax_handlers",
2925 "xslt_set_scheme_handler",
2926 "xslt_set_scheme_handlers",
2927 "yaz_addinfo",
2928 "yaz_ccl_conf",
2929 "yaz_ccl_parse",
2930 "yaz_close",
2931 "yaz_connect",
2932 "yaz_database",
2933 "yaz_element",
2934 "yaz_errno",
2935 "yaz_error",
2936 "yaz_get_option",
2937 "yaz_hits",
2938 "yaz_itemorder",
2939 "yaz_present",
2940 "yaz_range",
2941 "yaz_record",
2942 "yaz_scan",
2943 "yaz_scan_result",
2944 "yaz_schema",
2945 "yaz_search",
2946 "yaz_set_option",
2947 "yaz_sort",
2948 "yaz_syntax",
2949 "yaz_wait",
2950 "yp_all",
2951 "yp_cat",
2952 "yp_errno",
2953 "yp_err_string",
2954 "yp_first",
2955 "yp_get_default_domain",
2956 "yp_master",
2957 "yp_match",
2958 "yp_next",
2959 "yp_order",
2960 "zend_logo_guid",
2961 "zend_version",
2962 "zend_version",
2963 "zip_close",
2964 "zip_entry_close",
2965 "zip_entry_compressedsize",
2966 "zip_entry_compressionmethod",
2967 "zip_entry_filesize",
2968 "zip_entry_name",
2969 "zip_entry_open",
2970 "zip_entry_read",
2971 "zip_open",
2972 "zip_read",
2973 0
2974 };
2975
PhpWriter()2976 PhpWriter::PhpWriter()
2977 {
2978 }
2979
~PhpWriter()2980 PhpWriter::~PhpWriter()
2981 {
2982 }
2983
2984 /**
2985 * Call this method to generate Php code for a UMLClassifier.
2986 * @param c the class you want to generate code for.
2987 */
writeClass(UMLClassifier * c)2988 void PhpWriter::writeClass(UMLClassifier *c)
2989 {
2990 if (!c) {
2991 uDebug() << "Cannot write class of NULL concept!";
2992 return;
2993 }
2994
2995 QString classname = cleanName(c->name());
2996 //find an appropriate name for our file
2997 QString fileName = findFileName(c, QLatin1String(".php"));
2998 if (fileName.isEmpty()) {
2999 emit codeGenerated(c, false);
3000 return;
3001 }
3002
3003 QFile filephp;
3004 if (!openFile(filephp, fileName)) {
3005 emit codeGenerated(c, false);
3006 return;
3007 }
3008 QTextStream php(&filephp);
3009
3010 //////////////////////////////
3011 //Start generating the code!!
3012 /////////////////////////////
3013
3014 //try to find a heading file (license, comments, etc)
3015 QString str;
3016 str = getHeadingFile(QLatin1String(".php"));
3017 if (!str.isEmpty()) {
3018 str.replace(QRegExp(QLatin1String("%filename%")), fileName);
3019 str.replace(QRegExp(QLatin1String("%filepath%")), filephp.fileName());
3020 php << str << m_endl;
3021 }
3022
3023 //write includes
3024 UMLPackageList includes;
3025 findObjectsRelated(c, includes);
3026
3027 foreach(UMLPackage* conc, includes) {
3028 QString headerName = findFileName(conc, QLatin1String(".php"));
3029 if (headerName.isEmpty()) {
3030 php << "include '" << headerName << "';" << m_endl;
3031 }
3032 }
3033 php << m_endl;
3034
3035 //Write class Documentation if there is something or if force option
3036 if (forceDoc() || !c->doc().isEmpty()) {
3037 php << m_endl << "/**" << m_endl;
3038 php << " * class " << classname << m_endl;
3039 php << formatDoc(c->doc(), QLatin1String(" * "));
3040 php << " */" << m_endl ;
3041 }
3042
3043 UMLClassifierList superclasses = c->getSuperClasses();
3044 UMLAssociationList aggregations = c->getAggregations();
3045 UMLAssociationList compositions = c->getCompositions();
3046
3047 //check if class is abstract and / or has abstract methods
3048 //FG if(c->getAbstract() && !hasAbstractOps(c))
3049 if (c->isAbstract())
3050 php << "/******************************* Abstract Class ****************************" << m_endl << " "
3051 << classname << " does not have any pure virtual methods, but its author" << m_endl
3052 << " defined it as an abstract class, so you should not use it directly." << m_endl
3053 << " Inherit from it instead and create only objects from the derived classes" << m_endl
3054 << "*****************************************************************************/" << m_endl << m_endl;
3055
3056 php << "class " << classname << (superclasses.count() > 0 ? QLatin1String(" extends ") : QString());
3057 foreach (UMLClassifier *obj, superclasses) {
3058 php << cleanName(obj->name());
3059 }
3060 php << m_endl << "{" << m_endl;
3061
3062 //associations
3063 if (forceSections() || !aggregations.isEmpty()) {
3064 php << m_endl << m_indentation << "/** Aggregations: */" << m_endl;
3065 foreach (UMLAssociation* a, aggregations) {
3066 php << m_endl;
3067 //maybe we should parse the string here and take multiplicity into account to decide
3068 //which container to use.
3069 //:UNUSED: UMLObject *o = a->getObject(Uml::RoleType::A);
3070 //:UNUSED: QString typeName = cleanName(o->name());
3071 if (a->getMultiplicity(Uml::RoleType::A).isEmpty()) {
3072 php << m_indentation << "var $m_" << ";" << m_endl;
3073 } else {
3074 php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
3075 }
3076 }//end for
3077 }
3078
3079 if (forceSections() || !compositions.isEmpty()) {
3080 php << m_endl << m_indentation << "/** Compositions: */" << m_endl;
3081 foreach (UMLAssociation* a, compositions) {
3082 // see comment on Aggregation about multiplicity...
3083 //:UNUSED: UMLObject *o = a->getObject(Uml::RoleType::A);
3084 //:UNUSED: QString typeName = cleanName(o->name());
3085 if (a->getMultiplicity(Uml::RoleType::A).isEmpty()) {
3086 php << m_indentation << "var $m_" << ";" << m_endl;
3087 } else {
3088 php << m_indentation << "var $m_" << "Vector = array();" << m_endl;
3089 }
3090 }
3091 }
3092
3093 const bool isClass = !c->isInterface();
3094
3095 //attributes
3096 if (isClass)
3097 writeAttributes(c, php);
3098
3099 //operations
3100 writeOperations(c, php);
3101
3102 if (isClass && hasDefaultValueAttr(c)) {
3103 UMLAttributeList atl = c->getAttributeList();
3104 php << m_endl;
3105
3106 php << m_indentation << "/**" << m_endl;
3107 QString temp = QLatin1String("initAttributes sets all ") + classname + QLatin1String(" attributes to its default value.")
3108 + QLatin1String(" Make sure to call this method within your class constructor");
3109 php << formatDoc(temp, m_indentation + QLatin1String(" * "));
3110 php << m_indentation << " */" << m_endl;
3111 php << m_indentation << "function " << "initAttributes()" << m_endl;
3112 php << m_indentation << "{" << m_endl;
3113 foreach (UMLAttribute* at, atl) {
3114 if (!at->getInitialValue().isEmpty()) {
3115 php << m_indentation << m_indentation << "$this->" << cleanName(at->name()) << " = " <<
3116 at->getInitialValue() << ";" << m_endl;
3117 }
3118 }
3119 php << m_indentation << "}" << m_endl;
3120 }
3121
3122 php << m_endl;
3123
3124 //finish file
3125 php << m_endl << "} // end of " << classname << m_endl;
3126 php << "?>" << m_endl;
3127
3128 //close files and notfiy we are done
3129 filephp.close();
3130 emit codeGenerated(c, true);
3131 emit showGeneratedFile(filephp.fileName());
3132 }
3133
3134 ////////////////////////////////////////////////////////////////////////////////////
3135 // Helper Methods
3136
3137 /**
3138 * Write all operations for a given class.
3139 * @param c the concept we are generating code for
3140 * @param php output stream for the PHP file
3141 */
writeOperations(UMLClassifier * c,QTextStream & php)3142 void PhpWriter::writeOperations(UMLClassifier *c, QTextStream &php)
3143 {
3144 //Lists to store operations sorted by scope
3145 UMLOperationList oppub, opprot, oppriv;
3146
3147 //sort operations by scope first and see if there are abstract methods
3148 UMLOperationList opl(c->getOpList());
3149 foreach (UMLOperation *op, opl) {
3150 switch(op->visibility()) {
3151 case Uml::Visibility::Public:
3152 oppub.append(op);
3153 break;
3154 case Uml::Visibility::Protected:
3155 opprot.append(op);
3156 break;
3157 case Uml::Visibility::Private:
3158 oppriv.append(op);
3159 break;
3160 default:
3161 break;
3162 }
3163 }
3164
3165 QString classname(cleanName(c->name()));
3166
3167 //write operations to file
3168 if (forceSections() || !oppub.isEmpty()) {
3169 php << m_endl;
3170 writeOperations(classname, oppub, php);
3171 }
3172
3173 if (forceSections() || !opprot.isEmpty()) {
3174 php << m_endl;
3175 writeOperations(classname, opprot, php);
3176 }
3177
3178 if (forceSections() || !oppriv.isEmpty()) {
3179 php << m_endl;
3180 writeOperations(classname, oppriv, php);
3181 }
3182 }
3183
3184 /**
3185 * Write a list of class operations.
3186 * @param classname the name of the class
3187 * @param opList the list of operations
3188 * @param php output stream for the PHP file
3189 */
writeOperations(const QString & classname,UMLOperationList & opList,QTextStream & php)3190 void PhpWriter::writeOperations(const QString& classname,
3191 UMLOperationList &opList,
3192 QTextStream &php)
3193 {
3194 Q_UNUSED(classname);
3195 foreach (UMLOperation* op, opList) {
3196 UMLAttributeList atl = op->getParmList();
3197 //write method doc if we have doc || if at least one of the params has doc
3198 bool writeDoc = forceDoc() || !op->doc().isEmpty();
3199 foreach (UMLAttribute* at, atl)
3200 writeDoc |= !at->doc().isEmpty();
3201
3202 if (writeDoc) //write method documentation
3203 {
3204 php <<m_indentation << "/**" << m_endl <<formatDoc(op->doc(), m_indentation + QLatin1String(" * "));
3205 php << m_indentation << " *" << m_endl;
3206
3207 foreach (UMLAttribute* at, atl) //write parameter documentation
3208 {
3209 if (forceDoc() || !at->doc().isEmpty()) {
3210 php << m_indentation << " * @param " << at->getTypeName() << " " << cleanName(at->name());
3211 php << " " << formatDoc(at->doc(), QString());
3212 }
3213 }//end for : write parameter documentation
3214 php << m_indentation << " * @return " << op->getTypeName() << m_endl;
3215 if (op->isAbstract()) php << m_indentation << " * @abstract" << m_endl;
3216 if (op->isStatic()) php << m_indentation << " * @static" << m_endl;
3217 switch(op->visibility()) {
3218 case Uml::Visibility::Public:
3219 php << m_indentation << " * @access public" << m_endl;
3220 break;
3221 case Uml::Visibility::Protected:
3222 php << m_indentation << " * @access protected" << m_endl;
3223 break;
3224 case Uml::Visibility::Private:
3225 php << m_indentation << " * @access private" << m_endl;
3226 break;
3227 default:
3228 break;
3229 }
3230 php << m_indentation << " */" << m_endl;
3231 }//end if : write method documentation
3232
3233 php << m_indentation << "function " << cleanName(op->name()) << "(";
3234
3235 int i= atl.count();
3236 int j=0;
3237 foreach (UMLAttribute* at, atl) {
3238 php << " $" << cleanName(at->name())
3239 << (!(at->getInitialValue().isEmpty()) ?
3240 QLatin1String(" = ") + at->getInitialValue() : QString())
3241 << ((j < i-1) ? QLatin1String(", ") : QString());
3242 j++;
3243 }
3244 php <<")" << m_endl;
3245 php << m_indentation << "{" << m_endl;
3246 QString sourceCode = op->getSourceCode();
3247 if (sourceCode.isEmpty()) {
3248 php << m_indentation << m_indentation << m_endl;
3249 }
3250 else {
3251 php << formatSourceCode(sourceCode, m_indentation + m_indentation);
3252 }
3253 php << m_indentation << "} // end of member function " << cleanName(op->name()) << m_endl;
3254 php << m_endl;
3255 }//end for
3256 }
3257
3258 /**
3259 * Write all the attributes of a class.
3260 * @param c the class we are generating code for
3261 * @param php output stream for the PHP file
3262 */
writeAttributes(UMLClassifier * c,QTextStream & php)3263 void PhpWriter::writeAttributes(UMLClassifier *c, QTextStream &php)
3264 {
3265 UMLAttributeList atpub, atprot, atpriv, atdefval;
3266
3267 //sort attributes by scope and see if they have a default value
3268 UMLAttributeList atl = c->getAttributeList();
3269
3270 foreach (UMLAttribute* at, atl) {
3271 if (!at->getInitialValue().isEmpty())
3272 atdefval.append(at);
3273 switch(at->visibility()) {
3274 case Uml::Visibility::Public:
3275 atpub.append(at);
3276 break;
3277 case Uml::Visibility::Protected:
3278 atprot.append(at);
3279 break;
3280 case Uml::Visibility::Private:
3281 atpriv.append(at);
3282 break;
3283 default:
3284 break;
3285 }
3286 }
3287
3288 if (forceSections() || atl.count())
3289 php << m_endl << m_indentation << " /*** Attributes: ***/" << m_endl << m_endl;
3290
3291 if (forceSections() || atpub.count()) {
3292 writeAttributes(atpub, php);
3293 }
3294
3295 if (forceSections() || atprot.count()) {
3296 writeAttributes(atprot, php);
3297 }
3298
3299 if (forceSections() || atpriv.count()) {
3300 writeAttributes(atpriv, php);
3301 }
3302 }
3303
3304 /**
3305 * Write a list of class attributes.
3306 * @param atList the list of attributes
3307 * @param php output stream for the PHP file
3308 */
writeAttributes(UMLAttributeList & atList,QTextStream & php)3309 void PhpWriter::writeAttributes(UMLAttributeList &atList, QTextStream &php)
3310 {
3311 foreach (UMLAttribute *at, atList) {
3312 if (forceDoc() || !at->doc().isEmpty()) {
3313 php << m_indentation << "/**" << m_endl << formatDoc(at->doc(), m_indentation + QLatin1String(" * "));
3314 switch(at->visibility()) {
3315 case Uml::Visibility::Public:
3316 php << m_indentation << " * @access public" << m_endl;
3317 break;
3318 case Uml::Visibility::Protected:
3319 php << m_indentation << " * @access protected" << m_endl;
3320 break;
3321 case Uml::Visibility::Private:
3322 php << m_indentation << " * @access private" << m_endl;
3323 break;
3324 default:
3325 break;
3326 }
3327
3328 php << m_indentation << " */" << m_endl;
3329 }
3330 php << m_indentation << "var " << "$" << cleanName(at->name()) << ";" << m_endl;
3331
3332 } // end for
3333 return;
3334 }
3335
3336 /**
3337 * Returns "PHP".
3338 * @return the programming language identifier
3339 */
language() const3340 Uml::ProgrammingLanguage::Enum PhpWriter::language() const
3341 {
3342 return Uml::ProgrammingLanguage::PHP;
3343 }
3344
3345 /**
3346 * Get list of reserved keywords.
3347 * @return the list of reserved keywords
3348 */
reservedKeywords() const3349 QStringList PhpWriter::reservedKeywords() const
3350 {
3351 static QStringList keywords;
3352
3353 if (keywords.isEmpty()) {
3354 for (int i = 0; reserved_words[i]; ++i)
3355 keywords.append(QLatin1String(reserved_words[i]));
3356 }
3357
3358 return keywords;
3359 }
3360
3361
3362