core/modules/filter/filter.module-316-function filter_admin_format_title($format) { core/modules/filter/filter.module-317- return $format->name; core/modules/filter/filter.module-318-} core/modules/filter/filter.module-319- core/modules/filter/filter.module-320-/** core/modules/filter/filter.module-321- * Implements hook_permission(). core/modules/filter/filter.module-322- */ core/modules/filter/filter.module-323-function filter_permission() { core/modules/filter/filter.module-324- $perms['administer filters'] = array( core/modules/filter/filter.module-325- 'title' => t('Administer text formats and filters'), core/modules/filter/filter.module-326- 'restrict access' => TRUE, core/modules/filter/filter.module-327- ); core/modules/filter/filter.module-328- core/modules/filter/filter.module-329- // Generate permissions for each text format. Warn the administrator that any core/modules/filter/filter.module-330- // of them are potentially unsafe. core/modules/filter/filter.module-331- foreach (filter_formats() as $format) { core/modules/filter/filter.module-332- $permission = filter_permission_name($format); core/modules/filter/filter.module-333- if (!empty($permission)) { core/modules/filter/filter.module-334- // Only link to the text format configuration page if the user who is core/modules/filter/filter.module-335- // viewing this will have access to that page. core/modules/filter/filter.module:336: $format_name_replacement = user_access('administer filters') ? l($format->name, 'admin/config/content/formats/' . $format->format) : drupal_placeholder($format->name); core/modules/filter/filter.module-337- $perms[$permission] = array( core/modules/filter/filter.module-338- 'title' => t("Use the !text_format text format", array('!text_format' => $format_name_replacement,)), core/modules/filter/filter.module:339: 'description' => drupal_placeholder(t('Warning: This permission may have security implications depending on how the text format is configured.')), core/modules/filter/filter.module-340- ); core/modules/filter/filter.module-341- } core/modules/filter/filter.module-342- } core/modules/filter/filter.module-343- return $perms; core/modules/filter/filter.module-344-} core/modules/filter/filter.module-345- core/modules/filter/filter.module-346-/** core/modules/filter/filter.module-347- * Returns the machine-readable permission name for a provided text format. core/modules/filter/filter.module-348- * core/modules/filter/filter.module-349- * @param $format core/modules/filter/filter.module-350- * An object representing a text format. core/modules/filter/filter.module-351- * @return core/modules/filter/filter.module-352- * The machine-readable permission name, or FALSE if the provided text format core/modules/filter/filter.module-353- * is malformed or is the fallback format (which is available to all users). core/modules/filter/filter.module-354- */ core/modules/filter/filter.module-355-function filter_permission_name($format) { core/modules/filter/filter.module-356- if (isset($format->format) && $format->format != filter_fallback_format()) { core/modules/filter/filter.module-357- return 'use text format ' . $format->format; core/modules/filter/filter.module-358- } core/modules/filter/filter.module-359- return FALSE; -- core/modules/filter/filter.admin.inc-5- * Admin page callbacks for the filter module. core/modules/filter/filter.admin.inc-6- */ core/modules/filter/filter.admin.inc-7- core/modules/filter/filter.admin.inc-8-/** core/modules/filter/filter.admin.inc-9- * Menu callback; Displays a list of all text formats and allows them to be rearranged. core/modules/filter/filter.admin.inc-10- * core/modules/filter/filter.admin.inc-11- * @ingroup forms core/modules/filter/filter.admin.inc-12- * @see filter_admin_overview_submit() core/modules/filter/filter.admin.inc-13- */ core/modules/filter/filter.admin.inc-14-function filter_admin_overview($form) { core/modules/filter/filter.admin.inc-15- // Overview of all formats. core/modules/filter/filter.admin.inc-16- $formats = filter_formats(); core/modules/filter/filter.admin.inc-17- $fallback_format = filter_fallback_format(); core/modules/filter/filter.admin.inc-18- core/modules/filter/filter.admin.inc-19- $form['#tree'] = TRUE; core/modules/filter/filter.admin.inc-20- foreach ($formats as $id => $format) { core/modules/filter/filter.admin.inc-21- // Check whether this is the fallback text format. This format is available core/modules/filter/filter.admin.inc-22- // to all roles and cannot be disabled via the admin interface. core/modules/filter/filter.admin.inc-23- $form['formats'][$id]['#is_fallback'] = ($id == $fallback_format); core/modules/filter/filter.admin.inc-24- if ($form['formats'][$id]['#is_fallback']) { core/modules/filter/filter.admin.inc:25: $form['formats'][$id]['name'] = array('#markup' => drupal_placeholder($format->name)); core/modules/filter/filter.admin.inc:26: $roles_markup = drupal_placeholder(t('All roles may use this format')); core/modules/filter/filter.admin.inc-27- } core/modules/filter/filter.admin.inc-28- else { core/modules/filter/filter.admin.inc-29- $form['formats'][$id]['name'] = array('#markup' => check_plain($format->name)); core/modules/filter/filter.admin.inc-30- $roles = array_map('check_plain', filter_get_roles_by_format($format)); core/modules/filter/filter.admin.inc-31- $roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format'); core/modules/filter/filter.admin.inc-32- } core/modules/filter/filter.admin.inc-33- $form['formats'][$id]['roles'] = array('#markup' => $roles_markup); core/modules/filter/filter.admin.inc-34- $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id); core/modules/filter/filter.admin.inc-35- $form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#href' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']); core/modules/filter/filter.admin.inc-36- $form['formats'][$id]['weight'] = array( core/modules/filter/filter.admin.inc-37- '#type' => 'weight', core/modules/filter/filter.admin.inc-38- '#title' => t('Weight for @title', array('@title' => $format->name)), core/modules/filter/filter.admin.inc-39- '#title_display' => 'invisible', core/modules/filter/filter.admin.inc-40- '#default_value' => $format->weight, core/modules/filter/filter.admin.inc-41- ); core/modules/filter/filter.admin.inc-42- } core/modules/filter/filter.admin.inc-43- $form['actions'] = array('#type' => 'actions'); core/modules/filter/filter.admin.inc-44- $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save changes')); core/modules/filter/filter.admin.inc-45- return $form; core/modules/filter/filter.admin.inc-46-} -- core/modules/node/node.pages.inc-604- core/modules/node/node.pages.inc-605- $revisions = node_revision_list($node); core/modules/node/node.pages.inc-606- core/modules/node/node.pages.inc-607- $rows = array(); core/modules/node/node.pages.inc-608- $revert_permission = FALSE; core/modules/node/node.pages.inc-609- if ((user_access('revert revisions') || user_access('administer nodes')) && node_access('update', $node)) { core/modules/node/node.pages.inc-610- $revert_permission = TRUE; core/modules/node/node.pages.inc-611- } core/modules/node/node.pages.inc-612- $delete_permission = FALSE; core/modules/node/node.pages.inc-613- if ((user_access('delete revisions') || user_access('administer nodes')) && node_access('delete', $node)) { core/modules/node/node.pages.inc-614- $delete_permission = TRUE; core/modules/node/node.pages.inc-615- } core/modules/node/node.pages.inc-616- foreach ($revisions as $revision) { core/modules/node/node.pages.inc-617- $row = array(); core/modules/node/node.pages.inc-618- $operations = array(); core/modules/node/node.pages.inc-619- core/modules/node/node.pages.inc-620- if ($revision->current_vid > 0) { core/modules/node/node.pages.inc-621- $row[] = array('data' => t('!date by !username', array('!date' => l(format_date($revision->timestamp, 'short'), "node/$node->nid"), '!username' => theme('username', array('account' => $revision)))) core/modules/node/node.pages.inc-622- . (($revision->log != '') ? '

' . filter_xss($revision->log) . '

' : ''), core/modules/node/node.pages.inc-623- 'class' => array('revision-current')); core/modules/node/node.pages.inc:624: $operations[] = array('data' => drupal_placeholder(t('current revision')), 'class' => array('revision-current'), 'colspan' => 2); core/modules/node/node.pages.inc-625- } core/modules/node/node.pages.inc-626- else { core/modules/node/node.pages.inc-627- $row[] = t('!date by !username', array('!date' => l(format_date($revision->timestamp, 'short'), "node/$node->nid/revisions/$revision->vid/view"), '!username' => theme('username', array('account' => $revision)))) core/modules/node/node.pages.inc-628- . (($revision->log != '') ? '

' . filter_xss($revision->log) . '

' : ''); core/modules/node/node.pages.inc-629- if ($revert_permission) { core/modules/node/node.pages.inc-630- $operations[] = l(t('revert'), "node/$node->nid/revisions/$revision->vid/revert"); core/modules/node/node.pages.inc-631- } core/modules/node/node.pages.inc-632- if ($delete_permission) { core/modules/node/node.pages.inc-633- $operations[] = l(t('delete'), "node/$node->nid/revisions/$revision->vid/delete"); core/modules/node/node.pages.inc-634- } core/modules/node/node.pages.inc-635- } core/modules/node/node.pages.inc-636- $rows[] = array_merge($row, $operations); core/modules/node/node.pages.inc-637- } core/modules/node/node.pages.inc-638- core/modules/node/node.pages.inc-639- $build['node_revisions_table'] = array( core/modules/node/node.pages.inc-640- '#theme' => 'table', core/modules/node/node.pages.inc-641- '#rows' => $rows, core/modules/node/node.pages.inc-642- '#header' => $header, core/modules/node/node.pages.inc-643- ); core/modules/node/node.pages.inc-644- -- core/modules/update/update.report.inc-153- && $project['recommended'] !== $project['dev_version']) { core/modules/update/update.report.inc-154- $versions_inner .= theme('update_version', array('version' => $project['releases'][$project['dev_version']], 'tag' => t('Development version:'), 'class' => array('version-latest'))); core/modules/update/update.report.inc-155- } core/modules/update/update.report.inc-156- } core/modules/update/update.report.inc-157- core/modules/update/update.report.inc-158- if (isset($project['also'])) { core/modules/update/update.report.inc-159- foreach ($project['also'] as $also) { core/modules/update/update.report.inc-160- $versions_inner .= theme('update_version', array('version' => $project['releases'][$also], 'tag' => t('Also available:'), 'class' => array('version-also-available'))); core/modules/update/update.report.inc-161- } core/modules/update/update.report.inc-162- } core/modules/update/update.report.inc-163- core/modules/update/update.report.inc-164- if (!empty($versions_inner)) { core/modules/update/update.report.inc-165- $row .= "
\n" . $versions_inner . "
\n"; core/modules/update/update.report.inc-166- } core/modules/update/update.report.inc-167- $row .= "
\n"; core/modules/update/update.report.inc-168- if (!empty($project['extra'])) { core/modules/update/update.report.inc-169- $row .= '
' . "\n"; core/modules/update/update.report.inc-170- foreach ($project['extra'] as $key => $value) { core/modules/update/update.report.inc-171- $row .= '
'; core/modules/update/update.report.inc-172- $row .= check_plain($value['label']) . ': '; core/modules/update/update.report.inc:173: $row .= drupal_placeholder($value['data']); core/modules/update/update.report.inc-174- $row .= "
\n"; core/modules/update/update.report.inc-175- } core/modules/update/update.report.inc-176- $row .= "
\n"; // extra div. core/modules/update/update.report.inc-177- } core/modules/update/update.report.inc-178- core/modules/update/update.report.inc-179- $row .= '
'; core/modules/update/update.report.inc-180- sort($project['includes']); core/modules/update/update.report.inc-181- if (!empty($project['disabled'])) { core/modules/update/update.report.inc-182- sort($project['disabled']); core/modules/update/update.report.inc-183- // Make sure we start with a clean slate for each project in the report. core/modules/update/update.report.inc-184- $includes_items = array(); core/modules/update/update.report.inc-185- $row .= t('Includes:'); core/modules/update/update.report.inc-186- $includes_items[] = t('Enabled: %includes', array('%includes' => implode(', ', $project['includes']))); core/modules/update/update.report.inc-187- $includes_items[] = t('Disabled: %disabled', array('%disabled' => implode(', ', $project['disabled']))); core/modules/update/update.report.inc-188- $row .= theme('item_list', array('items' => $includes_items)); core/modules/update/update.report.inc-189- } core/modules/update/update.report.inc-190- else { core/modules/update/update.report.inc-191- $row .= t('Includes: %includes', array('%includes' => implode(', ', $project['includes']))); core/modules/update/update.report.inc-192- } core/modules/update/update.report.inc-193- $row .= "
\n"; core/modules/update/update.report.inc-194- core/modules/update/update.report.inc-195- if (!empty($project['base_themes'])) { core/modules/update/update.report.inc-196- $row .= '
'; core/modules/update/update.report.inc-197- asort($project['base_themes']); core/modules/update/update.report.inc-198- $base_themes = array(); core/modules/update/update.report.inc-199- foreach ($project['base_themes'] as $base_key => $base_theme) { core/modules/update/update.report.inc-200- switch ($status[$base_key]) { core/modules/update/update.report.inc-201- case UPDATE_NOT_SECURE: core/modules/update/update.report.inc-202- case UPDATE_REVOKED: core/modules/update/update.report.inc-203- case UPDATE_NOT_SUPPORTED: core/modules/update/update.report.inc-204- $base_themes[] = t('%base_theme (!base_label)', array('%base_theme' => $base_theme, '!base_label' => theme('update_status_label', array('status' => $status[$base_key])))); core/modules/update/update.report.inc-205- break; core/modules/update/update.report.inc-206- core/modules/update/update.report.inc-207- default: core/modules/update/update.report.inc:208: $base_themes[] = drupal_placeholder($base_theme); core/modules/update/update.report.inc-209- } core/modules/update/update.report.inc-210- } core/modules/update/update.report.inc-211- $row .= t('Depends on: !basethemes', array('!basethemes' => implode(', ', $base_themes))); core/modules/update/update.report.inc-212- $row .= "
\n"; core/modules/update/update.report.inc-213- } core/modules/update/update.report.inc-214- core/modules/update/update.report.inc-215- if (!empty($project['sub_themes'])) { core/modules/update/update.report.inc-216- $row .= '
'; core/modules/update/update.report.inc-217- sort($project['sub_themes']); core/modules/update/update.report.inc-218- $row .= t('Required by: %subthemes', array('%subthemes' => implode(', ', $project['sub_themes']))); core/modules/update/update.report.inc-219- $row .= "
\n"; core/modules/update/update.report.inc-220- } core/modules/update/update.report.inc-221- core/modules/update/update.report.inc-222- $row .= "
\n"; // info div. core/modules/update/update.report.inc-223- core/modules/update/update.report.inc-224- if (!isset($rows[$project['project_type']])) { core/modules/update/update.report.inc-225- $rows[$project['project_type']] = array(); core/modules/update/update.report.inc-226- } core/modules/update/update.report.inc-227- $row_key = isset($project['title']) ? drupal_strtolower($project['title']) : drupal_strtolower($project['name']); core/modules/update/update.report.inc-228- $rows[$project['project_type']][$row_key] = array( -- core/includes/bootstrap.inc-1550- else { core/includes/bootstrap.inc-1551- return format_string($string, $args); core/includes/bootstrap.inc-1552- } core/includes/bootstrap.inc-1553-} core/includes/bootstrap.inc-1554- core/includes/bootstrap.inc-1555-/** core/includes/bootstrap.inc-1556- * Replaces placeholders with sanitized values in a string. core/includes/bootstrap.inc-1557- * core/includes/bootstrap.inc-1558- * @param $string core/includes/bootstrap.inc-1559- * A string containing placeholders. core/includes/bootstrap.inc-1560- * @param $args core/includes/bootstrap.inc-1561- * An associative array of replacements to make. Occurrences in $string of core/includes/bootstrap.inc-1562- * any key in $args are replaced with the corresponding value, after core/includes/bootstrap.inc-1563- * sanitization. The sanitization function depends on the first character of core/includes/bootstrap.inc-1564- * the key: core/includes/bootstrap.inc-1565- * - !variable: Inserted as is. Use this for text that has already been core/includes/bootstrap.inc-1566- * sanitized. core/includes/bootstrap.inc-1567- * - @variable: Escaped to HTML using check_plain(). Use this for anything core/includes/bootstrap.inc-1568- * displayed on a page on the site. core/includes/bootstrap.inc-1569- * - %variable: Escaped as a placeholder for user-submitted content using core/includes/bootstrap.inc:1570: * drupal_placeholder(), which shows up as emphasized text. core/includes/bootstrap.inc-1571- * core/includes/bootstrap.inc-1572- * @see t() core/includes/bootstrap.inc-1573- * @ingroup sanitization core/includes/bootstrap.inc-1574- */ core/includes/bootstrap.inc-1575-function format_string($string, array $args = array()) { core/includes/bootstrap.inc-1576- // Transform arguments before inserting them. core/includes/bootstrap.inc-1577- foreach ($args as $key => $value) { core/includes/bootstrap.inc-1578- switch ($key[0]) { core/includes/bootstrap.inc-1579- case '@': core/includes/bootstrap.inc-1580- // Escaped only. core/includes/bootstrap.inc-1581- $args[$key] = check_plain($value); core/includes/bootstrap.inc-1582- break; core/includes/bootstrap.inc-1583- core/includes/bootstrap.inc-1584- case '%': core/includes/bootstrap.inc-1585- default: core/includes/bootstrap.inc-1586- // Escaped and placeholder. core/includes/bootstrap.inc:1587: $args[$key] = drupal_placeholder($value); core/includes/bootstrap.inc-1588- break; core/includes/bootstrap.inc-1589- core/includes/bootstrap.inc-1590- case '!': core/includes/bootstrap.inc-1591- // Pass-through. core/includes/bootstrap.inc-1592- } core/includes/bootstrap.inc-1593- } core/includes/bootstrap.inc-1594- return strtr($string, $args); core/includes/bootstrap.inc-1595-} core/includes/bootstrap.inc-1596- core/includes/bootstrap.inc-1597-/** core/includes/bootstrap.inc-1598- * Encodes special characters in a plain-text string for display as HTML. core/includes/bootstrap.inc-1599- * core/includes/bootstrap.inc-1600- * Also validates strings as UTF-8 to prevent cross site scripting attacks on core/includes/bootstrap.inc-1601- * Internet Explorer 6. core/includes/bootstrap.inc-1602- * core/includes/bootstrap.inc-1603- * @param $text core/includes/bootstrap.inc-1604- * The text to be checked or processed. core/includes/bootstrap.inc-1605- * core/includes/bootstrap.inc-1606- * @return core/includes/bootstrap.inc-1607- * An HTML safe version of $text, or an empty string if $text is not -- core/includes/bootstrap.inc-3388-} core/includes/bootstrap.inc-3389- core/includes/bootstrap.inc-3390-/** core/includes/bootstrap.inc-3391- * Detects whether the current script is running in a command-line environment. core/includes/bootstrap.inc-3392- */ core/includes/bootstrap.inc-3393-function drupal_is_cli() { core/includes/bootstrap.inc-3394- return (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0))); core/includes/bootstrap.inc-3395-} core/includes/bootstrap.inc-3396- core/includes/bootstrap.inc-3397-/** core/includes/bootstrap.inc-3398- * Formats text for emphasized display in a placeholder inside a sentence. core/includes/bootstrap.inc-3399- * core/includes/bootstrap.inc-3400- * Used automatically by format_string(). core/includes/bootstrap.inc-3401- * core/includes/bootstrap.inc-3402- * @param $text core/includes/bootstrap.inc-3403- * The text to format (plain-text). core/includes/bootstrap.inc-3404- * core/includes/bootstrap.inc-3405- * @return core/includes/bootstrap.inc-3406- * The formatted text (html). core/includes/bootstrap.inc-3407- */ core/includes/bootstrap.inc:3408:function drupal_placeholder($text) { core/includes/bootstrap.inc-3409- return '' . check_plain($text) . ''; core/includes/bootstrap.inc-3410-} core/includes/bootstrap.inc-3411- core/includes/bootstrap.inc-3412-/** core/includes/bootstrap.inc-3413- * Registers a function for execution on shutdown. core/includes/bootstrap.inc-3414- * core/includes/bootstrap.inc-3415- * Wrapper for register_shutdown_function() that catches thrown exceptions to core/includes/bootstrap.inc-3416- * avoid "Exception thrown without a stack frame in Unknown". core/includes/bootstrap.inc-3417- * core/includes/bootstrap.inc-3418- * @param $callback core/includes/bootstrap.inc-3419- * The shutdown function to register. core/includes/bootstrap.inc-3420- * @param ... core/includes/bootstrap.inc-3421- * Additional arguments to pass to the shutdown function. core/includes/bootstrap.inc-3422- * core/includes/bootstrap.inc-3423- * @return core/includes/bootstrap.inc-3424- * Array of shutdown functions to be executed. core/includes/bootstrap.inc-3425- * core/includes/bootstrap.inc-3426- * @see register_shutdown_function() core/includes/bootstrap.inc-3427- * @ingroup php_wrappers core/includes/bootstrap.inc-3428- */