Initial code using Drupal 6.38
This commit is contained in:
commit
4824608a33
467 changed files with 90887 additions and 0 deletions
11
modules/php/php.info
Normal file
11
modules/php/php.info
Normal file
|
@ -0,0 +1,11 @@
|
|||
name = PHP filter
|
||||
description = Allows embedded PHP code/snippets to be evaluated.
|
||||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 6.x
|
||||
|
||||
; Information added by Drupal.org packaging script on 2016-02-24
|
||||
version = "6.38"
|
||||
project = "drupal"
|
||||
datestamp = "1456343372"
|
||||
|
28
modules/php/php.install
Normal file
28
modules/php/php.install
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* 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.'));
|
||||
}
|
88
modules/php/php.module
Normal file
88
modules/php/php.module
Normal file
|
@ -0,0 +1,88 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Additional filter for PHP input.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Implementation of hook_help().
|
||||
*/
|
||||
function php_help($path, $arg) {
|
||||
switch ($path) {
|
||||
case 'admin/help#php':
|
||||
$output = '<p>'. t('The PHP filter adds the ability to include PHP code in posts. PHP is a general-purpose scripting language widely-used for web development; the content management system used by this website has been developed using PHP.') .'</p>';
|
||||
$output .= '<p>'. t('Through the PHP filter, users with the proper permission may include custom PHP code within a page of the site. While this is a powerful and flexible feature if used by a trusted user with PHP experience, it is a significant and dangerous security risk in the hands of a malicious user. Even a trusted user may accidentally compromise the site by entering malformed or incorrect PHP code. Only the most trusted users should be granted permission to use the PHP filter, and all PHP code added through the PHP filter should be carefully examined before use.') .'</p>';
|
||||
$output .= '<p>'. t('<a href="@drupal">Drupal.org</a> offers <a href="@php-snippets">some example PHP snippets</a>, or you can create your own with some PHP experience and knowledge of the Drupal system.', array('@drupal' => url('http://drupal.org'), '@php-snippets' => url('http://drupal.org/handbook/customization/php-snippets'))) .'</p>';
|
||||
$output .= '<p>'. t('For more information, see the online handbook entry for <a href="@php">PHP module</a>.', array('@php' => 'http://drupal.org/handbook/modules/php/')) .'</p>';
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of hook_filter_tips().
|
||||
*/
|
||||
function php_filter_tips($delta, $format, $long = false) {
|
||||
global $base_url;
|
||||
if ($delta == 0) {
|
||||
switch ($long) {
|
||||
case 0:
|
||||
return t('You may post PHP code. You should include <?php ?> tags.');
|
||||
case 1:
|
||||
$output = '<h4>'. t('Using custom PHP code') .'</h4>';
|
||||
$output .= '<p>'. t('Custom PHP code may be embedded in some types of site content, including posts and blocks. While embedding PHP code inside a post or block is a powerful and flexible feature when used by a trusted user with PHP experience, it is a significant and dangerous security risk when used improperly. Even a small mistake when posting PHP code may accidentally compromise your site.') .'</p>';
|
||||
$output .= '<p>'. t('If you are unfamiliar with PHP, SQL, or Drupal, avoid using custom PHP code within posts. Experimenting with PHP may corrupt your database, render your site inoperable, or significantly compromise security.') .'</p>';
|
||||
$output .= '<p>'. t('Notes:') .'</p>';
|
||||
$output .= '<ul><li>'. t('Remember to double-check each line for syntax and logic errors <strong>before</strong> saving.') .'</li>';
|
||||
$output .= '<li>'. t('Statements must be correctly terminated with semicolons.') .'</li>';
|
||||
$output .= '<li>'. t('Global variables used within your PHP code retain their values after your script executes.') .'</li>';
|
||||
$output .= '<li>'. t('<code>register_globals</code> is <strong>turned off</strong>. If you need to use forms, understand and use the functions in <a href="@formapi">the Drupal Form API</a>.', array('@formapi' => url('http://api.drupal.org/api/group/form_api/6'))) .'</li>';
|
||||
$output .= '<li>'. t('Use a <code>print</code> or <code>return</code> statement in your code to output content.') .'</li>';
|
||||
$output .= '<li>'. t('Develop and test your PHP code using a separate test script and sample database before deploying on a production site.') .'</li>';
|
||||
$output .= '<li>'. t('Consider including your custom PHP code within a site-specific module or <code>template.php</code> file rather than embedding it directly into a post or block.') .'</li>';
|
||||
$output .= '<li>'. t('Be aware that the ability to embed PHP code within content is provided by the PHP Filter module. If this module is disabled or deleted, then blocks and posts with embedded PHP may display, rather than execute, the PHP code.') .'</li></ul>';
|
||||
$output .= '<p>'. t('A basic example: <em>Creating a "Welcome" block that greets visitors with a simple message.</em>') .'</p>';
|
||||
$output .= '<ul><li>'. t('<p>Add a custom block to your site, named "Welcome". With its input format set to "PHP code" (or another format supporting PHP input), add the following in the Block body:</p>
|
||||
<pre>
|
||||
print t(\'Welcome visitor! Thank you for visiting.\');
|
||||
</pre>') .'</li>';
|
||||
$output .= '<li>'. t('<p>To display the name of a registered user, use this instead:</p>
|
||||
<pre>
|
||||
global $user;
|
||||
if ($user->uid) {
|
||||
print t(\'Welcome @name! Thank you for visiting.\', array(\'@name\' => $user->name));
|
||||
}
|
||||
else {
|
||||
print t(\'Welcome visitor! Thank you for visiting.\');
|
||||
}
|
||||
</pre>') .'</li></ul>';
|
||||
$output .= '<p>'. t('<a href="@drupal">Drupal.org</a> offers <a href="@php-snippets">some example PHP snippets</a>, or you can create your own with some PHP experience and knowledge of the Drupal system.', array('@drupal' => url('http://drupal.org'), '@php-snippets' => url('http://drupal.org/handbook/customization/php-snippets'))) .'</p>';
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of hook_filter(). Contains a basic PHP evaluator.
|
||||
*
|
||||
* Executes PHP code. Use with care.
|
||||
*/
|
||||
function php_filter($op, $delta = 0, $format = -1, $text = '') {
|
||||
switch ($op) {
|
||||
case 'list':
|
||||
return array(0 => t('PHP evaluator'));
|
||||
case 'no cache':
|
||||
// No caching for the PHP evaluator.
|
||||
return $delta == 0;
|
||||
case 'description':
|
||||
return t('Executes a piece of PHP code. The usage of this filter should be restricted to administrators only!');
|
||||
case 'process':
|
||||
return drupal_eval($text);
|
||||
default:
|
||||
return $text;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in a new issue