<glimmer-definition>
   <settings>
      <language>PHP</language>
      <compiler>gnome-moz-remote --newwin %1/%2</compiler>
      <debugger>gnome-moz-remote --newwin %1/%2</debugger>
      <execution>gnome-moz-remote --newwin %1/%2</execution>
      <auto-indent>1</auto-indent>
      <use-spaces>0</use-spaces>
      <tab-stop>5</tab-stop>
   </settings>

   <mime-types>
      <extension>phtml</extension>
      <extension>php</extension>
      <extension>phps</extension>
      <extension>php3</extension>
      <extension>php4</extension>
      <extension>class</extension>
      <extension>inc</extension>
   </mime-types>

   <syntax-items>
      <syntax-item>
         <name>string</name>
         <start-regex>&quot;</start-regex>
         <end-regex>\(&quot;\|\n\)</end-regex>
         <style>string</style>
      </syntax-item>
      <syntax-item>
         <name>c-comment</name>
         <start-regex>/\*</start-regex>
         <end-regex>\*/</end-regex>
         <style>comment</style>
      </syntax-item>
      <syntax-item>
         <name>cpp-comment</name>
         <start-regex>//</start-regex>
         <end-regex>\(\n\|\?>\)</end-regex>
         <style>comment</style>
      </syntax-item>
   </syntax-items>

   <pattern-items>
      <pattern-item>
         <name>htmlcomment</name>
         <regex>\(&lt;!--\|\?\?--&gt;\)</regex>
         <style>comment</style>
      </pattern-item>
      <pattern-item>
         <name>close-tag</name>
         <regex>&gt;</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>vars</name>
         <regex>\$\$?[a-zA-Z_][a-zA-Z0-9_]*</regex>
         <style>variable</style>
      </pattern-item>
      <pattern-item>
         <name>php-tag</name>
         <regex>&lt;\(\?php\|\?\)</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>q-mark</name>
         <regex>\?</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>php-keywords</name>
         <regex>\b\(if\|endif\|else\|elseif\|while\|endwhile\|do\|for\|endfor\|foreach\|break\|continue\|switch\\endswitch\|function\|new\|return\|exit\|require include require_once include_once\)\b</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>types</name>
         <regex>\b\(mixed\|int\|double\|string\|array\|object\|class\|extends\|this\|var\)\b</regex>
         <style>data_type</style>
      </pattern-item>
      <pattern-item>
         <name>apache_funcs</name>
		 <regex>\b\(apache_lookup_uri\|apache_note\|getallheaders\|virtual\|ascii2ebcdic\|ebcdic2ascii\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>array_funcs</name>
		 <regex>\b\(array\|array_count_values\|array_diff\|array_filter\|array_flip\|array_intersect\|array_keys\|array_map\|array_merge\|array_merge_recursive\|array_multisort\|array_pad\|array_pop\|array_push\|array_rand\|array_reverse\|array_reduce\|array_shift\|array_slice\|array_splice\|array_sum\|array_unique\|array_unshift\|array_values\|array_walk\|arsort\|asort\|compact\|count\|current\|each\|end\|extract\|in_array\|array_search\|key\|krsort\|ksort\|list\|natsort\|natcasesort\|next\|pos\|prev\|range\|reset\|rsort\|shuffle\|sizeof\|sort\|uasort\|uksort\|usort\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>aspell_funcs</name>
		 <regex>\b\(aspell_new\|aspell_check\|aspell_check_raw\|aspell_suggest\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>bcmath_funcs</name>
		 <regex>\b\(bcadd\|bccomp\|bcdiv\|bcmod\|bcmul\|bcpow\|bcscale\|bcsqrt\|bcsub\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>bzip_funcs</name>
		 <regex>\b\(bzclose\|bzcompress\|bzdecompress\|bzerrno\|bzerror\|bzerrstr\|bzflush\|bzopen\|bzread\|bzwrite\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>calendar_funcs</name>
		 <regex>\b\(jdtogregorian\|gregoriantojd\|jdtojulian\|juliantojd\|jdtojewish\|jewishtojd\|jdtofrench\|frenchtojd\|jdmonthname\|jddayofweek\|easter_date\|easter_days\|unixtojd\|jdtounix\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>com_funcs</name>
		 <regex>\b\(com_load\|com_invoke\|com_propget\|com_get\|com_propput\|com_propset\|com_set\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>class_funcs</name>
		 <regex>\b\(call_user_method_array\|call_user_method\|class_exists\|get_class\|get_class_methods\|get_class_vars\|get_declared_classes\|get_object_vars\|get_parent_class\|is_subclass_of\|method_exists\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>clibpdf_funcs</name>
		 <regex>\b\(cpdf_global_set_document_limits\|cpdf_set_creator\|cpdf_set_title\|cpdf_set_subject\|cpdf_set_keywords\|cpdf_open\|cpdf_close\|cpdf_page_init\|cpdf_finalize_page\|cpdf_finalize\|cpdf_output_buffer\|cpdf_save_to_file\|cpdf_set_current_page\|cpdf_begin_text\|cpdf_end_text\|cpdf_show\|cpdf_show_xy\|cpdf_text\|cpdf_set_font\|cpdf_set_leading\|cpdf_set_text_rendering\|cpdf_set_horiz_scaling\|cpdf_set_text_rise\|cpdf_set_text_matrix\|cpdf_set_text_pos\|cpdf_set_char_spacing\|cpdf_set_word_spacing\|cpdf_continue_text\|cpdf_stringwidth\|cpdf_save\|cpdf_restore\|cpdf_translate\|cpdf_scale\|cpdf_rotate\|cpdf_setflat\|cpdf_setlinejoin\|cpdf_setlinecap\|cpdf_setmiterlimit\|cpdf_setlinewidth\|cpdf_setdash\|cpdf_newpath\|cpdf_moveto\|cpdf_rmoveto\|cpdf_curveto\|cpdf_lineto\|cpdf_rlineto\|cpdf_circle\|cpdf_arc\|cpdf_rect\|cpdf_closepath\|cpdf_stroke\|cpdf_closepath_stroke\|cpdf_fill\|cpdf_fill_stroke\|cpdf_closepath_fill_stroke\|cpdf_clip\|cpdf_setgray_fill\|cpdf_setgray_stroke\|cpdf_setgray\|cpdf_setrgbcolor_fill\|cpdf_setrgbcolor_stroke\|cpdf_setrgbcolor\|cpdf_add_outline\|cpdf_set_page_animation\|cpdf_import_jpeg\|cpdf_place_inline_image\|cpdf_add_annotation\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>curl_funcs</name>
		 <regex>\b\(curl_init\|curl_setopt\|curl_exec\|curl_close\|curl_version\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>cybercash_funcs</name>
		 <regex>\b\(cybercash_encr\|cybercash_decr\|cybercash_base64_encode\|cybercash_base64_decode\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ctype_funcs</name>
		 <regex>\b\(ctype_alnum\|ctype_alpha\|ctype_cntrl\|ctype_digit\|ctype_lower\|ctype_graph\|ctype_print\|ctype_punct\|ctype_space\|ctype_upper\|ctype_xdigit\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>dba_funcs</name>
		 <regex>\b\(dba_close\|dba_delete\|dba_exists\|dba_fetch\|dba_firstkey\|dba_insert\|dba_nextkey\|dba_popen\|dba_open\|dba_optimize\|dba_replace\|dba_sync\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>date_funcs</name>
		 <regex>\b\(checkdate\|date\|getdate\|gettimeofday\|gmdate\|gmmktime\|gmstrftime\|localtime\|microtime\|mktime\|strftime\|time\|strtotime\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>dbase_funcs</name>
		 <regex>\b\(dbase_create\|dbase_open\|dbase_close\|dbase_pack\|dbase_add_record\|dbase_replace_record\|dbase_delete_record\|dbase_get_record\|dbase_get_record_with_names\|dbase_numfields\|dbase_numrecords\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>dbm_funcs</name>
		 <regex>\b\(dbmopen\|dbmclose\|dbmexists\|dbmfetch\|dbminsert\|dbmreplace\|dbmdelete\|dbmfirstkey\|dbmnextkey\|dblist\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>dbx_funcs</name>
		 <regex>\b\(dbx_close\|dbx_connect\|dbx_error\|dbx_query\|dbx_sort\|dbx_cmp_asc\|dbx_cmp_desc\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>directory_funcs</name>
		 <regex>\b\(chroot\|chdir\|closedir\|getcwd\|opendir\|readdir\|rewinddir\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>xml_funcs</name>
		 <regex>\b\(xmldoc\|xmldocfile\|xmltree\|domxml_root\|domxml_add_root\|domxml_dumpmem\|domxml_attributes\|domxml_get_attribute\|domxml_set_attribute\|domxml_children\|domxml_new_child\|domxml_new_xmldoc\|xpath_new_context\|xpath_eval\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>error_funcs</name>
		 <regex>\b\(error_log\|error_reporting\|restore_error_handler\|set_error_handler\|trigger_error\|user_error\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>filepro_funcs</name>
		 <regex>\b\(filepro\|filepro_fieldname\|filepro_fieldtype\|filepro_fieldwidth\|filepro_retrieve\|filepro_fieldcount\|filepro_rowcount\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>filesystem_funcs</name>
		 <regex>\b\(basename\|chgrp\|chmod\|chown\|clearstatcache\|copy\|delete\|dirname\|diskfreespace\|fclose\|feof\|fflush\|fgetc\|fgetcsv\|fgets\|fgetss\|file\|file_exists\|fileatime\|filectime\|filegroup\|fileinode\|filemtime\|fileowner\|fileperms\|filesize\|filetype\|flock\|fopen\|fpassthru\|fputs\|fread\|fscanf\|fseek\|fstat\|ftell\|ftruncate\|fwrite\|set_file_buffer\|is_dir\|is_executable\|is_file\|is_link\|is_readable\|is_writable\|is_writeable\|is_uploaded_file\|link\|linkinfo\|mkdir\|move_uploaded_file\|pathinfo\|pclose\|popen\|readfile\|readlink\|rename\|rewind\|rmdir\|stat\|lstat\|realpath\|symlink\|tempnam\|tmpfile\|touch\|umask\|unlink\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>fdf_funcs</name>
		 <regex>\b\(fdf_open\|fdf_close\|fdf_create\|fdf_save\|fdf_get_value\|fdf_set_value\|fdf_next_field_name\|fdf_set_ap\|fdf_set_status\|fdf_get_status\|fdf_set_file\|fdf_get_file\|fdf_set_flags\|fdf_set_opt\|fdf_set_submit_form_action\|fdf_set_javascript_action\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ftp_funcs</name>
		 <regex>\b\(ftp_connect\|ftp_login\|ftp_pwd\|ftp_cdup\|ftp_chdir\|ftp_mkdir\|ftp_rmdir\|ftp_nlist\|ftp_rawlist\|ftp_systype\|ftp_pasv\|ftp_get\|ftp_fget\|ftp_put\|ftp_fput\|ftp_size\|ftp_mdtm\|ftp_rename\|ftp_delete\|ftp_site\|ftp_quit\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>function_funcs</name>
		 <regex>\b\(call_user_func_array\|call_user_func\|create_function\|func_get_arg\|func_get_args\|func_num_args\|function_exists\|get_defined_functions\|register_shutdown_function\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>bind_funcs</name>
		 <regex>\b\(bindtextdomain\|dcgettext\|dgettext\|gettext\|textdomain\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>gmp_funcs</name>
		 <regex>\b\(gmp_init\|gmp_intval\|gmp_strval\|gmp_add\|gmp_sub\|gmp_mul\|gmp_div_q\|gmp_div_r\|gmp_div_qr\|gmp_div\|gmp_mod\|gmp_divexact\|gmp_cmp\|gmp_neg\|gmp_abs\|gmp_sign\|gmp_fact\|gmp_sqrt\|gmp_sqrtrm\|gmp_perfect_square\|gmp_pow\|gmp_powm\|gmp_prob_prime\|gmp_gcd\|gmp_gcdext\|gmp_invert\|gmp_legendre\|gmp_jacobi\|gmp_random\|gmp_and\|gmp_or\|gmp_xor\|gmp_setbit\|gmp_clrbit\|gmp_scan0\|gmp_scan1\|gmp_popcount\|gmp_hamdist\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>http_funcs</name>
		 <regex>\b\(header\|headers_sent\|setcookie\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>hyperwave_funcs</name>
		 <regex>\b\(hw_array2objrec\|hw_children\|hw_childrenobj\|hw_close\|hw_connect\|hw_cp\|hw_deleteobject\|hw_docbyanchor\|hw_docbyanchorobj\|hw_document_attributes\|hw_document_bodytag\|hw_document_content\|hw_document_setcontent\|hw_document_size\|hw_errormsg\|hw_edittext\|hw_error\|hw_free_document\|hw_getparents\|hw_getparentsobj\|hw_getchildcoll\|hw_getchildcollobj\|hw_getremote\|hw_getremotechildren\|hw_getsrcbydestobj\|hw_getobject\|hw_getandlock\|hw_gettext\|hw_getobjectbyquery\|hw_getobjectbyqueryobj\|hw_getobjectbyquerycoll\|hw_getobjectbyquerycollobj\|hw_getchilddoccoll\|hw_getchilddoccollobj\|hw_getanchors\|hw_getanchorsobj\|hw_mv\|hw_identify\|hw_incollections\|hw_info\|hw_inscoll\|hw_insdoc\|hw_insertdocument\|hw_insertobject\|hw_mapid\|hw_modifyobject\|hw_new_document\|hw_objrec2array\|hw_output_document\|hw_pconnect\|hw_pipedocument\|hw_root\|hw_unlock\|hw_who\|hw_getusername\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>icap_funcs</name>
		 <regex>\b\(icap_open\|icap_close\|icap_fetch_event\|icap_list_events\|icap_store_event\|icap_delete_event\|icap_snooze\|icap_list_alarms\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>image_funcs</name>
		 <regex>\b\(getimagesize\|imagealphablending\|imagearc\|imagefilledarc\|imageellipse\|imagefilledellipse\|imagechar\|imagecharup\|imagecolorallocate\|imagecolordeallocate\|imagecolorat\|imagecolorclosest\|imagecolorclosestalpha\|imagecolorexact\|imagecolorexactalpha\|imagecolorresolve\|imagecolorresolvealpha\|imagegammacorrect\|imagecolorset\|imagecolorsforindex\|imagecolorstotal\|imagecolortransparent\|imagecopy\|imagecopymerge\|imagecopymergegray\|imagecopyresized\|imagecopyresampled\|imagecreate\|imagecreatetruecolor\|imagetruecolortopalette\|imagecreatefromgif\|imagecreatefromjpeg\|imagecreatefrompng\|imagecreatefromwbmp\|imagecreatefromstring\|imagedashedline\|imagedestroy\|imagefill\|imagefilledpolygon\|imagefilledrectangle\|imagefilltoborder\|imagefontheight\|imagefontwidth\|imagegif\|imagepng\|imagejpeg\|imagewbmp\|imageinterlace\|imageline\|imageloadfont\|imagepolygon\|imagepsbbox\|imagepsencodefont\|imagepsfreefont\|imagepsloadfont\|imagepsextendfont\|imagepsslantfont\|imagepstext\|imagerectangle\|imagesetpixel\|imagesetbrush\|imagesettile\|imagesetthickness\|imagestring\|imagestringup\|imagesx\|imagesy\|imagettfbbox\|imagettftext\|imagetypes\|read_exif_data\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>imap_funcs</name>
		 <regex>\b\(imap_8bit\|imap_alerts\|imap_append\|imap_base64\|imap_binary\|imap_body\|imap_check\|imap_clearflag_full\|imap_close\|imap_createmailbox\|imap_delete\|imap_deletemailbox\|imap_errors\|imap_expunge\|imap_fetch_overview\|imap_fetchbody\|imap_fetchheader\|imap_fetchstructure\|imap_get_quota\|imap_getmailboxes\|imap_getsubscribed\|imap_header\|imap_headerinfo\|imap_headers\|imap_last_error\|imap_listmailbox\|imap_listsubscribed\|imap_mail\|imap_mail_compose\|imap_mail_copy\|imap_mail_move\|imap_mailboxmsginfo\|imap_mime_header_decode\|imap_msgno\|imap_num_msg\|imap_num_recent\|imap_open\|imap_ping\|imap_qprint\|imap_renamemailbox\|imap_reopen\|imap_rfc822_parse_adrlist\|imap_rfc822_parse_headers\|imap_rfc822_write_address\|imap_scanmailbox\|imap_search\|imap_set_quota\|imap_setflag_full\|imap_sort\|imap_status\|imap_subscribe\|imap_uid\|imap_undelete\|imap_unsubscribe\|imap_utf7_decode\|imap_utf7_encode\|imap_utf8\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>informix_funcs</name>
		 <regex>\b\(ifx_connect\|ifx_pconnect\|ifx_close\|ifx_query\|ifx_prepare\|ifx_do\|ifx_error\|ifx_errormsg\|ifx_affected_rows\|ifx_getsqlca\|ifx_fetch_row\|ifx_htmltbl_result\|ifx_fieldtypes\|ifx_fieldproperties\|ifx_num_fields\|ifx_num_rows\|ifx_free_result\|ifx_create_char\|ifx_free_char\|ifx_update_char\|ifx_get_char\|ifx_create_blob\|ifx_copy_blob\|ifx_free_blob\|ifx_get_blob\|ifx_update_blob\|ifx_blobinfile_mode\|ifx_textasvarchar\|ifx_byteasvarchar\|ifx_nullformat\|ifxus_create_slob\|ifxus_free_slob\|ifxus_close_slob\|ifxus_open_slob\|ifxus_tell_slob\|ifxus_seek_slob\|ifxus_read_slob\|ifxus_write_slob\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ibase_funcs</name>
		 <regex>\b\(ibase_connect\|ibase_pconnect\|ibase_close\|ibase_query\|ibase_fetch_row\|ibase_fetch_object\|ibase_field_info\|ibase_free_result\|ibase_prepare\|ibase_execute\|ibase_trans\|ibase_commit\|ibase_rollback\|ibase_free_query\|ibase_timefmt\|ibase_num_fields\|ibase_errmsg\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ingres_funcs</name>
		 <regex>\b\(ingres_connect\|ingres_pconnect\|ingres_close\|ingres_query\|ingres_num_rows\|ingres_num_fields\|ingres_field_name\|ingres_field_type\|ingres_field_nullable\|ingres_field_length\|ingres_field_precision\|ingres_field_scale\|ingres_fetch_array\|ingres_fetch_row\|ingres_fetch_object\|ingres_rollback\|ingres_commit\|ingres_autocommit\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ldap_funcs</name>
		 <regex>\b\(ldap_add\|ldap_bind\|ldap_close\|ldap_compare\|ldap_connect\|ldap_count_entries\|ldap_delete\|ldap_dn2ufn\|ldap_err2str\|ldap_errno\|ldap_error\|ldap_explode_dn\|ldap_first_attribute\|ldap_first_entry\|ldap_free_result\|ldap_get_attributes\|ldap_get_dn\|ldap_get_entries\|ldap_get_option\|ldap_get_values\|ldap_get_values_len\|ldap_list\|ldap_modify\|ldap_mod_add\|ldap_mod_del\|ldap_mod_replace\|ldap_next_attribute\|ldap_next_entry\|ldap_read\|ldap_search\|ldap_set_option\|ldap_unbind\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mail_funcs</name>
		 <regex>\b\(mail\|ezmlm_hash\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>math_funcs</name>
		 <regex>\b\(abs\|acos\|asin\|atan\|atan2\|base_convert\|bindec\|ceil\|cos\|decbin\|dechex\|decoct\|deg2rad\|exp\|floor\|getrandmax\|hexdec\|lcg_value\|log\|log10\|max\|min\|mt_rand\|mt_srand\|mt_getrandmax\|number_format\|octdec\|pi\|pow\|rad2deg\|rand\|round\|sin\|sqrt\|srand\|tan\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mcal_funcs</name>
		 <regex>\b\(mcal_open\|mcal_popen\|mcal_reopen\|mcal_close\|mcal_create_calendar\|mcal_rename_calendar\|mcal_delete_calendar\|mcal_fetch_event\|mcal_list_events\|mcal_append_event\|mcal_store_event\|mcal_delete_event\|mcal_snooze\|mcal_list_alarms\|mcal_event_init\|mcal_event_set_category\|mcal_event_set_title\|mcal_event_set_description\|mcal_event_set_start\|mcal_event_set_end\|mcal_event_set_alarm\|mcal_event_set_class\|mcal_is_leap_year\|mcal_days_in_month\|mcal_date_valid\|mcal_time_valid\|mcal_day_of_week\|mcal_day_of_year\|mcal_date_compare\|mcal_next_recurrence\|mcal_event_set_recur_none\|mcal_event_set_recur_daily\|mcal_event_set_recur_weekly\|mcal_event_set_recur_monthly_mday\|mcal_event_set_recur_monthly_wday\|mcal_event_set_recur_yearly\|mcal_fetch_current_stream_event\|mcal_event_add_attribute\|mcal_expunge\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mcrypt_funcs</name>
		 <regex>\b\(mcrypt_get_cipher_name\|mcrypt_get_block_size\|mcrypt_get_key_size\|mcrypt_create_iv\|mcrypt_cbc\|mcrypt_cfb\|mcrypt_ecb\|mcrypt_ofb\|mcrypt_list_algorithms\|mcrypt_list_modes\|mcrypt_get_iv_size\|mcrypt_encrypt\|mcrypt_decrypt\|mcrypt_module_open\|mcrypt_generic_init\|mcrypt_generic\|mdecrypt_generic\|mcrypt_generic_end\|mcrypt_enc_self_test\|mcrypt_enc_is_block_algorithm_mode\|mcrypt_enc_is_block_algorithm\|mcrypt_enc_is_block_mode\|mcrypt_enc_get_block_size\|mcrypt_enc_get_key_size\|mcrypt_enc_get_supported_key_sizes\|mcrypt_enc_get_iv_size\|mcrypt_enc_get_algorithms_name\|mcrypt_enc_get_modes_name\|mcrypt_module_self_test\|mcrypt_module_is_block_algorithm_mode\|mcrypt_module_is_block_algorithm\|mcrypt_module_is_block_mode\|mcrypt_module_get_algo_block_size\|mcrypt_module_get_algo_key_size\|mcrypt_module_get_algo_supported_key_sizes\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mhash_funcs</name>
		 <regex>\b\(mhash_get_hash_name\|mhash_get_block_size\|mhash_count\|mhash\|mhash_keygen_s2k\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mssql_funcs</name>
		 <regex>\b\(mssql_close\|mssql_connect\|mssql_data_seek\|mssql_fetch_array\|mssql_fetch_field\|mssql_fetch_object\|mssql_fetch_row\|mssql_field_length\|mssql_field_name\|mssql_field_seek\|mssql_field_type\|mssql_free_result\|mssql_get_last_message\|mssql_min_error_severity\|mssql_min_message_severity\|mssql_num_fields\|mssql_num_rows\|mssql_pconnect\|mssql_query\|mssql_result\|mssql_select_db\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>misc_funcs</name>
		 <regex>\b\(connection_aborted\|connection_status\|connection_timeout\|constant\|define\|defined\|die\|eval\|exit\|get_browser\|highlight_file\|highlight_string\|ignore_user_abort\|iptcparse\|leak\|pack\|show_source\|sleep\|uniqid\|unpack\|usleep\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mnogosearch_funcs</name>
		 <regex>\b\(udm_add_search_limit\|udm_alloc_agent\|udm_api_version\|udm_clear_search_limits\|udm_errno\|udm_error\|udm_find\|udm_free_agent\|udm_free_ispell_data\|udm_free_res\|udm_get_doc_count\|udm_get_res_field\|udm_get_res_param\|udm_load_ispell_data\|udm_set_agent_param\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>msql_funcs</name>
		 <regex>\b\(msql\|msql_affected_rows\|msql_close\|msql_connect\|msql_create_db\|msql_createdb\|msql_data_seek\|msql_dbname\|msql_drop_db\|msql_dropdb\|msql_error\|msql_fetch_array\|msql_fetch_field\|msql_fetch_object\|msql_fetch_row\|msql_fieldname\|msql_field_seek\|msql_fieldtable\|msql_fieldtype\|msql_fieldflags\|msql_fieldlen\|msql_free_result\|msql_freeresult\|msql_list_fields\|msql_listfields\|msql_list_dbs\|msql_listdbs\|msql_list_tables\|msql_listtables\|msql_num_fields\|msql_num_rows\|msql_numfields\|msql_numrows\|msql_pconnect\|msql_query\|msql_regcase\|msql_result\|msql_select_db\|msql_selectdb\|msql_tablename\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>mysql_funcs</name>
		 <regex>\b\(mysql_affected_rows\|mysql_change_user\|mysql_close\|mysql_connect\|mysql_create_db\|mysql_data_seek\|mysql_db_name\|mysql_db_query\|mysql_drop_db\|mysql_errno\|mysql_error\|mysql_fetch_array\|mysql_fetch_assoc\|mysql_fetch_field\|mysql_fetch_lengths\|mysql_fetch_object\|mysql_fetch_row\|mysql_field_flags\|mysql_field_name\|mysql_field_len\|mysql_field_seek\|mysql_field_table\|mysql_field_type\|mysql_free_result\|mysql_insert_id\|mysql_list_dbs\|mysql_list_fields\|mysql_list_tables\|mysql_num_fields\|mysql_num_rows\|mysql_pconnect\|mysql_query\|mysql_result\|mysql_select_db\|mysql_tablename\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>network_funcs</name>
		 <regex>\b\(checkdnsrr\|closelog\|debugger_off\|debugger_on\|define_syslog_variables\|fsockopen\|gethostbyaddr\|gethostbyname\|gethostbynamel\|getmxrr\|getprotobyname\|getprotobynumber\|getservbyname\|getservbyport\|ip2long\|long2ip\|openlog\|pfsockopen\|socket_get_status\|socket_set_blocking\|socket_set_timeout\|syslog\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>odbc_funcs</name>
		 <regex>\b\(odbc_autocommit\|odbc_binmode\|odbc_close\|odbc_close_all\|odbc_commit\|odbc_connect\|odbc_cursor\|odbc_do\|odbc_error\|odbc_errormsg\|odbc_exec\|odbc_execute\|odbc_fetch_into\|odbc_fetch_row\|odbc_field_name\|odbc_field_num\|odbc_field_type\|odbc_field_len\|odbc_field_precision\|odbc_field_scale\|odbc_free_result\|odbc_longreadlen\|odbc_num_fields\|odbc_pconnect\|odbc_prepare\|odbc_num_rows\|odbc_result\|odbc_result_all\|odbc_rollback\|odbc_setoption\|odbc_tables\|odbc_tableprivileges\|odbc_columns\|odbc_columnprivileges\|odbc_gettypeinfo\|odbc_primarykeys\|odbc_foreignkeys\|odbc_procedures\|odbc_procedurecolumns\|odbc_specialcolumns\|odbc_statistics\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>oracle_8_funcs</name>
		 <regex>\b\(ocidefinebyname\|ocibindbyname\|ocilogon\|ociplogon\|ocinlogon\|ocilogoff\|ociexecute\|ocicommit\|ocirollback\|ocinewdescriptor\|ocirowcount\|ocinumcols\|ociresult\|ocifetch\|ocifetchinto\|ocifetchstatement\|ocicolumnisnull\|ocicolumnname\|ocicolumnsize\|ocicolumntype\|ociserverversion\|ocistatementtype\|ocinewcursor\|ocifreestatement\|ocifreecursor\|ocifreedesc\|ociparse\|ocierror\|ociinternaldebug\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>openssl_funcs</name>
		 <regex>\b\(openssl_error_string\|openssl_free_key\|openssl_get_privatekey\|openssl_get_publickey\|openssl_open\|openssl_seal\|openssl_sign\|openssl_verify\|openssl_pkcs7_decrypt\|openssl_pkcs7_encrypt\|openssl_pkcs7_sign\|openssl_pkcs7_verify\|openssl_x509_checkpurpose\|openssl_x509_free\|openssl_x509_parse\|openssl_x509_read\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>oracle_funcs</name>
		 <regex>\b\(ora_bind\|ora_close\|ora_columnname\|ora_columnsize\|ora_columntype\|ora_commit\|ora_commitoff\|ora_commiton\|ora_do\|ora_error\|ora_errorcode\|ora_exec\|ora_fetch\|ora_fetch_into\|ora_getcolumn\|ora_logoff\|ora_logon\|ora_plogon\|ora_numcols\|ora_numrows\|ora_open\|ora_parse\|ora_rollback\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>ovrimos_sql_funcs</name>
		 <regex>\b\(ovrimos_connect\|ovrimos_close\|ovrimos_close_all\|ovrimos_longreadlen\|ovrimos_prepare\|ovrimos_execute\|ovrimos_cursor\|ovrimos_exec\|ovrimos_fetch_into\|ovrimos_fetch_row\|ovrimos_result\|ovrimos_result_all\|ovrimos_num_rows\|ovrimos_num_fields\|ovrimos_field_name\|ovrimos_field_type\|ovrimos_field_len\|ovrimos_field_num\|ovrimos_free_result\|ovrimos_commit\|ovrimos_rollback\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>output_control_funcs</name>
		 <regex>\b\(flush\|ob_start\|ob_get_contents\|ob_get_length\|ob_gzhandler\|ob_end_flush\|ob_end_clean\|ob_implicit_flush\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>pdf_funcs</name>
		 <regex>\b\(pdf_add_annotation\|pdf_add_bookmark\|pdf_add_launchlink\|pdf_add_locallink\|pdf_add_note\|pdf_add_outline\|pdf_add_pdflink\|pdf_add_thumbnail\|pdf_add_weblink\|pdf_arc\|pdf_arcn\|pdf_attach_file\|pdf_begin_page\|pdf_begin_pattern\|pdf_begin_template\|pdf_circle\|pdf_clip\|pdf_close\|pdf_closepath\|pdf_closepath_fill_stroke\|pdf_closepath_stroke\|pdf_close_image\|pdf_close_pdi\|pdf_close_pdi_page\|pdf_concat\|pdf_continue_text\|pdf_curveto\|pdf_delete\|pdf_end_page\|pdf_endpath\|pdf_end_pattern\|pdf_end_template\|pdf_fill\|pdf_fill_stroke\|pdf_findfont\|pdf_get_buffer\|pdf_get_font\|pdf_get_fontname\|pdf_get_fontsize\|pdf_get_image_height\|pdf_get_image_width\|pdf_get_parameter\|pdf_get_pdi_parameter\|pdf_get_pdi_value\|pdf_get_value\|pdf_initgraphics\|pdf_lineto\|pdf_makespotcolor\|pdf_moveto\|pdf_new\|pdf_open\|pdf_open_ccitt\|pdf_open_file\|pdf_open_gif\|pdf_open_image\|pdf_open_image_file\|pdf_open_jpeg\|pdf_open_pdi\|pdf_open_pdi_page\|pdf_open_png\|pdf_open_tiff\|pdf_place_image\|pdf_place_pdi_page\|pdf_rect\|pdf_restore\|pdf_rotate\|pdf_save\|pdf_scale\|pdf_setcolor\|pdf_setdash\|pdf_setflat\|pdf_setfont\|pdf_setgray\|pdf_setgray_fill\|pdf_setgray_stroke\|pdf_setlinecap\|pdf_setlinejoin\|pdf_setlinewidth\|pdf_setmatrix\|pdf_setmiterlimit\|pdf_setpolydash\|pdf_setrgbcolor\|pdf_setrgbcolor_fill\|pdf_setrgbcolor_stroke\|pdf_set_border_color\|pdf_set_border_dash\|pdf_set_border_style\|pdf_set_char_spacing\|pdf_set_duration\|pdf_set_font\|pdf_set_horiz_scaling\|pdf_set_info\|pdf_set_leading\|pdf_set_parameter\|pdf_set_text_pos\|pdf_set_text_rendering\|pdf_set_text_rise\|pdf_set_transition\|pdf_set_value\|pdf_set_word_spacing\|pdf_show\|pdf_show_boxed\|pdf_show_xy\|pdf_skew\|pdf_stringwidth\|pdf_stroke\|pdf_translate\|pdf_open_memory_image\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>verisign_payflow_pro_funcs</name>
		 <regex>\b\(pfpro_init\|pfpro_cleanup\|pfpro_process\|pfpro_process_raw\|pfpro_version\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>php_options_funcs</name>
		 <regex>\b\(assert\|assert_options\|extension_loaded\|dl\|getenv\|get_cfg_var\|get_current_user\|get_magic_quotes_gpc\|get_magic_quotes_runtime\|getlastmod\|getmyinode\|getmypid\|getmyuid\|getrusage\|ini_alter\|ini_get\|ini_restore\|ini_set\|phpcredits\|phpinfo\|phpversion\|php_logo_guid\|php_sapi_name\|php_uname\|putenv\|set_magic_quotes_runtime\|set_time_limit\|zend_logo_guid\|get_loaded_extensions\|get_extension_funcs\|get_required_files\|get_included_files\|zend_version\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>posix_funcs</name>
		 <regex>\b\(posix_kill\|posix_getpid\|posix_getppid\|posix_getuid\|posix_geteuid\|posix_getgid\|posix_getegid\|posix_setuid\|posix_setgid\|posix_getgroups\|posix_getlogin\|posix_getpgrp\|posix_setsid\|posix_setpgid\|posix_getpgid\|posix_getsid\|posix_uname\|posix_times\|posix_ctermid\|posix_ttyname\|posix_isatty\|posix_getcwd\|posix_mkfifo\|posix_getgrnam\|posix_getgrgid\|posix_getpwnam\|posix_getpwuid\|posix_getrlimit\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>postgresql_funcs</name>
		 <regex>\b\(pg_close\|pg_cmdtuples\|pg_connect\|pg_dbname\|pg_end_copy\|pg_errormessage\|pg_exec\|pg_fetch_array\|pg_fetch_object\|pg_fetch_row\|pg_fieldisnull\|pg_fieldname\|pg_fieldnum\|pg_fieldprtlen\|pg_fieldsize\|pg_fieldtype\|pg_freeresult\|pg_getlastoid\|pg_host\|pg_loclose\|pg_locreate\|pg_loexport\|pg_loimport\|pg_loopen\|pg_loread\|pg_loreadall\|pg_lounlink\|pg_lowrite\|pg_numfields\|pg_numrows\|pg_options\|pg_pconnect\|pg_port\|pg_put_line\|pg_result\|pg_set_client_encoding\|pg_client_encoding\|pg_trace\|pg_tty\|pg_untrace\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>pspell_funcs</name>
		 <regex>\b\(pspell_add_to_personal\|pspell_add_to_session\|pspell_check\|pspell_clear_session\|pspell_config_create\|pspell_config_ignore\|pspell_config_mode\|pspell_config_personal\|pspell_config_repl\|pspell_config_runtogether\|pspell_config_save_repl\|pspell_new\|pspell_new_config\|pspell_new_personal\|pspell_save_wordlist\|pspell_store_replacement\|pspell_suggest\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>readline_funcs</name>
		 <regex>\b\(readline\|readline_add_history\|readline_clear_history\|readline_completion_function\|readline_info\|readline_list_history\|readline_read_history\|readline_write_history\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>recode_funcs</name>
		 <regex>\b\(recode_string\|recode\|recode_file\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>perl_regex_funcs</name>
		 <regex>\b\(preg_match\|preg_match_all\|preg_replace\|preg_replace_callback\|preg_split\|preg_quote\|preg_grep\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>posix_extended_regex_funcs</name>
		 <regex>\b\(ereg\|ereg_replace\|eregi\|eregi_replace\|split\|spliti\|sql_regcase\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>satellite_funcs</name>
		 <regex>\b\(satellite_caught_exception\|satellite_exception_id\|satellite_exception_value\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>semaphore_shm_funcs</name>
		 <regex>\b\(sem_get\|sem_acquire\|sem_release\|shm_attach\|shm_detach\|shm_remove\|shm_put_var\|shm_get_var\|shm_remove_var\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>sesam_funcs</name>
		 <regex>\b\(sesam_connect\|sesam_disconnect\|sesam_settransaction\|sesam_commit\|sesam_rollback\|sesam_execimm\|sesam_query\|sesam_num_fields\|sesam_field_name\|sesam_diagnostic\|sesam_fetch_result\|sesam_affected_rows\|sesam_errormsg\|sesam_field_array\|sesam_fetch_row\|sesam_fetch_array\|sesam_seek_row\|sesam_free_result\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>session_funcs</name>
		 <regex>\b\(session_start\|session_destroy\|session_name\|session_module_name\|session_save_path\|session_id\|session_register\|session_unregister\|session_unset\|session_is_registered\|session_get_cookie_params\|session_set_cookie_params\|session_decode\|session_encode\|session_set_save_handler\|session_cache_limiter\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>shmop_funcs</name>
		 <regex>\b\(shmop_open\|shmop_read\|shmop_write\|size\|shmop_delete\|shmop_close\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>shockwave_funcs</name>
		 <regex>\b\(swf_openfile\|swf_closefile\|swf_labelframe\|swf_showframe\|swf_setframe\|swf_getframe\|swf_mulcolor\|swf_addcolor\|swf_placeobject\|swf_modifyobject\|swf_removeobject\|swf_nextid\|swf_startdoaction\|swf_actiongotoframe\|swf_actiongeturl\|swf_actionnextframe\|swf_actionprevframe\|swf_actionplay\|swf_actionstop\|swf_actiontogglequality\|swf_actionwaitforframe\|swf_actionsettarget\|swf_actiongotolabel\|swf_enddoaction\|swf_defineline\|swf_definerect\|swf_definepoly\|swf_startshape\|swf_shapelinesold\|swf_shapefilloff\|swf_shapefillsolid\|swf_shapefillbitmapclip\|swf_shapefillbitmaptile\|swf_shapemoveto\|swf_shapelineto\|swf_shapecurveto\|swf_shapecurveto3\|swf_shapearc\|swf_endshape\|swf_definefont\|swf_setfont\|swf_fontsize\|swf_fontslant\|swf_fonttracking\|swf_getfontinfo\|swf_definetext\|swf_textwidth\|swf_definebitmap\|swf_getbitmapinfo\|swf_startsymbol\|swf_endsymbol\|swf_startbutton\|swf_addbuttonrecord\|swf_oncondition\|swf_endbutton\|swf_viewport\|swf_ortho\|swf_ortho2\|swf_perspective\|swf_polarview\|swf_lookat\|swf_pushmatrix\|swf_popmatrix\|swf_scale\|swf_translate\|swf_rotate\|swf_posround\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>snmp_funcs</name>
		 <regex>\b\(snmpget\|snmpset\|snmpwalk\|snmpwalkoid\|snmp_get_quick_print\|snmp_set_quick_print\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>sockets_funcs</name>
		 <regex>\b\(accept_connect\|bind\|close\|connect\|listen\|read\|socket\|strerror\|write\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>string_funcs</name>
		 <regex>\b\(addcslashes\|addslashes\|bin2hex\|chop\|chr\|chunk_split\|convert_cyr_string\|count_chars\|crc32\|crypt\|echo\|explode\|get_html_translation_table\|get_meta_tags\|hebrev\|hebrevc\|htmlentities\|htmlspecialchars\|implode\|join\|levenshtein\|localeconv\|ltrim\|md5\|metaphone\|nl2br\|ord\|parse_str\|print\|printf\|quoted_printable_decode\|quotemeta\|rtrim\|sscanf\|setlocale\|similar_text\|soundex\|sprintf\|strncasecmp\|strcasecmp\|strchr\|strcmp\|strcoll\|strcspn\|strip_tags\|stripcslashes\|stripslashes\|stristr\|strlen\|strnatcmp\|strnatcasecmp\|strncmp\|str_pad\|strpos\|strrchr\|str_repeat\|strrev\|strrpos\|strspn\|strstr\|strtok\|strtolower\|strtoupper\|str_replace\|strtr\|substr\|substr_count\|substr_replace\|trim\|ucfirst\|ucwords\|wordwrap\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>sybase_funcs</name>
		 <regex>\b\(sybase_affected_rows\|sybase_close\|sybase_connect\|sybase_data_seek\|sybase_fetch_array\|sybase_fetch_field\|sybase_fetch_object\|sybase_fetch_row\|sybase_field_seek\|sybase_free_result\|sybase_get_last_message\|sybase_min_client_severity\|sybase_min_error_severity\|sybase_min_message_severity\|sybase_min_server_severity\|sybase_num_fields\|sybase_num_rows\|sybase_pconnect\|sybase_query\|sybase_result\|sybase_select_db\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>url_funcs</name>
		 <regex>\b\(base64_decode\|base64_encode\|parse_url\|rawurldecode\|rawurlencode\|urldecode\|urlencode\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>variable_funcs</name>
		 <regex>\b\(doubleval\|empty\|gettype\|get_defined_vars\|get_resource_type\|intval\|is_array\|is_bool\|is_double\|is_float\|is_int\|is_integer\|is_long\|is_null\|is_numeric\|is_object\|is_real\|is_resource\|is_scalar\|is_string\|isset\|print_r\|serialize\|settype\|strval\|unserialize\|unset\|var_dump\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>wddx_funcs</name>
		 <regex>\b\(wddx_serialize_value\|wddx_serialize_vars\|wddx_packet_start\|wddx_packet_end\|wddx_add_vars\|wddx_deserialize\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>xml_funcs</name>
		 <regex>\b\(xml_parser_create\|xml_set_object\|xml_set_element_handler\|xml_set_character_data_handler\|xml_set_processing_instruction_handler\|xml_set_default_handler\|xml_set_unparsed_entity_decl_handler\|xml_set_notation_decl_handler\|xml_set_external_entity_ref_handler\|xml_parse\|xml_get_error_code\|xml_error_string\|xml_get_current_line_number\|xml_get_current_column_number\|xml_get_current_byte_index\|xml_parse_into_struct\|xml_parser_free\|xml_parser_set_option\|xml_parser_get_option\|utf8_decode\|utf8_encode\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>xslt_funcs</name>
		 <regex>\b\(xslt_closelog\|xslt_create\|xslt_errno\|xslt_error\|xslt_fetch_result\|xslt_free\|xslt_openlog\|xslt_output_begintransform\|xslt_output_endtransform\|xslt_process\|xslt_run\|xslt_set_sax_handler\|xslt_transform\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>yaz_funcs</name>
		 <regex>\b\(yaz_addinfo\|yaz_close\|yaz_connect\|yaz_errno\|yaz_error\|yaz_hits\|yaz_element\|yaz_database\|yaz_range\|yaz_record\|yaz_search\|yaz_present\|yaz_syntax\|yaz_scan\|yaz_scan_result\|yaz_ccl_conf\|yaz_ccl_parse\|yaz_itemorder\|yaz_wait\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>yp_funcs</name>
		 <regex>\b\(yp_get_default_domain\|yp_order\|yp_master\|yp_match\|yp_first\|yp_next\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>zlib_funcs</name>
		 <regex>\b\(gzclose\|gzeof\|gzfile\|gzgetc\|gzgets\|gzgetss\|gzopen\|gzpassthru\|gzputs\|gzread\|gzrewind\|gzseek\|gztell\|gzwrite\|readgzfile\|gzcompress\|gzuncompress\|gzdeflate\|gzinflate\|gzencode\)\b</regex>
         <style>function</style>
      </pattern-item>
      <pattern-item>
         <name>tags1</name>
         <regex>&lt;/?\(address\|html\|ol\|ul\|li\|frameset\|frame\|head\|title\|body\|table\|tr\|td\|th\|img\|center\|div\|br\|b\|font\|a\|script\|hr\|input\|textarea\|form\|i\|p\|h[1-6]\|pre\|blockquote\|style\)\b</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>tags2</name>
         <regex>&lt;/?\(ADDRESS\|HTML\|OL\|UL\|LI\|FRAMESET\|FRAME\|HEAD\|TITLE\|BODY\|TABLE\|TR\|TD\|TH\|IMG\|CENTER\|DIV\|BR\|B\|FONT\|A\|SCRIPT\|HR\|INPUT\|TEXTAREA\|FORM\|I\|P\|H[1-6]\|PRE\|BLOCKQUOTE\|STYLE\)\b</regex>
         <style>keyword</style>
      </pattern-item>
      <pattern-item>
         <name>numbers</name>
         <regex>[0-9]+\.?\b</regex>
         <style>decimal</style>
      </pattern-item>
      <pattern-item>
         <name>hex</name>
         <regex>#[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]</regex>
         <style>hexidecimal</style>
      </pattern-item>
      <pattern-item>
         <name>operators</name>
         <regex>\(=\|==\|@\|\*\|&lt;&lt;\|&lt;\|&gt;&gt;\|&gt;\|!\|~\|||\|&amp;&amp;\)</regex>
         <style>operator</style>
      </pattern-item>
   </pattern-items>

   <embedded-items>
      <embedded-item>
         <name>keywords1</name>
         <outside-regex>&lt;.+&gt;?</outside-regex>
         <inside-regex>\b\(address\|strong\|frameborder\|framespacing\|text\|links\|vlinks\|hidden\|method\|action\|password\|button\|value\|colspan\|rowspan\|cols\|rows\|background\|src\|border\|cellpadding\|cellspacing\|color\|vspace\|hspace\|height\|width\|marginheight\|marginwidth\|bgcolor\|size\|target\|href\|select\|option\|name\|type\|align\|valign\)\b</inside-regex>
         <style>data_type</style>
      </embedded-item>
      <embedded-item>
         <name>keywords2</name>
         <outside-regex>&lt;.+&gt;?</outside-regex>
         <inside-regex>\b\(ADDRESS\|STRONG\|FRAMEBORDER\|FRAMESPACING\|TEXT\|LINKS\|VLINKS\|HIDDEN\|METHOD\|ACTION\|PASSWORD\|BUTTON\|VALUE\|COLSPAN\|ROWSPAN\|COLS\|ROWS\|BACKGROUND\|SRC\|BORDER\|CELLPADDING\|CELLSPACING\|COLOR\|VSPACE\|HSPACE\|HEIGHT\|WIDTH\|MARGINHEIGHT\|MARGINWIDTH\|BGCOLOR\|SIZE\|TARGET\|HREF\|SELECT\|OPTION\|NAME\|TYPE\|ALIGN\|VALIGN\)\b</inside-regex>
         <style>data_type</style>
      </embedded-item>
   </embedded-items>
</glimmer-definition>

<python-definition>
def php_enter_callback():
    insert = "\n"
    extralen = 0
    slen = 0
    file = glimmer.get_file_number()
    tstart = glimmer.line_start()
    tend = glimmer.current_position()
    if (tend-tstart) > 0:
        chars = glimmer.get_text(tstart, tend)
        slen = len(chars)
        if slen > 0:
            index = 0
            while index < slen:
                c = chars[index]
                if c == '\t' or c == ' ':
                    insert = insert + chars[index]
                    index = index+1
                else:
                    break
            c = chars[slen-1]
            if c == '{':
                extralen = glimmer.get_file_tab_width(file)
                if glimmer.get_file_use_spaces(file):
                    while extralen > 0:
                        insert = insert + " "
                        extralen = extralen-1
                else:
                    insert = insert + '\t'
    glimmer.insert(insert)

glimmer.register_signal_hook("enter-pressed", php_enter_callback)

def php_tab_callback():
   tablen = 0
   insertchars = ""
   file = glimmer.get_file_number()
   if glimmer.get_file_use_spaces(file):
      tablen = glimmer.get_file_tab_width(file)
      pos = glimmer.current_position()
      lstart = glimmer.line_start()
      if pos - lstart > 0:
         str1 = glimmer.get_text(lstart, pos)
      else:
         str1 = ""
      if glimmer.get_tab_stops():
         str1 = string.expandtabs(str1, tablen)
         len1 = len(str1)
         del str1
         tablen = tablen - (len1 % tablen)
      while tablen > 0:
         insertchars = insertchars + " "
         tablen = tablen-1
   else:
      insertchars = insertchars + "\t"
   glimmer.insert(insertchars)

glimmer.register_signal_hook("tab-pressed", php_tab_callback)

def insert_c_comment():
    glimmer.freeze()
    if glimmer.has_selection():
        start = glimmer.selection_start()
        end = glimmer.selection_end()
        file = glimmer.get_file_number()
        glimmer.move(0)
        glimmer.insert_in(file, start, "/* ")
        glimmer.insert_in(file, end+3, " */")
        glimmer.move_to(end+6)
    else:
        glimmer.insert("/*\n *\n*/")
        glimmer.move(-3)
    glimmer.thaw()

def insert_cpp_comment():
    glimmer.freeze()
    if glimmer.has_selection():
        start = glimmer.selection_start()
        end = glimmer.selection_end()
        file = glimmer.get_file_number()
        glimmer.move(0)
        line1 = glimmer.line_by_pos(start)
        line2 = glimmer.line_by_pos(end)
        cur = line1
        print start
        print end
        while cur <= line2:
           glimmer.move_to_col(0)
           glimmer.move_to_line(cur)
           glimmer.insert("//")
           cur = cur+1
        glimmer.move_to(end+((line2-line1)+1)*2)
    else:
        glimmer.insert("//")
    glimmer.thaw()

def open_php_include():
    import string
    file = 0
    fname = ""
    file = glimmer.get_file_number()
    fname = glimmer.get_filename(file)
    path = ""
    noext = ""
    fullfile = ""
    openfile = 0
    if string.count(fname, ".php"):
       openfile = 1
       path = glimmer.get_path(file)
       noext = glimmer.get_file(file)
       fullfile = path + "/" + noext + ".inc"
    elif string.count(fname, ".inc"):
        openfile = 1
        path = glimmer.get_path(file)
        noext = glimmer.get_file(file)
        fullfile = path + "/" + noext + ".php"
    if openfile:
        openedfile = open(fullfile)
        if openedfile:
            del openedfile
            glimmer.open_file(fullfile)

glimmer.add_sub_to_menu("_Insert/", "PHP", -1)
glimmer.add_item_to_menu("_Insert/PHP/", "Comment (C)", "", "", -1, insert_c_comment)
glimmer.add_item_to_menu("_Insert/PHP/", "Comment (C++)", "", "", -1, insert_cpp_comment)
glimmer.add_item_to_popup_menu("Open Include", -1, open_php_include)
glimmer.add_item_to_popup_menu("Comment (C)", -1, insert_c_comment)
glimmer.add_item_to_popup_menu("Comment (C++)", -1, insert_cpp_comment)
</python-definition>
