# HG changeset patch # User Raphael Pinson <[EMAIL PROTECTED]> # Date 1216984947 -7200 # Node ID 86411abff2eec6aa4364b7d3f43fe2e94e3ab31c # Parent a7d566eaab75da9bb533f9c0bc0bd00c4a89caee Add PHP module and associated (basic) test file
diff -r a7d566eaab75 -r 86411abff2ee lenses/php.aug --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lenses/php.aug Fri Jul 25 13:22:27 2008 +0200 @@ -0,0 +1,129 @@ +(* PHP module for Augeas *) +(* Author: Raphael Pinson <[EMAIL PROTECTED]> *) +(* *) + +module PHP = + + autoload xfm + + (* Define a special entry when spaces are allowed in values *) + (* This is the case for error_reporting for example *) + let comment_nospace = IniFile.comment_generic /(#|;)/ + let value_allowspace = del /[ \t]*/ " " . store /[^;# \t\n][^;#\n]*[^;# \t\n]|[^;# \t\n]/ + let entry_allowspace (kw:regexp) = [ key kw . IniFile.value_sepwithcolon . value_allowspace? . (comment_nospace|IniFile.eol) ] + + (* PHP is a standard INI file *) + let setting = IniFile.entry "always_populate_raw_post_data" + | IniFile.entry "asp_tags" + | IniFile.entry "browscap" + | IniFile.entry "child_terminate" + | IniFile.entry "define_syslog_variables" + | IniFile.entry "doc_root" + | IniFile.entry "enable_dl" + | IniFile.entry "engine" + | IniFile.entry "expose_php" + | IniFile.entry "extension_dir" + | IniFile.entry "file_uploads" + | IniFile.entry "gpc_order" + | IniFile.entry "html_errors" + | IniFile.entry "implicit_flush" + | IniFile.entry "include_path" + | IniFile.entry "last_modified" + | IniFile.entry "memory_limit" + | IniFile.entry "open_basedir" + | IniFile.entry "post_max_size" + | IniFile.entry "precision" + | IniFile.entry "serialize_precision" + | IniFile.entry "short_open_tag" + | IniFile.entry "SMTP" + | IniFile.entry "smtp_port" + | IniFile.entry "track_errors" + | IniFile.entry "unserialize_callback_func" + | IniFile.entry "variables_order" + | IniFile.entry "xbithack" + | IniFile.entry "y2k_compliance" + | IniFile.entry /apc\.(cache_by_default|enabled|filters|gc_ttl|mmap_file_mask|num_files_hint|optimization|shm_segments|shm_size|slam_defense|ttl|user_entries_hint|user_ttl)/ + | IniFile.entry /apd\.(dumpdir|statement_tracing)/ + | IniFile.entry /arg_separator\.(input|output)/ + | IniFile.entry /assert\.(active|bail|callback|quiet_eval|warning)/ + | IniFile.entry /bcmath\.(scale)/ + | IniFile.entry /blenc\.(key_file)/ + | IniFile.entry /com\.(allow_dcom|autoregister_casesensitive|autoregister_typelib|autoregister_verbose|code_page|typelib_file)/ + | IniFile.entry /crack\.(default_dictionary)/ + | IniFile.entry /daffodildb\.(default_host|default_password|default_socket|default_user|port)/ + | IniFile.entry /date\.(default_latitude|default_longitude|sunrise_zenith|sunset_zenith)/ + | IniFile.entry /dba\.(default_handler)/ + | IniFile.entry /dbx\.(colnames_case)/ + | IniFile.entry /exif\.(decode_jis_intel|decode_jis_motorola|decode_unicode_intel|decode_unicode_motorola|encode_jis|encode_unicode)/ + | IniFile.entry /fbsql\.(allow_persistent|autocommit|batchsize|default_database|default_database_password|default_host|default_password|default_user|generate_warnings|max_connections|max_links|max_persistent|max_results)/ + | IniFile.entry /highlight\.(bg|comment|default|html|keyword|string)/ + | IniFile.entry /hyperwave\.(allow_persistent|default_port)/ + | IniFile.entry /ibase\.(allow_persistent|dateformat|default_charset|default_db|default_password|default_user|max_links|max_persistent|timeformat|timestampformat)/ + | IniFile.entry /iconv\.(input_encoding|internal_encoding|output_encoding)/ + | IniFile.entry /ifx\.(allow_persistent|blobinfile|byteasvarchar|charasvarchar|default_host|default_password|default_user|max_links|max_persistent|nullformat|textasvarchar)/ + | IniFile.entry /ingres\.(allow_persistent|default_database|default_password|default_user|max_links|max_persistent)/ + | IniFile.entry /ircg\.(control_user|keep_alive_interval|max_format_message_sets|shared_mem_size|work_dir)/ + | IniFile.entry /ldap\.(max_links)/ + | IniFile.entry /mail\.(force_extra_parameters)/ + | IniFile.entry /mailparse\.(def_charset)/ + | IniFile.entry /maxdb\.(default_db|default_host|default_pw|default_user|long_readlen)/ + | IniFile.entry /mbstring\.(detect_order|encoding_translation|func_overload|http_input|http_output|internal_encoding|language|script_encoding|substitute_character)/ + | IniFile.entry /mcrypt\.(algorithms_dir|modes_dir)/ + | IniFile.entry /mime_magic\.(debug|magicfile)/ + | IniFile.entry /mssql\.(allow_persistent|batchsize|compatability_mode|connect_timeout|datetimeconvert|max_links|max_persistent|max_procs|min_error_severity|min_message_severity|secure_connection|textlimit|textsize|timeout)/ + | IniFile.entry /msql\.(allow_persistent|max_links|max_persistent)/ + | IniFile.entry /mysql\.(allow_persistent|connect_timeout|default_host|default_password|default_port|default_socket|default_user|max_links|max_persistent|trace_mode)/ + | IniFile.entry /mysqli\.(default_host|default_port|default_pw|default_socket|default_user|max_links|reconnect)/ + | IniFile.entry /namazu\.(debugmode|lang|loggingmode|sortmethod|sortorder)/ + | IniFile.entry /nsapi\.(read_timeout)/ + | IniFile.entry /odbc\.(allow_persistent|check_persistent|defaultbinmode|defaultlrl|default_db|default_pw|default_user|max_links|max_persistent)/ + | IniFile.entry /opendirectory\.(max_refs|separator)/ + | IniFile.entry /pdo\.(global_value)/ + | IniFile.entry /pfpro\.(defaulthost|defaultport|defaulttimeout|proxyaddress|proxylogon|proxypassword|proxyport)/ + | IniFile.entry /pgsql\.(allow_persistent|auto_reset_persistent|ignore_notice|log_notice|max_links|max_persistent)/ + | IniFile.entry /printer\.(default_printer)/ + | IniFile.entry /session\.(auto_start|bug_compat_42|bug_compat_warn|cache_expire|cache_limiter|cookie_(domain|httponly|lifetime|path|secure)|entropy_file|entropy_length|gc_divisor|gc_maxlifetime|gc_probability|hash_bits_per_character|hash_function|name|referer_check|save_handler|save_path|serialize_handler|use_cookies|use_only_cookies|use_trans_sid)/ + | IniFile.entry /session_pgsql\.(create_table|db|disable|failover_mode|gc_interval|keep_expired|sem_file_name|serializable|short_circuit|use_app_vars|vacuum_interval)/ + | IniFile.entry /simple_cvs\.(authMethod|compressionLevel|cvsRoot|host|moduleName|userName|workingDir)/ + | IniFile.entry /soap\.(wsdl_cache_dir|wsdl_cache_enabled|wsdl_cache_ttl)/ + | IniFile.entry /sql\.(safe_mode)/ + | IniFile.entry /sqlite\.(assoc_case)/ + | IniFile.entry /sybase\.(allow_persistent|max_(persistent|links)|interface_file|min_(error|message)_severity|compatability_mode)/ + | IniFile.entry /sybct\.(allow_persistent|deadlock_retry_count|hostname|login_timeout|max_links|max_persistent|min_client_severity|min_server_severity)/ + | IniFile.entry /tidy\.(clean_output|default_config)/ + | IniFile.entry /url_rewriter\.(tags)/ + | IniFile.entry /valkyrie\.(auto_validate|config_path)/ + | IniFile.entry /xmms\.(path|session)/ + | IniFile.entry /yaz\.(keepalive|log_file|max_links)/ + | IniFile.entry /zend\.(ze1_compatibility_mode)/ + | IniFile.entry /zlib\.(output_compression|output_compression_level|output_handler)/ + | IniFile.entry /allow_(call_time_pass_reference|url_fopen|url_include)/ + | IniFile.entry /auto_(append_file|detect_line_endings|globals_jit|prepend_file)/ + | IniFile.entry /default_(charset|mimetype|socket_timeout)/ + | IniFile.entry /display(_startup)?_errors/ + | IniFile.entry /disable_(classes|functions)/ + | IniFile.entry /docref_(ext|root)/ + | IniFile.entry /error_(append_string|log|prepend_string)/ + | IniFile.entry /ignore_(repeated_errors|repeated_source|user_abort)/ + | IniFile.entry /log_errors(_max_len)?/ + | IniFile.entry /magic_quotes_(gpc|runtime|sybase)/ + | IniFile.entry /max_(execution_time|input_time)/ + | IniFile.entry /output_(buffering|handler)/ + | IniFile.entry /realpath_(cache_size|cache_ttl)/ + | IniFile.entry /register_(argc_argv|globals|long_arrays)/ + | IniFile.entry /report_(memleaks|zend_debug)/ + | IniFile.entry /safe_mode(_(allowed_env_vars|exec_dir|gid|include_dir|protected_env_vars))?/ + | IniFile.entry /sendmail_(from|path)/ + | IniFile.entry /upload_(max_filesize|tmp_dir)/ + | IniFile.entry /user_(agent|dir)/ + | IniFile.entry /xmlrpc_error(s|_number)/ + | entry_allowspace "error_reporting" + + let record = IniFile.record "section" setting + let lns = IniFile.lns record + + let filter = (incl "/etc/php*/*/php.ini") + . Util.stdexcl + + let xfm = transform lns filter + diff -r a7d566eaab75 -r 86411abff2ee lenses/tests/test_php.aug --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lenses/tests/test_php.aug Fri Jul 25 13:22:27 2008 +0200 @@ -0,0 +1,120 @@ +module Test_php = + + let conf = "[PHP] + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +engine = On + +; Enable compatibility mode with Zend Engine 1 (PHP 4.x) +zend.ze1_compatibility_mode = Off + +; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized. +; NOTE: Using short tags should be avoided when developing applications or +; libraries that are meant for redistribution, or deployment on PHP +; servers which are not under your control, because short tags may not +; be supported on the target server. For portable, redistributable code, +; be sure not to use short tags. +short_open_tag = On + +; Allow ASP-style <% %> tags. +asp_tags = Off + +; The number of significant digits displayed in floating point numbers. +precision = 12 + +; Enforce year 2000 compliance (will cause problems with non-compliant browsers) +y2k_compliance = On + +; Output buffering allows you to send header lines (including cookies) even +; after you send body content, at the price of slowing PHP's output layer a +; bit. You can enable output buffering during runtime by calling the output +; buffering functions. You can also enable output buffering for all files by +; setting this directive to On. If you wish to limit the size of the buffer +; to a certain size - you can use a maximum number of bytes instead of 'On', as +; a value for this directive (e.g., output_buffering=4096). +output_buffering = Off +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to \"mb_output_handler\", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both \"mb_output_handler\" with \"ob_iconv_handler\" +; and you cannot use both \"ob_gzhandler\" and \"zlib.output_compression\". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +;output_handler = + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +zlib.output_compression = Off +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. +; A warning appears if the specified function is not defined, or if the +; function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func= + +;extension=mysql.so +;extension=gd.so + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[Date] +; Defines the default timezone used by the date functions +;date.timezone = + +;date.default_latitude = 31.7667 +;date.default_longitude = 35.2333 + +;date.sunrise_zenith = 90.583333 +;date.sunset_zenith = 90.583333 + +[filter] +;filter.default = unsafe_raw +;filter.default_flags = + +[iconv] +;iconv.input_encoding = ISO-8859-1 +;iconv.internal_encoding = ISO-8859-1 +;iconv.output_encoding = ISO-8859-1 + +[sqlite] +;sqlite.assoc_case = 0 + + +" + + + test PHP.lns get conf = ? _______________________________________________ augeas-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/augeas-devel
