summaryrefslogtreecommitdiff
path: root/modules/php/php.install
diff options
context:
space:
mode:
Diffstat (limited to 'modules/php/php.install')
-rw-r--r--modules/php/php.install29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/php/php.install b/modules/php/php.install
new file mode 100644
index 000000000..d5ee4d8bd
--- /dev/null
+++ b/modules/php/php.install
@@ -0,0 +1,29 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_install().
+ */
+function php_install() {
+ $format_exists = db_result(db_query("SELECT COUNT(*) FROM {filter_formats} WHERE name = 'PHP code'"));
+ // Add a PHP code input format, if it does not exist. Do this only for the
+ // first install (or if the format has been manually deleted) as there is no
+ // reliable method to identify the format in an uninstall hook or in
+ // subsequent clean installs.
+ if (!$format_exists) {
+ db_query("INSERT INTO {filter_formats} (name, roles, cache) VALUES ('PHP code', '', 0)");
+ $format = db_result(db_query("SELECT MAX(format) FROM {filter_formats}"));
+
+ // Enable the PHP evaluator filter.
+ db_query("INSERT INTO {filters} (format, module, delta, weight) VALUES (%d, 'php', 0, 0)", $format);
+
+ drupal_set_message(t('A !php-code input format has been created.', array('!php-code' => l('PHP code', 'admin/settings/filters/'. $format))));
+ }
+}
+
+/**
+ * Implementation of hook_disable().
+ */
+function php_disable() {
+ drupal_set_message(t('The PHP module has been disabled. Please note that any existing content that was using the PHP filter will now be visible in plain text. This might pose a security risk by exposing sensitive information, if any, used in the PHP code.'));
+}