Changeset 3049762
- Timestamp:
- 03/12/2024 12:50:25 PM (2 years ago)
- Location:
- security-malware-firewall
- Files:
-
- 1047 added
- 11 deleted
- 22 edited
-
tags/2.130 (added)
-
tags/2.130/css (added)
-
tags/2.130/css/fonts (added)
-
tags/2.130/css/fonts/icons (added)
-
tags/2.130/css/fonts/icons/icons.eot (added)
-
tags/2.130/css/fonts/icons/icons.svg (added)
-
tags/2.130/css/fonts/icons/icons.ttf (added)
-
tags/2.130/css/fonts/icons/icons.woff (added)
-
tags/2.130/css/fonts/icons/icons.woff2 (added)
-
tags/2.130/css/images (added)
-
tags/2.130/css/images/ui-icons_444444_256x240.png (added)
-
tags/2.130/css/images/ui-icons_555555_256x240.png (added)
-
tags/2.130/css/images/ui-icons_777620_256x240.png (added)
-
tags/2.130/css/images/ui-icons_777777_256x240.png (added)
-
tags/2.130/css/images/ui-icons_cc0000_256x240.png (added)
-
tags/2.130/css/images/ui-icons_ffffff_256x240.png (added)
-
tags/2.130/css/jquery-ui.min.css (added)
-
tags/2.130/css/spbc-admin.min.css (added)
-
tags/2.130/css/spbc-dashboard-widget.min.css (added)
-
tags/2.130/css/spbc-icons.min.css (added)
-
tags/2.130/css/spbc-public.min.css (added)
-
tags/2.130/css/spbc-settings.min.css (added)
-
tags/2.130/css/spbc-table.min.css (added)
-
tags/2.130/i18n (added)
-
tags/2.130/i18n/security-malware-firewall-ru_RU.mo (added)
-
tags/2.130/i18n/security-malware-firewall-ru_RU.po (added)
-
tags/2.130/i18n/security-malware-firewall.pot (added)
-
tags/2.130/images (added)
-
tags/2.130/images/att_triangle.png (added)
-
tags/2.130/images/logo.png (added)
-
tags/2.130/images/logo_small.png (added)
-
tags/2.130/images/logo_small_gray.png (added)
-
tags/2.130/images/new_window.gif (added)
-
tags/2.130/images/no.png (added)
-
tags/2.130/images/no_gray.png (added)
-
tags/2.130/images/pbar-ani.gif (added)
-
tags/2.130/images/preloader.gif (added)
-
tags/2.130/images/preloader2.gif (added)
-
tags/2.130/images/spbct-safe-extension.png (added)
-
tags/2.130/images/yes.png (added)
-
tags/2.130/images/yes_gray.png (added)
-
tags/2.130/inc (added)
-
tags/2.130/inc/admin-bar.php (added)
-
tags/2.130/inc/admin-templates (added)
-
tags/2.130/inc/admin-templates/field-templates (added)
-
tags/2.130/inc/admin-templates/field-templates/checkbox.php (added)
-
tags/2.130/inc/admin-templates/field-templates/hidden.php (added)
-
tags/2.130/inc/admin-templates/field-templates/number.php (added)
-
tags/2.130/inc/admin-templates/field-templates/radio.php (added)
-
tags/2.130/inc/admin-templates/field-templates/select.php (added)
-
tags/2.130/inc/admin-templates/field-templates/text.php (added)
-
tags/2.130/inc/admin-templates/field-templates/textarea.php (added)
-
tags/2.130/inc/admin-templates/field-templates/time.php (added)
-
tags/2.130/inc/fw-update.php (added)
-
tags/2.130/inc/spbc-admin.php (added)
-
tags/2.130/inc/spbc-auth.php (added)
-
tags/2.130/inc/spbc-backups.php (added)
-
tags/2.130/inc/spbc-pluggable.php (added)
-
tags/2.130/inc/spbc-scanner.php (added)
-
tags/2.130/inc/spbc-settings.php (added)
-
tags/2.130/inc/spbc-tools.php (added)
-
tags/2.130/install (added)
-
tags/2.130/install/security-malware-firewall-mu.php (added)
-
tags/2.130/js (added)
-
tags/2.130/js/cleantalk-modal.min.js (added)
-
tags/2.130/js/cleantalk-modal.min.js.map (added)
-
tags/2.130/js/jquery-ui.min.js (added)
-
tags/2.130/js/lib (added)
-
tags/2.130/js/lib/chart (added)
-
tags/2.130/js/lib/chart/spbc-dashboard-widget--chartjs.min.js (added)
-
tags/2.130/js/lib/highlight (added)
-
tags/2.130/js/lib/highlight/DIGESTS.md (added)
-
tags/2.130/js/lib/highlight/es (added)
-
tags/2.130/js/lib/highlight/es/core.js (added)
-
tags/2.130/js/lib/highlight/es/core.min.js (added)
-
tags/2.130/js/lib/highlight/es/highlight.js (added)
-
tags/2.130/js/lib/highlight/es/languages (added)
-
tags/2.130/js/lib/highlight/es/languages/1c.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/abnf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/accesslog.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/actionscript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ada.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/angelscript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/apache.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/applescript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/arcade.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/arduino.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/armasm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/asciidoc.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/aspectj.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/autohotkey.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/autoit.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/avrasm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/awk.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/axapta.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/bash.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/basic.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/bnf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/brainfuck.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/c.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/cal.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/capnproto.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ceylon.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/clean.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/clojure-repl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/clojure.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/cmake.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/coffeescript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/coq.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/cos.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/cpp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/crmsh.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/crystal.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/csharp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/csp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/css.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/d.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dart.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/delphi.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/diff.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/django.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dns.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dockerfile.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dos.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dsconfig.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dts.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/dust.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ebnf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/elixir.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/elm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/erb.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/erlang-repl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/erlang.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/excel.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/fix.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/flix.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/fortran.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/fsharp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gams.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gauss.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gcode.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gherkin.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/glsl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/go.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/golo.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/gradle.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/graphql.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/groovy.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/haml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/handlebars.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/haskell.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/haxe.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/hsp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/http.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/hy.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/inform7.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ini.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/irpf90.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/isbl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/java.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/javascript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/jboss-cli.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/json.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/julia-repl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/julia.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/kotlin.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/lasso.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/latex.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ldif.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/leaf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/less.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/lisp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/livecodeserver.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/livescript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/llvm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/lsl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/lua.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/makefile.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/markdown.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mathematica.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/matlab.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/maxima.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mel.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mercury.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mipsasm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mizar.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/mojolicious.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/monkey.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/moonscript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/n1ql.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/nestedtext.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/nginx.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/nim.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/nix.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/node-repl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/nsis.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/objectivec.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ocaml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/openscad.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/oxygene.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/parser3.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/perl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/pf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/pgsql.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/php-template.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/php.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/plaintext.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/pony.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/powershell.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/processing.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/profile.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/prolog.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/properties.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/protobuf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/puppet.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/purebasic.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/python-repl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/python.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/q.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/qml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/r.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/reasonml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/rib.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/roboconf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/routeros.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/rsl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ruby.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/ruleslanguage.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/rust.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/sas.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/scala.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/scheme.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/scilab.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/scss.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/shell.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/smali.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/smalltalk.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/sml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/sqf.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/sql.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/stan.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/stata.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/step21.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/stylus.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/subunit.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/swift.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/taggerscript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/tap.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/tcl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/thrift.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/tp.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/twig.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/typescript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vala.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vbnet.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vbscript-html.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vbscript.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/verilog.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vhdl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/vim.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/wasm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/wren.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/x86asm.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/xl.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/xml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/xquery.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/yaml.min.js (added)
-
tags/2.130/js/lib/highlight/es/languages/zephir.min.js (added)
-
tags/2.130/js/lib/highlight/highlight.js (added)
-
tags/2.130/js/lib/highlight/highlight.min.js (added)
-
tags/2.130/js/lib/highlight/languages (added)
-
tags/2.130/js/lib/highlight/languages/1c.min.js (added)
-
tags/2.130/js/lib/highlight/languages/abnf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/accesslog.min.js (added)
-
tags/2.130/js/lib/highlight/languages/actionscript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ada.min.js (added)
-
tags/2.130/js/lib/highlight/languages/angelscript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/apache.min.js (added)
-
tags/2.130/js/lib/highlight/languages/applescript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/arcade.min.js (added)
-
tags/2.130/js/lib/highlight/languages/arduino.min.js (added)
-
tags/2.130/js/lib/highlight/languages/armasm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/asciidoc.min.js (added)
-
tags/2.130/js/lib/highlight/languages/aspectj.min.js (added)
-
tags/2.130/js/lib/highlight/languages/autohotkey.min.js (added)
-
tags/2.130/js/lib/highlight/languages/autoit.min.js (added)
-
tags/2.130/js/lib/highlight/languages/avrasm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/awk.min.js (added)
-
tags/2.130/js/lib/highlight/languages/axapta.min.js (added)
-
tags/2.130/js/lib/highlight/languages/bash.min.js (added)
-
tags/2.130/js/lib/highlight/languages/basic.min.js (added)
-
tags/2.130/js/lib/highlight/languages/bnf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/brainfuck.min.js (added)
-
tags/2.130/js/lib/highlight/languages/c.min.js (added)
-
tags/2.130/js/lib/highlight/languages/cal.min.js (added)
-
tags/2.130/js/lib/highlight/languages/capnproto.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ceylon.min.js (added)
-
tags/2.130/js/lib/highlight/languages/clean.min.js (added)
-
tags/2.130/js/lib/highlight/languages/clojure-repl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/clojure.min.js (added)
-
tags/2.130/js/lib/highlight/languages/cmake.min.js (added)
-
tags/2.130/js/lib/highlight/languages/coffeescript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/coq.min.js (added)
-
tags/2.130/js/lib/highlight/languages/cos.min.js (added)
-
tags/2.130/js/lib/highlight/languages/cpp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/crmsh.min.js (added)
-
tags/2.130/js/lib/highlight/languages/crystal.min.js (added)
-
tags/2.130/js/lib/highlight/languages/csharp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/csp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/css.min.js (added)
-
tags/2.130/js/lib/highlight/languages/d.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dart.min.js (added)
-
tags/2.130/js/lib/highlight/languages/delphi.min.js (added)
-
tags/2.130/js/lib/highlight/languages/diff.min.js (added)
-
tags/2.130/js/lib/highlight/languages/django.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dns.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dockerfile.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dos.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dsconfig.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dts.min.js (added)
-
tags/2.130/js/lib/highlight/languages/dust.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ebnf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/elixir.min.js (added)
-
tags/2.130/js/lib/highlight/languages/elm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/erb.min.js (added)
-
tags/2.130/js/lib/highlight/languages/erlang-repl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/erlang.min.js (added)
-
tags/2.130/js/lib/highlight/languages/excel.min.js (added)
-
tags/2.130/js/lib/highlight/languages/fix.min.js (added)
-
tags/2.130/js/lib/highlight/languages/flix.min.js (added)
-
tags/2.130/js/lib/highlight/languages/fortran.min.js (added)
-
tags/2.130/js/lib/highlight/languages/fsharp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gams.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gauss.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gcode.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gherkin.min.js (added)
-
tags/2.130/js/lib/highlight/languages/glsl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/go.min.js (added)
-
tags/2.130/js/lib/highlight/languages/golo.min.js (added)
-
tags/2.130/js/lib/highlight/languages/gradle.min.js (added)
-
tags/2.130/js/lib/highlight/languages/graphql.min.js (added)
-
tags/2.130/js/lib/highlight/languages/groovy.min.js (added)
-
tags/2.130/js/lib/highlight/languages/haml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/handlebars.min.js (added)
-
tags/2.130/js/lib/highlight/languages/haskell.min.js (added)
-
tags/2.130/js/lib/highlight/languages/haxe.min.js (added)
-
tags/2.130/js/lib/highlight/languages/hsp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/http.min.js (added)
-
tags/2.130/js/lib/highlight/languages/hy.min.js (added)
-
tags/2.130/js/lib/highlight/languages/inform7.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ini.min.js (added)
-
tags/2.130/js/lib/highlight/languages/irpf90.min.js (added)
-
tags/2.130/js/lib/highlight/languages/isbl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/java.min.js (added)
-
tags/2.130/js/lib/highlight/languages/javascript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/jboss-cli.min.js (added)
-
tags/2.130/js/lib/highlight/languages/json.min.js (added)
-
tags/2.130/js/lib/highlight/languages/julia-repl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/julia.min.js (added)
-
tags/2.130/js/lib/highlight/languages/kotlin.min.js (added)
-
tags/2.130/js/lib/highlight/languages/lasso.min.js (added)
-
tags/2.130/js/lib/highlight/languages/latex.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ldif.min.js (added)
-
tags/2.130/js/lib/highlight/languages/leaf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/less.min.js (added)
-
tags/2.130/js/lib/highlight/languages/lisp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/livecodeserver.min.js (added)
-
tags/2.130/js/lib/highlight/languages/livescript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/llvm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/lsl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/lua.min.js (added)
-
tags/2.130/js/lib/highlight/languages/makefile.min.js (added)
-
tags/2.130/js/lib/highlight/languages/markdown.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mathematica.min.js (added)
-
tags/2.130/js/lib/highlight/languages/matlab.min.js (added)
-
tags/2.130/js/lib/highlight/languages/maxima.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mel.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mercury.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mipsasm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mizar.min.js (added)
-
tags/2.130/js/lib/highlight/languages/mojolicious.min.js (added)
-
tags/2.130/js/lib/highlight/languages/monkey.min.js (added)
-
tags/2.130/js/lib/highlight/languages/moonscript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/n1ql.min.js (added)
-
tags/2.130/js/lib/highlight/languages/nestedtext.min.js (added)
-
tags/2.130/js/lib/highlight/languages/nginx.min.js (added)
-
tags/2.130/js/lib/highlight/languages/nim.min.js (added)
-
tags/2.130/js/lib/highlight/languages/nix.min.js (added)
-
tags/2.130/js/lib/highlight/languages/node-repl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/nsis.min.js (added)
-
tags/2.130/js/lib/highlight/languages/objectivec.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ocaml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/openscad.min.js (added)
-
tags/2.130/js/lib/highlight/languages/oxygene.min.js (added)
-
tags/2.130/js/lib/highlight/languages/parser3.min.js (added)
-
tags/2.130/js/lib/highlight/languages/perl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/pf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/pgsql.min.js (added)
-
tags/2.130/js/lib/highlight/languages/php-template.min.js (added)
-
tags/2.130/js/lib/highlight/languages/php.min.js (added)
-
tags/2.130/js/lib/highlight/languages/plaintext.min.js (added)
-
tags/2.130/js/lib/highlight/languages/pony.min.js (added)
-
tags/2.130/js/lib/highlight/languages/powershell.min.js (added)
-
tags/2.130/js/lib/highlight/languages/processing.min.js (added)
-
tags/2.130/js/lib/highlight/languages/profile.min.js (added)
-
tags/2.130/js/lib/highlight/languages/prolog.min.js (added)
-
tags/2.130/js/lib/highlight/languages/properties.min.js (added)
-
tags/2.130/js/lib/highlight/languages/protobuf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/puppet.min.js (added)
-
tags/2.130/js/lib/highlight/languages/purebasic.min.js (added)
-
tags/2.130/js/lib/highlight/languages/python-repl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/python.min.js (added)
-
tags/2.130/js/lib/highlight/languages/q.min.js (added)
-
tags/2.130/js/lib/highlight/languages/qml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/r.min.js (added)
-
tags/2.130/js/lib/highlight/languages/reasonml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/rib.min.js (added)
-
tags/2.130/js/lib/highlight/languages/roboconf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/routeros.min.js (added)
-
tags/2.130/js/lib/highlight/languages/rsl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ruby.min.js (added)
-
tags/2.130/js/lib/highlight/languages/ruleslanguage.min.js (added)
-
tags/2.130/js/lib/highlight/languages/rust.min.js (added)
-
tags/2.130/js/lib/highlight/languages/sas.min.js (added)
-
tags/2.130/js/lib/highlight/languages/scala.min.js (added)
-
tags/2.130/js/lib/highlight/languages/scheme.min.js (added)
-
tags/2.130/js/lib/highlight/languages/scilab.min.js (added)
-
tags/2.130/js/lib/highlight/languages/scss.min.js (added)
-
tags/2.130/js/lib/highlight/languages/shell.min.js (added)
-
tags/2.130/js/lib/highlight/languages/smali.min.js (added)
-
tags/2.130/js/lib/highlight/languages/smalltalk.min.js (added)
-
tags/2.130/js/lib/highlight/languages/sml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/sqf.min.js (added)
-
tags/2.130/js/lib/highlight/languages/sql.min.js (added)
-
tags/2.130/js/lib/highlight/languages/stan.min.js (added)
-
tags/2.130/js/lib/highlight/languages/stata.min.js (added)
-
tags/2.130/js/lib/highlight/languages/step21.min.js (added)
-
tags/2.130/js/lib/highlight/languages/stylus.min.js (added)
-
tags/2.130/js/lib/highlight/languages/subunit.min.js (added)
-
tags/2.130/js/lib/highlight/languages/swift.min.js (added)
-
tags/2.130/js/lib/highlight/languages/taggerscript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/tap.min.js (added)
-
tags/2.130/js/lib/highlight/languages/tcl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/thrift.min.js (added)
-
tags/2.130/js/lib/highlight/languages/tp.min.js (added)
-
tags/2.130/js/lib/highlight/languages/twig.min.js (added)
-
tags/2.130/js/lib/highlight/languages/typescript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vala.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vbnet.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vbscript-html.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vbscript.min.js (added)
-
tags/2.130/js/lib/highlight/languages/verilog.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vhdl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/vim.min.js (added)
-
tags/2.130/js/lib/highlight/languages/wasm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/wren.min.js (added)
-
tags/2.130/js/lib/highlight/languages/x86asm.min.js (added)
-
tags/2.130/js/lib/highlight/languages/xl.min.js (added)
-
tags/2.130/js/lib/highlight/languages/xml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/xquery.min.js (added)
-
tags/2.130/js/lib/highlight/languages/yaml.min.js (added)
-
tags/2.130/js/lib/highlight/languages/zephir.min.js (added)
-
tags/2.130/js/lib/highlight/styles (added)
-
tags/2.130/js/lib/highlight/styles/a11y-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/a11y-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/agate.min.css (added)
-
tags/2.130/js/lib/highlight/styles/an-old-hope.min.css (added)
-
tags/2.130/js/lib/highlight/styles/androidstudio.min.css (added)
-
tags/2.130/js/lib/highlight/styles/arduino-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/arta.min.css (added)
-
tags/2.130/js/lib/highlight/styles/ascetic.min.css (added)
-
tags/2.130/js/lib/highlight/styles/atom-one-dark-reasonable.min.css (added)
-
tags/2.130/js/lib/highlight/styles/atom-one-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/atom-one-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16 (added)
-
tags/2.130/js/lib/highlight/styles/base16/3024.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/apathy.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/apprentice.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ashes.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-cave-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-cave.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-dune-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-dune.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-estuary-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-estuary.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-forest-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-forest.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-heath-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-heath.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-lakeside-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-lakeside.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-plateau-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-plateau.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-savanna-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-savanna.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-seaside-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-seaside.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-sulphurpool-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atelier-sulphurpool.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/atlas.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/bespin.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-bathory.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-burzum.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-dark-funeral.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-gorgoroth.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-immortal.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-khold.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-marduk.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-mayhem.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-nile.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal-venom.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/black-metal.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/brewer.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/bright.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/brogrammer.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/brush-trees-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/brush-trees.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/chalk.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/circus.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/classic-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/classic-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/codeschool.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/colors.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/cupcake.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/cupertino.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/danqing.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/darcula.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/dark-violet.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/darkmoss.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/darktooth.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/decaf.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/default-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/default-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/dirtysea.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/dracula.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/edge-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/edge-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/eighties.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/embers.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/equilibrium-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/equilibrium-gray-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/equilibrium-gray-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/equilibrium-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/espresso.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/eva-dim.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/eva.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/flat.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/framer.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/fruit-soda.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gigavolt.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/github.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/google-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/google-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/grayscale-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/grayscale-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/green-screen.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-dark-hard.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-dark-medium.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-dark-pale.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-dark-soft.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-light-hard.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-light-medium.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/gruvbox-light-soft.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/hardcore.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/harmonic16-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/harmonic16-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/heetch-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/heetch-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/helios.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/hopscotch.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/horizon-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/horizon-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/humanoid-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/humanoid-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ia-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ia-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/icy-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ir-black.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/isotope.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/kimber.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/london-tube.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/macintosh.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/marrakesh.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/materia.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/material-darker.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/material-lighter.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/material-palenight.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/material-vivid.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/material.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/mellow-purple.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/mexico-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/mocha.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/monokai.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/nebula.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/nord.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/nova.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ocean.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/oceanicnext.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/one-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/onedark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/outrun-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/papercolor-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/papercolor-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/paraiso.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/pasque.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/phd.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/pico.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/pop.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/porple.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/qualia.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/railscasts.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/rebecca.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ros-pine-dawn.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ros-pine-moon.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/ros-pine.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/sagelight.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/sandcastle.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/seti-ui.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/shapeshifter.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/silk-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/silk-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/snazzy.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/solar-flare-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/solar-flare.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/solarized-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/solarized-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/spacemacs.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/summercamp.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/summerfruit-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/summerfruit-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/synth-midnight-terminal-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/synth-midnight-terminal-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/tango.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/tender.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/tomorrow-night.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/tomorrow.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/twilight.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/unikitty-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/unikitty-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/vulcan.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-10-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-10.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-95-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-95.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-high-contrast-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-high-contrast.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-nt-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/windows-nt.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/woodland.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/xcode-dusk.min.css (added)
-
tags/2.130/js/lib/highlight/styles/base16/zenburn.min.css (added)
-
tags/2.130/js/lib/highlight/styles/brown-paper.min.css (added)
-
tags/2.130/js/lib/highlight/styles/brown-papersq.png (added)
-
tags/2.130/js/lib/highlight/styles/codepen-embed.min.css (added)
-
tags/2.130/js/lib/highlight/styles/color-brewer.min.css (added)
-
tags/2.130/js/lib/highlight/styles/dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/default.min.css (added)
-
tags/2.130/js/lib/highlight/styles/devibeans.min.css (added)
-
tags/2.130/js/lib/highlight/styles/docco.min.css (added)
-
tags/2.130/js/lib/highlight/styles/far.min.css (added)
-
tags/2.130/js/lib/highlight/styles/felipec.min.css (added)
-
tags/2.130/js/lib/highlight/styles/foundation.min.css (added)
-
tags/2.130/js/lib/highlight/styles/github-dark-dimmed.min.css (added)
-
tags/2.130/js/lib/highlight/styles/github-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/github.min.css (added)
-
tags/2.130/js/lib/highlight/styles/gml.min.css (added)
-
tags/2.130/js/lib/highlight/styles/googlecode.min.css (added)
-
tags/2.130/js/lib/highlight/styles/gradient-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/gradient-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/grayscale.min.css (added)
-
tags/2.130/js/lib/highlight/styles/hybrid.min.css (added)
-
tags/2.130/js/lib/highlight/styles/idea.min.css (added)
-
tags/2.130/js/lib/highlight/styles/intellij-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/ir-black.min.css (added)
-
tags/2.130/js/lib/highlight/styles/isbl-editor-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/isbl-editor-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/kimbie-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/kimbie-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/lightfair.min.css (added)
-
tags/2.130/js/lib/highlight/styles/lioshi.min.css (added)
-
tags/2.130/js/lib/highlight/styles/magula.min.css (added)
-
tags/2.130/js/lib/highlight/styles/mono-blue.min.css (added)
-
tags/2.130/js/lib/highlight/styles/monokai-sublime.min.css (added)
-
tags/2.130/js/lib/highlight/styles/monokai.min.css (added)
-
tags/2.130/js/lib/highlight/styles/night-owl.min.css (added)
-
tags/2.130/js/lib/highlight/styles/nnfx-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/nnfx-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/nord.min.css (added)
-
tags/2.130/js/lib/highlight/styles/obsidian.min.css (added)
-
tags/2.130/js/lib/highlight/styles/panda-syntax-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/panda-syntax-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/paraiso-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/paraiso-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/pojoaque.jpg (added)
-
tags/2.130/js/lib/highlight/styles/pojoaque.min.css (added)
-
tags/2.130/js/lib/highlight/styles/purebasic.min.css (added)
-
tags/2.130/js/lib/highlight/styles/qtcreator-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/qtcreator-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/rainbow.min.css (added)
-
tags/2.130/js/lib/highlight/styles/routeros.min.css (added)
-
tags/2.130/js/lib/highlight/styles/school-book.min.css (added)
-
tags/2.130/js/lib/highlight/styles/shades-of-purple.min.css (added)
-
tags/2.130/js/lib/highlight/styles/srcery.min.css (added)
-
tags/2.130/js/lib/highlight/styles/stackoverflow-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/stackoverflow-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/sunburst.min.css (added)
-
tags/2.130/js/lib/highlight/styles/tokyo-night-dark.min.css (added)
-
tags/2.130/js/lib/highlight/styles/tokyo-night-light.min.css (added)
-
tags/2.130/js/lib/highlight/styles/tomorrow-night-blue.min.css (added)
-
tags/2.130/js/lib/highlight/styles/tomorrow-night-bright.min.css (added)
-
tags/2.130/js/lib/highlight/styles/vs.min.css (added)
-
tags/2.130/js/lib/highlight/styles/vs2015.min.css (added)
-
tags/2.130/js/lib/highlight/styles/xcode.min.css (added)
-
tags/2.130/js/lib/highlight/styles/xt256.min.css (added)
-
tags/2.130/js/lib/remodal (added)
-
tags/2.130/js/lib/remodal/remodal-default-theme.css (added)
-
tags/2.130/js/lib/remodal/remodal.css (added)
-
tags/2.130/js/lib/remodal/remodal.js (added)
-
tags/2.130/js/lib/remodal/remodal.min.js (added)
-
tags/2.130/js/spbc-admin.min.js (added)
-
tags/2.130/js/spbc-admin.min.js.map (added)
-
tags/2.130/js/spbc-common.min.js (added)
-
tags/2.130/js/spbc-common.min.js.map (added)
-
tags/2.130/js/spbc-cookie.min.js (added)
-
tags/2.130/js/spbc-cookie.min.js.map (added)
-
tags/2.130/js/spbc-dashboard-widget.min.js (added)
-
tags/2.130/js/spbc-dashboard-widget.min.js.map (added)
-
tags/2.130/js/spbc-modal.min.js (added)
-
tags/2.130/js/spbc-modal.min.js.map (added)
-
tags/2.130/js/spbc-scanner-plugin.min.js (added)
-
tags/2.130/js/spbc-scanner-plugin.min.js.map (added)
-
tags/2.130/js/spbc-settings.min.js (added)
-
tags/2.130/js/spbc-settings.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--backups.min.js (added)
-
tags/2.130/js/spbc-settings_tab--backups.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--scanner.min.js (added)
-
tags/2.130/js/spbc-settings_tab--scanner.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--security_log.min.js (added)
-
tags/2.130/js/spbc-settings_tab--security_log.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--settings_general.min.js (added)
-
tags/2.130/js/spbc-settings_tab--settings_general.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--summary.min.js (added)
-
tags/2.130/js/spbc-settings_tab--summary.min.js.map (added)
-
tags/2.130/js/spbc-settings_tab--traffic_control.min.js (added)
-
tags/2.130/js/spbc-settings_tab--traffic_control.min.js.map (added)
-
tags/2.130/js/spbc-table.min.js (added)
-
tags/2.130/js/spbc-table.min.js.map (added)
-
tags/2.130/js/spbc-upload.min.js (added)
-
tags/2.130/js/spbc-upload.min.js.map (added)
-
tags/2.130/lib (added)
-
tags/2.130/lib/CleantalkSP (added)
-
tags/2.130/lib/CleantalkSP/Common (added)
-
tags/2.130/lib/CleantalkSP/Common/API.php (added)
-
tags/2.130/lib/CleantalkSP/Common/CleantalkTools.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Counter.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Cron.php (added)
-
tags/2.130/lib/CleantalkSP/Common/DB (added)
-
tags/2.130/lib/CleantalkSP/Common/DB.php (added)
-
tags/2.130/lib/CleantalkSP/Common/DB/SQLSchema.php (added)
-
tags/2.130/lib/CleantalkSP/Common/DNS.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Escape.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Analyzer (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Analyzer/Analyzer.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Controller.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Logger.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Repository (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Repository/FileRepository.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Repository/Repository.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Scan (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Scan/Scan.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Service.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Storage (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Storage/FileStorage.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Storage/Storage.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Storage/data (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/Storage/data/index.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/View (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/View/Phrases.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/View/View.php (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/assets (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/assets/fswatcher-logic.js (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/assets/fswatcher.js (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/logs (added)
-
tags/2.130/lib/CleantalkSP/Common/FSWatcher/logs/index.php (added)
-
tags/2.130/lib/CleantalkSP/Common/HTTP (added)
-
tags/2.130/lib/CleantalkSP/Common/HTTP/Request.php (added)
-
tags/2.130/lib/CleantalkSP/Common/HTTP/Response.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/Arr.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/CSV.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/Data.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/HTTP.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/Helper.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Helpers/IP.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Queue.php (added)
-
tags/2.130/lib/CleantalkSP/Common/RemoteCalls.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Sanitize.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Controller.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/DataStructures (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/DataStructures/ExtendedSplFixedArray.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/DataStructures/Token.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Exceptions (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Exceptions/HeuristicScannerException.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/HeuristicAnalyser.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/LICENSE.md (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/CodeStyle.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Entropy.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Evaluations.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/FunctionsDecryptorService.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/HTML.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Includes.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Mathematics.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/SQLs.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Simplifier.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Strings.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Tokens.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Transformations.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Variables.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Structures (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Structures/FileInfo.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Structures/TokenGroups.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Structures/Verdict.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/data (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/data/characters.json (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/data/encoder.json (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/data/vocab.bpe (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/src (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/src/Encoder.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Controller.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Exceptions (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Exceptions/SignaturesScannerException.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/LICENSE.md (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Structures (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Structures/FileInfo.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/Structures/Verdict.php (added)
-
tags/2.130/lib/CleantalkSP/Common/State.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Transaction.php (added)
-
tags/2.130/lib/CleantalkSP/Common/Validate.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/Fpdf.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/Pdf.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/courier.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/courierb.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/courierbi.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/courieri.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/helvetica.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/helveticab.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/helveticabi.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/helveticai.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/symbol.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/times.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/timesb.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/timesbi.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/timesi.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/font/zapfdingbats.php (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/img (added)
-
tags/2.130/lib/CleantalkSP/Fpdf/img/logo.png (added)
-
tags/2.130/lib/CleantalkSP/Monitoring (added)
-
tags/2.130/lib/CleantalkSP/Monitoring/User.php (added)
-
tags/2.130/lib/CleantalkSP/Security (added)
-
tags/2.130/lib/CleantalkSP/Security/Firewall (added)
-
tags/2.130/lib/CleantalkSP/Security/Firewall.php (added)
-
tags/2.130/lib/CleantalkSP/Security/Firewall/FirewallModule.php (added)
-
tags/2.130/lib/CleantalkSP/Security/Firewall/FirewallModuleAbstract.php (added)
-
tags/2.130/lib/CleantalkSP/Security/Firewall/Result.php (added)
-
tags/2.130/lib/CleantalkSP/Security/RenameLoginPage.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/API.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Activator.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners/AdminBannerAbstract.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners/AdminBannerRenew.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners/AdminBannerReview.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners/AdminBannerTrial.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBanners/AdminBannerWrongKey.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/AdminBannersModule/AdminBannersHandler.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/CleantalkSettingsTemplates.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Counters (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Counters/FirewallCounter.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Counters/SecurityCounter.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Cron.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/ColumnCreator.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/ColumnsAnalyzer.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/DbDataConverter.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/ObjectForOptionsInterface.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/SQLSchema.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/TablesAnalyzer.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DB/TablesCreator.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DTO (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/DTO/MScanFilesDTO.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Deactivator.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Escape.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Analyzer (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Analyzer/SpbctWpFSWAnalyzer.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Repository (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Repository/SpbctWpFSWFileRepository.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Scan (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Scan/SpbctWpFSWScan.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/SpbctWpFSWController.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/SpbctWpFSWService.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Storage (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/Storage/SpbctWpFSWFileStorage.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/View (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/View/Phrases.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/FSWatcher/View/View.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/BFP.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/FW.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/FirewallModule.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/TC.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/UploadChecker.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/WAF.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/WafBlocker.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/die_page_bfp.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/die_page_fw.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/die_page_tc.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/die_page_uploadchecker.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Firewall/die_page_waf.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/G2FA (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/G2FA/FixedBitNotation.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/G2FA/GoogleAuthenticator.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/HTTP (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/HTTP/CDNHeadersChecker.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/HTTP/Request.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/Arr.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/CSV.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/Data.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/HTTP.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/Helper.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Helpers/IP.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/ListTable.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Queue.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/RemoteCalls.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/RenameLoginPage.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/RestController.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Sanitize.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Controller.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Cure.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/CureLog (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/CureLog/CureLog.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/CureLog/CureLogRecord.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/DirectoryScan.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileInfoExtended.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule/File.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule/FileMonitoringEntry.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule/FileMonitoringHelper.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule/FileMonitoringRepository.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FileMonitoringModule/FileMonitoringTabData.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Frontend (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Frontend.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Frontend/ModuleResult.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/FrontendScan.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Helper.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Links.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanResultsRepository.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScannerQueue.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningLog (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningLog/Repository.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningLog/ScanningLogFacade.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningLog/Template.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/ScannerFileStatuses.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/ScanningStagesStorage.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/AutoCure.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/FileMonitoring.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/FileSystemAnalysis.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/FrontendAnalysis.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/GetApprovedHashes.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/GetCmsHashes.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/GetDeniedHashes.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/GetModulesHashes.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/HeuristicAnalysis.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/OutboundLinks.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/ScanningStageAbstract.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/ScheduleSendHeuristicSuspiciousFiles.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/ScanningStagesModule/Stages/SignatureAnalysis.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Stages (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Stages/SignatureAnalysis (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Stages/SignatureAnalysis/Repository.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Stages/SignatureAnalysis/SignatureAnalysisFacade.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/Surface.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/UnsafePermissionsModule (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/UnsafePermissionsModule/UnsafePermissionFunctions.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/UnsafePermissionsModule/UnsafePermissionsContainer.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Scanner/UnsafePermissionsModule/UnsafePermissionsHandler.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/State.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Transaction.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Upgrader.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Validate.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Variables (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Variables/AltSessions.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/Variables/Cookie.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Dto (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Dto/ApiResults.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Dto/ItemReport.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Dto/PluginReport.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Dto/ThemeReport.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Exceptions (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/Exceptions/VulnerabilityAlarmServiceException.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/ResearchApi.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/View (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/View/PluginIsSafeBadge.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/View/PluginListAlarmLayout.html (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarm.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php (added)
-
tags/2.130/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmView.php (added)
-
tags/2.130/lib/CleantalkSP/Templates (added)
-
tags/2.130/lib/CleantalkSP/Templates/DTO.php (added)
-
tags/2.130/lib/CleantalkSP/Templates/Multiton.php (added)
-
tags/2.130/lib/CleantalkSP/Templates/Singleton.php (added)
-
tags/2.130/lib/CleantalkSP/Updater (added)
-
tags/2.130/lib/CleantalkSP/Updater/Updater.php (added)
-
tags/2.130/lib/CleantalkSP/Updater/UpdaterScripts.php (added)
-
tags/2.130/lib/CleantalkSP/Variables (added)
-
tags/2.130/lib/CleantalkSP/Variables/Cookie.php (added)
-
tags/2.130/lib/CleantalkSP/Variables/Get.php (added)
-
tags/2.130/lib/CleantalkSP/Variables/Post.php (added)
-
tags/2.130/lib/CleantalkSP/Variables/Request.php (added)
-
tags/2.130/lib/CleantalkSP/Variables/Server.php (added)
-
tags/2.130/lib/CleantalkSP/Variables/ServerVariables.php (added)
-
tags/2.130/lib/autoloader.php (added)
-
tags/2.130/lib/spbc-php-patch.php (added)
-
tags/2.130/readme.txt (added)
-
tags/2.130/security-malware-firewall.php (added)
-
tags/2.130/templates (added)
-
tags/2.130/templates/spbc_send_daily_report.php (added)
-
tags/2.130/templates/spbc_settings_main.php (added)
-
trunk/inc/admin-templates/field-templates/time.php (modified) (1 diff)
-
trunk/inc/spbc-admin.php (modified) (2 diffs)
-
trunk/inc/spbc-auth.php (modified) (2 diffs)
-
trunk/inc/spbc-scanner.php (modified) (4 diffs)
-
trunk/inc/spbc-settings.php (modified) (7 diffs)
-
trunk/inc/spbc-tools.php (modified) (2 diffs)
-
trunk/js/lib/highlight/LICENSE (deleted)
-
trunk/js/lib/highlight/README.md (deleted)
-
trunk/js/lib/highlight/es/package.json (deleted)
-
trunk/js/lib/highlight/package.json (deleted)
-
trunk/js/spbc-table.min.js (modified) (1 diff)
-
trunk/js/spbc-table.min.js.map (modified) (1 diff)
-
trunk/lib/CleantalkSP/Common/Helpers/composer.json (deleted)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Controller.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/HeuristicAnalyser.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Mathematics.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/README.md (deleted)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/LICENSE (deleted)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/README.md (deleted)
-
trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Vendors/TiktokenPhp/composer.json (deleted)
-
trunk/lib/CleantalkSP/Common/Scanner/SignaturesAnalyser/README.md (deleted)
-
trunk/lib/CleantalkSP/SpbctWP/Activator.php (modified) (2 diffs)
-
trunk/lib/CleantalkSP/SpbctWP/Firewall/UploadChecker.php (modified) (5 diffs)
-
trunk/lib/CleantalkSP/SpbctWP/ListTable.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/SpbctWP/Scanner/DirectoryScan.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/SpbctWP/Scanner/FileInfoExtended.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/SpbctWP/Scanner/Frontend.php (modified) (4 diffs)
-
trunk/lib/CleantalkSP/SpbctWP/Scanner/ScannerQueue.php (modified) (4 diffs)
-
trunk/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/README.md (deleted)
-
trunk/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php (modified) (1 diff)
-
trunk/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmView.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/security-malware-firewall.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
security-malware-firewall/trunk/inc/admin-templates/field-templates/time.php
r2933306 r3049762 10 10 . ($data['required'] ? ' required="required"' : '') 11 11 . '>'; 12 echo '<input type = "hidden" id = "user_timezone" name = "user_timezone" value = "">'; -
security-malware-firewall/trunk/inc/spbc-admin.php
r3041922 r3049762 1 1 <?php 2 2 3 use CleantalkSP\SpbctWP\Cron; 3 4 use CleantalkSP\SpbctWP\Scanner\Cure; 4 5 use CleantalkSP\SpbctWP\Escape; … … 230 231 } 231 232 return $res; 233 } 234 235 add_filter('upgrader_post_install', 'spbc_plugin_install__run_vulnerability_check_cron', 999, 3); 236 237 /** 238 * Hook wrapper for upgrader_post_install. Run Vulnerability request to research.cleantalk.org to fill the vulnerabilities database 239 * when a plugin installation performed. 240 * @param $response 241 * @param $hook_extra 242 * @param $result 243 * @return void 244 * @psalm-suppress UnusedParam 245 */ 246 function spbc_plugin_install__run_vulnerability_check_cron($response, $hook_extra, $result) 247 { 248 if ( 249 isset($hook_extra, $hook_extra['type'], $hook_extra['action']) && 250 $hook_extra['type'] === 'plugin' && 251 $hook_extra['action'] === 'install' 252 ) { 253 Cron::updateTask('check_vulnerabilities', 'spbc_security_check_vulnerabilities', 86400, time() + 30); 254 } 232 255 } 233 256 -
security-malware-firewall/trunk/inc/spbc-auth.php
r3028558 r3049762 346 346 $brand_name = $spbc->data['wl_brandname']; 347 347 $support_link = $spbc->data['wl_support_url']; 348 $code_lifetime = round(SPBC_2FA_KEY_TTL / 60, 0, PHP_ROUND_HALF_DOWN); 348 349 349 350 wp_mail( … … 356 357 // Message 357 358 sprintf( 358 __('Two factor authentication code for user "%s" on "%s" website is %d' . PHP_EOL . 'Lifetime of the code is 5minutes.' . PHP_EOL . PHP_EOL . esc_html__($brand_name) . ' ' . esc_url($support_link), 'security-malware-firewall'),359 __('Two factor authentication code for user "%s" on "%s" website is %d' . PHP_EOL . 'Lifetime of the code is %d minutes.' . PHP_EOL . PHP_EOL . esc_html__($brand_name) . ' ' . esc_url($support_link), 'security-malware-firewall'), 359 360 $user->user_login, 360 361 parse_url(get_option('home'), PHP_URL_HOST), 361 $key 362 $key, 363 $code_lifetime 362 364 ) 363 365 ); -
security-malware-firewall/trunk/inc/spbc-scanner.php
r3041922 r3049762 192 192 global $wpdb; 193 193 $count = $wpdb->get_results( 194 'SELECT COUNT(link_id) AS cnt FROM ' . SPBC_TBL_SCAN_LINKS, 194 'SELECT COUNT(DISTINCT domain) 195 FROM ' . SPBC_TBL_SCAN_LINKS . ';', 195 196 OBJECT_K 196 197 ); … … 421 422 //Heuristic 422 423 $heuristic_scanner = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Controller(); 423 $file_to_check = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Structures\FileInfo( 424 $file_path, 425 $full_hash 426 ); 424 $file_to_check = new Scanner\FileInfoExtended(array('path' => $file_path)); 427 425 $result_heur = $heuristic_scanner->scanFile($file_to_check, $root_path); 428 426 … … 1143 1141 status <> "QUARANTINED" AND 1144 1142 status <> "APPROVED_BY_USER" AND 1145 status <> "APPROVED_BY_CT" 1143 status <> "APPROVED_BY_CT" AND 1144 status <> "OK" 1146 1145 ) 1147 1146 AND ( 1148 1147 last_sent IS NULL OR 1149 1148 pscan_status = "DANGEROUS" 1150 ) 1149 ) 1151 1150 )'; 1152 1151 break; … … 1241 1240 // Getting file && API call 1242 1241 1243 $previous = json_decode($file_info['previous_state'], true); 1242 $previous = is_string($file_info['previous_state']) 1243 ? json_decode($file_info['previous_state'], true) 1244 : false; 1244 1245 1245 1246 if ( ! $previous ) { -
security-malware-firewall/trunk/inc/spbc-settings.php
r3041922 r3049762 589 589 'parent' => 'scanner__auto_start_manual', 590 590 'required' => true, 591 ), 592 'scanner__auto_start_manual_tz' => array( 593 'type' => 'field', 594 'input_type' => 'hidden', 595 'value' => get_option('gmt_offset'), 591 596 ), 592 597 'scanner__outbound_links' => array( … … 1125 1130 $elem['name'] = $elem_name; 1126 1131 1127 $elem['value'] = isset($spbc->{$elem['value_source']}[ $elem_name ]) 1128 ? $spbc->{$elem['value_source']}[ $elem_name ] 1129 : 0; 1132 if ( ! isset($elem['value']) ) { 1133 $elem['value'] = isset($spbc->{$elem['value_source']}[ $elem_name ]) 1134 ? $spbc->{$elem['value_source']}[ $elem_name ] 1135 : 0; 1136 } 1130 1137 1131 1138 if (isset($elem['parent'])) { … … 1757 1764 echo '<br/>'; 1758 1765 1766 if ( is_main_site() ) { 1767 /* 1768 * Collect VA calls ro research.cleantalk.org 1769 */ 1770 //get next call from Cron 1771 $cron_task_info = SpbcCron::getTask('check_vulnerabilities'); 1772 $next_call = !empty($cron_task_info['next_call']) 1773 ? date('M d Y H:i:s', (int)($cron_task_info['next_call'] + $spbc->data['site_utc_offset_in_seconds'])) 1774 : 'unknown'; 1775 $va_next_request = sprintf('%s %s', __('next call on', 'security-malware-firewall'), $next_call); 1776 1777 //get last call from Data 1778 $last_call = !empty($spbc->data['spbc_security_check_vulnerabilities_last_call']) 1779 ? date('M d Y H:i:s', (int)($spbc->data['spbc_security_check_vulnerabilities_last_call'] + $spbc->data['site_utc_offset_in_seconds'])) 1780 : 'unknown'; 1781 $va_last_request = sprintf('%s %s', __('last call on', 'security-malware-firewall'), $last_call); 1782 1783 $va_text = __('Closest vulnerabilities check requests preformed to', 'security-malware-firewall') 1784 . ' ' 1785 . '<a href="https://research.cleantalk.org">research.cleantalk.org</a>'; 1786 1787 $va_text = sprintf('%s: %s, %s', $va_text, $va_last_request, $va_next_request); 1788 echo(Escape::escKsesPreset($va_text, 'spbc_settings__display__notifications')); 1789 } 1759 1790 1760 1791 //cdn checker data … … 2151 2182 2152 2183 // HEADER 2153 $message_about_log = sprintf( 2154 __('This table contains details of all brute-force attacks and security actions made in the past 24 hours. Number of the last records shown: %d.', 'security-malware-firewall'), 2155 SPBC_LAST_ACTIONS_TO_VIEW 2156 ); 2184 $message_about_log = __('This table contains details of all brute-force attacks and security actions made in the past 24 hours.', 'security-malware-firewall'); 2157 2185 2158 2186 if ( ! $spbc->data["wl_mode_enabled"] ) { … … 2815 2843 global $spbc; 2816 2844 2817 $accessible_urls = $spbc->scanner_listing['accessible_urls']; 2845 $accessible_urls = is_array($spbc->scanner_listing) && !empty($spbc->scanner_listing['accessible_urls']) 2846 ? $spbc->scanner_listing['accessible_urls'] 2847 : array(); 2818 2848 2819 2849 if ( … … 2838 2868 $out = array(); 2839 2869 2840 $accessible_urls = $spbc->scanner_listing['accessible_urls']; 2870 $accessible_urls = is_array($spbc->scanner_listing) && !empty($spbc->scanner_listing['accessible_urls']) 2871 ? $spbc->scanner_listing['accessible_urls'] 2872 : array(); 2841 2873 2842 2874 if ( … … 3285 3317 'html_before' => 3286 3318 sprintf(__('Links for <b>%s</b> domain.', 'security-malware-firewall'), Post::get('domain', null, 'word')) . ' ' 3287 . sprintf(__('%sSee all domains%s', 'security-malware-firewall'), '<a href=" #" onclick="spbc_scanner__switch_table(this, \'domains\');">', '</a>')3319 . sprintf(__('%sSee all domains%s', 'security-malware-firewall'), '<a href="javascript://" onclick="spbc_scanner__switch_table(this, \'outbound_links\');">', '</a>') 3288 3320 . '<br /><br />', 3289 3321 'func_data_prepare' => 'spbc_field_scanner__prepare_data__links', -
security-malware-firewall/trunk/inc/spbc-tools.php
r3041922 r3049762 496 496 $period = $settings['scanner__auto_start__set_period'] ?: $period; 497 497 498 $timezone = $settings['scanner__auto_start_manual_tz'] ?: (int) Post::get(' user_timezone');498 $timezone = $settings['scanner__auto_start_manual_tz'] ?: (int) Post::get('spbc_settings[scanner__auto_start_manual_tz]'); 499 499 500 500 $hour_minutes = $settings['scanner__auto_start_manual_time'] … … 502 502 : explode(':', (string)current_time('H:i')); 503 503 $start_time = mktime((int)$hour_minutes[0], (int)$hour_minutes[1]) - $timezone * 3600 + $period; 504 505 // Hard fix - increments one more $period if the $start_time calculated in the past 506 if ( time() > $start_time ) { 507 $start_time += $period; 508 } 504 509 505 510 return array( -
security-malware-firewall/trunk/js/spbc-table.min.js
r3022805 r3049762 1 function spbc_reload_accordion(){spbc_sendAJAXRequest({action:"spbc_scanner_tab__reload_accordion"},{notJson:!0,callback:function(t,e,a,n){jQuery(n).accordion("destroy"),jQuery(n).html(t),jQuery(n).accordion({header:"h3",heightStyle:"content",collapsible:!0,active:!1}),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen(),spbcStartShowHide()}},jQuery("#spbc_scan_accordion"))}function spbc_tbl__bulk_actions__listen(){jQuery(".tbl-bulk_actions-all--apply").off("click").on("click",function(){if(spbc_scanner.active)alert(spbcTableLocalize.scannerIsActive);else{var t=jQuery(this),a=t.siblings("select").children()[t.siblings("select").first()[0].selectedIndex].value;if(-1!==["approve","disapprove","send","check_analysis_status","approve_page","disapprove_page","cure","delete_from_analysis_log"].indexOf(a)){if(confirm(spbcTable.warning_bulk)){var e={action:"spbc_tbl-action--bulk",add_action:a,status:t.parents(".tbl-root").attr("type")};if("cure"===a){var n=t.closest("#spbc_tbl__scanner_cure_log").find(".cb-select");let a=[];n.each(function(t,e){e=jQuery(e).val();a.push(e)}),e.selectedIds=a}if("delete_from_analysis_log"===a){n=t.closest("#spbc_tbl__scanner_analysis_log").find(".cb-select");let a=[];n.each(function(t,e){e=jQuery(e).val();a.push(e)}),e.file_ids=a}n={button:this,spinner:t.children(".tbl-preloader--small"),callback:function(t){var e;spbc_reload_accordion(),"check_analysis_status"===a&&(e="<p> Analysis status updated. Total: "+t.counters.total+", updated: "+t.counters.updated+", skipped: "+t.counters.skipped+", failed: "+t.counters.failed+", queued: "+t.counters.queued+"</p>",spbcModal.open().put(e)),"send"===a&&(e="<p> Files have been sent: "+t.files_sent_counter+"</p>",spbcModal.open().put(e))},errorOutput:function(t,e){e&&(t=t+"<br>Additional information:<br>"+e),spbcModal.open().putError(t)},timeout:6e4};spbc_sendAJAXRequest(e,n)}}else alert("This action is not supported for all files yet =(")}}),jQuery(".tbl-bulk_actions--apply").off("click").on("click",function(t){if(spbc_bulk_action||confirm(spbcTable.warning_bulk)){var a=spbc_bulk_action||jQuery(this),n=(spbc_bulk_action=a).siblings("select").children()[a.siblings("select").first()[0].selectedIndex].value;if("cure"===n)spbc_scanner__cure_selected(jQuery(this));else if("delete_from_analysis_log"===n)spbc_scanner_analysis_log_delete_from_log(jQuery(this));else if("allow"===n||"ban"===n){let e="ban"===n?"deny":n;var s=a.parents(".tbl-root").find(".cb-select:checked"),s=(s&&(a.children(".tbl-preloader--small").show(),s.each(function(){var t=jQuery(this).parents("tr").find(".tbl-row_action--"+n).data("ip");spbc_sec_logs__filter_ip(t,e,!0),jQuery(this).prop("checked",!1)})),a.children(".tbl-preloader--small").hide(),"allow"===n?"Allowed":"Banned"),s="<p> Success. Selected IPs have been "+s+". Changes will be applied within 10 minutes.</p>";spbcModal.open().put(s),void setTimeout(spbc_reload_accordion,1900)}else"-1"!==n&&a.parents(".tbl-root").find(".cb-select").is(":checked")?(a.children(".tbl-preloader--small").show(),a.parents(".tbl-root").find(".cb-select:checked").first().parents("tr").find(".tbl-row_action--"+n)[0]?(a.parents(".tbl-root").find(".cb-select:checked").first().parents("tr").find(".tbl-row_action--"+n).click(),a.parents(".tbl-root").find(".cb-select:checked").first().prop("checked",!1)):(a.parents(".tbl-root").find(".cb-select:checked").first().prop("checked",!1),a.click())):(a.children(".tbl-preloader--small").hide(),spbc_bulk_action=null,"check_analysis_status"===n&&spbcModal.open().put("<p> All available files are updated.</p>"),"send"===n&&spbcModal.open().put("<p> All available files are sent.</p>"),setTimeout(spbc_reload_accordion,1900))}})}function spbc_scanner__cure_selected(e){var t=e.closest("#spbc_tbl__scanner_cure_log").find(".cb-select:checked");let a=[];0===t.length&&alert("Please, select elements."),t.each(function(t,e){e=jQuery(e).val();a.push(e)});t={action:"spbc_cure_selected",security:spbcSettings.ajax_nonce,selectedIds:a};jQuery.ajax({type:"POST",url:spbcSettings.ajaxurl,data:t,beforeSend:function(){e.closest("#spbc_tbl__scanner_cure_log").find(".tbl-button---white_blue .tbl-preloader--in_button").show()},success:function(t){e.closest("#spbc_tbl__scanner_cure_log").find(".tbl-button---white_blue .tbl-preloader--in_button").hide(),t.success?(spbcModal.open().put(t.data),document.addEventListener("spbcModalClosed",function(t){document.location.reload()})):spbcModal.open().putError(t.data)}})}function spbc_tbl__row_actions__listen(){jQuery(".tbl-row_action--ajax").off("click").on("click",function(){var t,e,a,n;console.log("spbc_tbl__row_actions__listen click"),spbc_scanner.active?alert(spbcTableLocalize.scannerIsActive):(e={action:"spbc_tbl-action--row",add_action:(t=jQuery(this)).attr("row-action"),id:t.parents(".row-actions").attr("uid"),cols:t.parents(".row-actions").attr("cols_amount"),page_url:t.parent().attr("uid"),page_id:t.parent().attr("page_id")},a={callback:spbc_tbl__row_actions__callback,errorOutput:function(t){spbcModal.open().putError(t)},spinner:t.parent().siblings(".tbl-preloader--tiny")},!spbc_bulk_action&&(n=spbcTable["warning_"+t.attr("row-action")]||spbcTable.warning_default,"copy_file_info"===e.add_action||"check_analysis_status"===e.add_action||confirm(n))&&spbc_sendAJAXRequest(e,a,t.parents("tr")),spbc_bulk_action&&spbc_sendAJAXRequest(e,a,t.parents("tr")))})}function spbc_tbl__row_actions__callback(t,e,a,n){if(t.color&&n.css({background:t.background,color:t.color}),t.html&&(n.parent().parent().parent().prepend(t.html),setTimeout(function(){n.fadeOut(300)},1500),spbc_bulk_action||setTimeout(spbc_reload_accordion,1900)),"copy_file_info"===e.add_action&&(!0===t.success&&t.data.file_info?window.prompt("Copy the file info below and send it to [email protected]: ",t.data.file_info):(c=void 0!==t.data.error?t.data.error:"Unknown copy_file_info error",spbcModal.open().putError(c))),t.temp_html){var s=n.html();if(n.html(t.temp_html),void 0!==t.updated_template){var c=t.updated_template_type,t=t.updated_template,l=jQuery(t).find(".wp-list-table tbody tr").length,i=jQuery('[aria-controls="spbc_scan_accordion_tab_'+c+'"]');if(0<i.length){var o=jQuery("#spbc_tbl__scanner_"+c);jQuery(".spbc_bad_type_count."+c+"_counter").text(l);let a=o.find(".wp-list-table tbody tr").length;o.remove(),jQuery("#spbc_scan_accordion_tab_"+c).append(t),jQuery(jQuery("#spbc_scan_accordion_tab_"+c).find(".wp-list-table tbody tr")).each(function(t,e){++t>a&&jQuery(e).css("outline","1px solid green")}),i.click()}else"analysis_log"===c&&(o='<h3 class="ui-accordion-header ui-corner-top ui-state-default ui-accordion-icons ui-accordion-header-collapsed ui-corner-all" role="tab" id="ui-id-2" aria-controls="spbc_scan_accordion_tab_analysis_log" aria-selected="false" aria-expanded="false" tabindex="-1"><span class="ui-accordion-header-icon ui-icon ui-icon-triangle-1-e"></span><a href="#">Analysis Log (<span class="spbc_bad_type_count analysis_log_counter">'+l+"</span>)</a></h3>",c='<div id="spbc_scan_accordion_tab_analysis_log" class="ui-accordion-content ui-corner-bottom ui-helper-reset ui-widget-content" aria-labelledby="ui-id-2" role="tabpanel" aria-hidden="true" style="display: none;"><p class="spbc_hint">Files sent for analysis.</p><div id="spbc_tbl__scanner_analysis_log" type="analysis_log" class="tbl-root">'+t+"</div>",jQuery("#spbc_scan_accordion_tab_critical").after(o+c),i.click())}setTimeout(function(){n.html(s).css({background:"inherit"}).find(".column-primary .row-actions .tbl-row_action--"+e.add_action).remove(),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbcStartShowHide()},5e3)}spbc_bulk_action&&spbc_bulk_action.click()}function spbc_tbl__pagination__listen(){var a={action:"spbc_tbl-pagination"},n={callback:spbc_tbl__pagination__callback,notJson:!0};jQuery(".tbl-pagination--button").on("click",function(){jQuery(this).parents(".tbl-root").find(".tbl-pagination--button").attr("disabled","disabled")}),jQuery(".tbl-pagination--go").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.siblings(".tbl-pagination--curr_page").val(),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--prev").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("prev_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--next").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("next_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--end").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("last_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--start").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=1,a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)})}function spbc_scanner__switch_table(t,e){ t=jQuery(t),console.log(t.parents(".row-actions").attr("uid")),e={action:"spbc_tbl-switch",type:e,domain:t.parents(".row-actions").attr("uid")};spbc_sendAJAXRequest(e,{callback:spbc_tbl__pagination__callback,notJson:!0},t.parents(".tbl-root"))}function spbc_tbl__pagination__callback(t,e,a,n){jQuery(n).html(t).find(".tbl-pagination--button").removeAttr("disabled"),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen(),spbcStartShowHide()}function spbc_tbl__sort__listen(){var a={callback:spbc_tbl__sort__callback,notJson:!0};jQuery(".tbl-column-sortable").on("click",function(t){var e;t.target.classList.contains("tbl-sorting_indicator")&&(e=(t=jQuery(this)).parents(".tbl-root"),t={action:"spbc_tbl-sort",order_by:t.attr("id"),order:t.attr("sort_direction"),type:e.attr("type")},spbc_sendAJAXRequest(t,a,e))})}function spbc_tbl__sort__callback(t,e,a,n){jQuery(n).html(t),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen()}function show_hide_rows(t,e){e=jQuery("."+e+"_block_"+t);e.hasClass("mob_table_active")?e.removeClass("mob_table_active"):e.addClass("mob_table_active")}spbc_bulk_action=null,jQuery(document).ready(function(){spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen()});1 function spbc_reload_accordion(){spbc_sendAJAXRequest({action:"spbc_scanner_tab__reload_accordion"},{notJson:!0,callback:function(t,e,a,n){jQuery(n).accordion("destroy"),jQuery(n).html(t),jQuery(n).accordion({header:"h3",heightStyle:"content",collapsible:!0,active:!1}),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen(),spbcStartShowHide()}},jQuery("#spbc_scan_accordion"))}function spbc_tbl__bulk_actions__listen(){jQuery(".tbl-bulk_actions-all--apply").off("click").on("click",function(){if(spbc_scanner.active)alert(spbcTableLocalize.scannerIsActive);else{var t=jQuery(this),a=t.siblings("select").children()[t.siblings("select").first()[0].selectedIndex].value;if(-1!==["approve","disapprove","send","check_analysis_status","approve_page","disapprove_page","cure","delete_from_analysis_log"].indexOf(a)){if(confirm(spbcTable.warning_bulk)){var e={action:"spbc_tbl-action--bulk",add_action:a,status:t.parents(".tbl-root").attr("type")};if("cure"===a){var n=t.closest("#spbc_tbl__scanner_cure_log").find(".cb-select");let a=[];n.each(function(t,e){e=jQuery(e).val();a.push(e)}),e.selectedIds=a}if("delete_from_analysis_log"===a){n=t.closest("#spbc_tbl__scanner_analysis_log").find(".cb-select");let a=[];n.each(function(t,e){e=jQuery(e).val();a.push(e)}),e.file_ids=a}n={button:this,spinner:t.children(".tbl-preloader--small"),callback:function(t){var e;spbc_reload_accordion(),"check_analysis_status"===a&&(e="<p> Analysis status updated. Total: "+t.counters.total+", updated: "+t.counters.updated+", skipped: "+t.counters.skipped+", failed: "+t.counters.failed+", queued: "+t.counters.queued+"</p>",spbcModal.open().put(e)),"send"===a&&(e="<p> Files have been sent: "+t.files_sent_counter+"</p>",spbcModal.open().put(e))},errorOutput:function(t,e){e&&(t=t+"<br>Additional information:<br>"+e),spbcModal.open().putError(t)},timeout:6e4};spbc_sendAJAXRequest(e,n)}}else alert("This action is not supported for all files yet =(")}}),jQuery(".tbl-bulk_actions--apply").off("click").on("click",function(t){if(spbc_bulk_action||confirm(spbcTable.warning_bulk)){var a=spbc_bulk_action||jQuery(this),n=(spbc_bulk_action=a).siblings("select").children()[a.siblings("select").first()[0].selectedIndex].value;if("cure"===n)spbc_scanner__cure_selected(jQuery(this));else if("delete_from_analysis_log"===n)spbc_scanner_analysis_log_delete_from_log(jQuery(this));else if("allow"===n||"ban"===n){let e="ban"===n?"deny":n;var s=a.parents(".tbl-root").find(".cb-select:checked"),s=(s&&(a.children(".tbl-preloader--small").show(),s.each(function(){var t=jQuery(this).parents("tr").find(".tbl-row_action--"+n).data("ip");spbc_sec_logs__filter_ip(t,e,!0),jQuery(this).prop("checked",!1)})),a.children(".tbl-preloader--small").hide(),"allow"===n?"Allowed":"Banned"),s="<p> Success. Selected IPs have been "+s+". Changes will be applied within 10 minutes.</p>";spbcModal.open().put(s),void setTimeout(spbc_reload_accordion,1900)}else"-1"!==n&&a.parents(".tbl-root").find(".cb-select").is(":checked")?(a.children(".tbl-preloader--small").show(),a.parents(".tbl-root").find(".cb-select:checked").first().parents("tr").find(".tbl-row_action--"+n)[0]?(a.parents(".tbl-root").find(".cb-select:checked").first().parents("tr").find(".tbl-row_action--"+n).click(),a.parents(".tbl-root").find(".cb-select:checked").first().prop("checked",!1)):(a.parents(".tbl-root").find(".cb-select:checked").first().prop("checked",!1),a.click())):(a.children(".tbl-preloader--small").hide(),spbc_bulk_action=null,"check_analysis_status"===n&&spbcModal.open().put("<p> All available files are updated.</p>"),"send"===n&&spbcModal.open().put("<p> All available files are sent.</p>"),setTimeout(spbc_reload_accordion,1900))}})}function spbc_scanner__cure_selected(e){var t=e.closest("#spbc_tbl__scanner_cure_log").find(".cb-select:checked");let a=[];0===t.length&&alert("Please, select elements."),t.each(function(t,e){e=jQuery(e).val();a.push(e)});t={action:"spbc_cure_selected",security:spbcSettings.ajax_nonce,selectedIds:a};jQuery.ajax({type:"POST",url:spbcSettings.ajaxurl,data:t,beforeSend:function(){e.closest("#spbc_tbl__scanner_cure_log").find(".tbl-button---white_blue .tbl-preloader--in_button").show()},success:function(t){e.closest("#spbc_tbl__scanner_cure_log").find(".tbl-button---white_blue .tbl-preloader--in_button").hide(),t.success?(spbcModal.open().put(t.data),document.addEventListener("spbcModalClosed",function(t){document.location.reload()})):spbcModal.open().putError(t.data)}})}function spbc_tbl__row_actions__listen(){jQuery(".tbl-row_action--ajax").off("click").on("click",function(){var t,e,a,n;console.log("spbc_tbl__row_actions__listen click"),spbc_scanner.active?alert(spbcTableLocalize.scannerIsActive):(e={action:"spbc_tbl-action--row",add_action:(t=jQuery(this)).attr("row-action"),id:t.parents(".row-actions").attr("uid"),cols:t.parents(".row-actions").attr("cols_amount"),page_url:t.parent().attr("uid"),page_id:t.parent().attr("page_id")},a={callback:spbc_tbl__row_actions__callback,errorOutput:function(t){spbcModal.open().putError(t)},spinner:t.parent().siblings(".tbl-preloader--tiny")},!spbc_bulk_action&&(n=spbcTable["warning_"+t.attr("row-action")]||spbcTable.warning_default,"copy_file_info"===e.add_action||"check_analysis_status"===e.add_action||confirm(n))&&spbc_sendAJAXRequest(e,a,t.parents("tr")),spbc_bulk_action&&spbc_sendAJAXRequest(e,a,t.parents("tr")))})}function spbc_tbl__row_actions__callback(t,e,a,n){if(t.color&&n.css({background:t.background,color:t.color}),t.html&&(n.parent().parent().parent().prepend(t.html),setTimeout(function(){n.fadeOut(300)},1500),spbc_bulk_action||setTimeout(spbc_reload_accordion,1900)),"copy_file_info"===e.add_action&&(!0===t.success&&t.data.file_info?window.prompt("Copy the file info below and send it to [email protected]: ",t.data.file_info):(c=void 0!==t.data.error?t.data.error:"Unknown copy_file_info error",spbcModal.open().putError(c))),t.temp_html){var s=n.html();if(n.html(t.temp_html),void 0!==t.updated_template){var c=t.updated_template_type,t=t.updated_template,l=jQuery(t).find(".wp-list-table tbody tr").length,i=jQuery('[aria-controls="spbc_scan_accordion_tab_'+c+'"]');if(0<i.length){var o=jQuery("#spbc_tbl__scanner_"+c);jQuery(".spbc_bad_type_count."+c+"_counter").text(l);let a=o.find(".wp-list-table tbody tr").length;o.remove(),jQuery("#spbc_scan_accordion_tab_"+c).append(t),jQuery(jQuery("#spbc_scan_accordion_tab_"+c).find(".wp-list-table tbody tr")).each(function(t,e){++t>a&&jQuery(e).css("outline","1px solid green")}),i.click()}else"analysis_log"===c&&(o='<h3 class="ui-accordion-header ui-corner-top ui-state-default ui-accordion-icons ui-accordion-header-collapsed ui-corner-all" role="tab" id="ui-id-2" aria-controls="spbc_scan_accordion_tab_analysis_log" aria-selected="false" aria-expanded="false" tabindex="-1"><span class="ui-accordion-header-icon ui-icon ui-icon-triangle-1-e"></span><a href="#">Analysis Log (<span class="spbc_bad_type_count analysis_log_counter">'+l+"</span>)</a></h3>",c='<div id="spbc_scan_accordion_tab_analysis_log" class="ui-accordion-content ui-corner-bottom ui-helper-reset ui-widget-content" aria-labelledby="ui-id-2" role="tabpanel" aria-hidden="true" style="display: none;"><p class="spbc_hint">Files sent for analysis.</p><div id="spbc_tbl__scanner_analysis_log" type="analysis_log" class="tbl-root">'+t+"</div>",jQuery("#spbc_scan_accordion_tab_critical").after(o+c),i.click())}setTimeout(function(){n.html(s).css({background:"inherit"}).find(".column-primary .row-actions .tbl-row_action--"+e.add_action).remove(),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbcStartShowHide()},5e3)}spbc_bulk_action&&spbc_bulk_action.click()}function spbc_tbl__pagination__listen(){var a={action:"spbc_tbl-pagination"},n={callback:spbc_tbl__pagination__callback,notJson:!0};jQuery(".tbl-pagination--button").on("click",function(){jQuery(this).parents(".tbl-root").find(".tbl-pagination--button").attr("disabled","disabled")}),jQuery(".tbl-pagination--go").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.siblings(".tbl-pagination--curr_page").val(),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--prev").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("prev_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--next").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("next_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--end").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=t.parents(".tbl-pagination--wrapper").attr("last_page"),a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)}),jQuery(".tbl-pagination--start").on("click",function(){var t=jQuery(this),e=t.parents(".tbl-root");a.page=1,a.type=e.attr("type"),n.spinner=t.siblings(".tbl-preloader--small"),spbc_sendAJAXRequest(a,n,e)})}function spbc_scanner__switch_table(t,e){var a=(t=jQuery(t)).parents(".row-actions").attr("uid");spbc_sendAJAXRequest({action:"spbc_tbl-switch",type:e,domain:a},{callback:spbc_tbl__pagination__callback,notJson:!0},t.parents(".tbl-root"))}function spbc_tbl__pagination__callback(t,e,a,n){jQuery(n).html(t).find(".tbl-pagination--button").removeAttr("disabled"),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen(),spbcStartShowHide()}function spbc_tbl__sort__listen(){var n={callback:spbc_tbl__sort__callback,notJson:!0};jQuery(".tbl-column-sortable").on("click",function(t){var e,a;t.target.classList.contains("tbl-sorting_indicator")&&(a="links"==(e=(t=jQuery(this)).parents(".tbl-root")).attr("type")?jQuery("#spbc_tbl__scanner__outbound_links b").html():"",t={action:"spbc_tbl-sort",order_by:t.attr("id"),order:t.attr("sort_direction"),type:e.attr("type"),domain:a},spbc_sendAJAXRequest(t,n,e))})}function spbc_tbl__sort__callback(t,e,a,n){jQuery(n).html(t),spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen()}function show_hide_rows(t,e){e=jQuery("."+e+"_block_"+t);e.hasClass("mob_table_active")?e.removeClass("mob_table_active"):e.addClass("mob_table_active")}spbc_bulk_action=null,jQuery(document).ready(function(){spbc_tbl__bulk_actions__listen(),spbc_tbl__row_actions__listen(),spbc_tbl__pagination__listen(),spbc_tbl__sort__listen()}); 2 2 //# sourceMappingURL=spbc-table.min.js.map -
security-malware-firewall/trunk/js/spbc-table.min.js.map
r3022805 r3049762 1 {"version":3,"file":"spbc-table.min.js","sources":["spbc-table.js"],"sourcesContent":["spbc_bulk_action = null;\n\n/**\n * Reloads scanner accordion and set all the listeners\n */\nfunction spbc_reload_accordion(){\n\tspbc_sendAJAXRequest(\n\t\t{action: 'spbc_scanner_tab__reload_accordion'},\n\t\t{\n\t\t\tnotJson: true,\n\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\tjQuery(obj).accordion('destroy');\n\t\t\t\tjQuery(obj).html(result);\n\t\t\t\tjQuery(obj).accordion({\n\t\t\t\t\theader: 'h3',\n\t\t\t\t\theightStyle: 'content',\n\t\t\t\t\tcollapsible: true,\n\t\t\t\t\tactive: false,\n\t\t\t\t});\n\t\t\t\tspbc_tbl__bulk_actions__listen();\n\t\t\t\tspbc_tbl__row_actions__listen();\n\t\t\t\tspbc_tbl__pagination__listen();\n\t\t\t\tspbc_tbl__sort__listen();\n\t\t\t\tspbcStartShowHide();\n\t\t\t},\n\t\t},\n\t\tjQuery('#spbc_scan_accordion')\n\t);\n}\n\n// TABLE BULK ACTIONS\nfunction spbc_tbl__bulk_actions__listen(){\n\n\tjQuery('.tbl-bulk_actions-all--apply')\n\t\t.off('click')\n\t\t.on('click', function(){\n\n\t\tif ( spbc_scanner.active ) {\n\t\t\talert(spbcTableLocalize.scannerIsActive);\n\t\t\treturn;\n\t\t}\n\n\t\tvar self = jQuery(this);\n\t\tvar allowed_bulk_actions = ['approve','disapprove','send','check_analysis_status','approve_page','disapprove_page','cure', 'delete_from_analysis_log'];\n\t\tvar action = self.siblings('select').children()[self.siblings('select').first()[0].selectedIndex].value;\n\n\t\tif( allowed_bulk_actions.indexOf( action ) !== -1 ){\n\n\t\t\tif(!confirm(spbcTable.warning_bulk))\n\t\t\t\treturn;\n\n\t\t\tvar data = {\n\t\t\t\taction: 'spbc_tbl-action--bulk',\n\t\t\t\tadd_action: action,\n\t\t\t\tstatus: self.parents('.tbl-root').attr('type'),\n\t\t\t};\n\n\t\t\tif (action === 'cure') {\n\t\t\t\tconst selectedItems = self.closest('#spbc_tbl__scanner_cure_log').find('.cb-select');\n\t\t\t\tlet selectedIds = [];\n\n\t\t\t\tselectedItems.each(function (index, element) {\n\t\t\t\t\tconst elementId = jQuery(element).val();\n\t\t\t\t\tselectedIds.push(elementId);\n\t\t\t\t});\n\t\t\t\tdata.selectedIds = selectedIds;\n\t\t\t}\n\n\t\t\tif (action === 'delete_from_analysis_log') {\n\t\t\t\tconst selectedItems = self.closest('#spbc_tbl__scanner_analysis_log').find('.cb-select');\n\t\t\t\tlet fileIds = [];\n\n\t\t\t\tselectedItems.each(function (index, element) {\n\t\t\t\t\tconst elementId = jQuery(element).val();\n\t\t\t\t\tfileIds.push(elementId);\n\t\t\t\t});\n\t\t\t\tdata.file_ids = fileIds;\n\t\t\t}\n\n\t\t\tvar params = {\n\t\t\t\tbutton: this,\n\t\t\t\tspinner: self.children('.tbl-preloader--small'),\n\t\t\t\tcallback: function(out) {\n\t\t\t\t\tspbc_reload_accordion();\n\t\t\t\t\tif ( action === 'check_analysis_status' && typeof out !== undefined){\n\t\t\t\t\t\tlet html = '<p> Analysis status updated.'\n\t\t\t\t\t\t\t+ ' Total: ' + out.counters.total\n\t\t\t\t\t\t\t+ ', updated: ' + out.counters.updated\n\t\t\t\t\t\t\t+ ', skipped: ' + out.counters.skipped\n\t\t\t\t\t\t\t+ ', failed: ' + out.counters.failed\n\t\t\t\t\t\t\t+ ', queued: ' + out.counters.queued\n\t\t\t\t\t\t\t+ '</p>';\n\t\t\t\t\t\tspbcModal.open().put( html );\n\t\t\t\t\t}\n\t\t\t\t\tif ( action === 'send' && typeof out !== undefined){\n\t\t\t\t\t\tlet html = '<p> Files have been sent: '\n\t\t\t\t\t\t\t+ out.files_sent_counter\n\t\t\t\t\t\t\t+ '</p>';\n\t\t\t\t\t\tspbcModal.open().put( html );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terrorOutput: function( error_text, comment ){\n\t\t\t\t\tif( comment ){\n\t\t\t\t\t\terror_text = error_text + '<br>Additional information:<br>' + comment;\n\t\t\t\t\t}\n\t\t\t\t\tspbcModal.open().putError( error_text );\n\t\t\t\t},\n\t\t\t\ttimeout: 60000,\n\t\t\t};\n\n\t\t\tspbc_sendAJAXRequest(data, params);\n\n\t\t}else{\n\t\t\talert('This action is not supported for all files yet =(')\n\t\t}\n\t});\n\n\tjQuery('.tbl-bulk_actions--apply')\n\t\t.off('click')\n\t\t.on('click', function(e){\n\n\t\tif(!spbc_bulk_action && !confirm(spbcTable.warning_bulk))\n\t\t\treturn;\n\n\t\tvar self = spbc_bulk_action || jQuery(this);\n\t\tspbc_bulk_action = self;\n\t\tvar action = self.siblings('select').children()[self.siblings('select').first()[0].selectedIndex].value;\n\n\t\tif (action === 'cure') {\n\t\t\tspbc_scanner__cure_selected(jQuery(this));\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === 'delete_from_analysis_log') {\n\t\t\tspbc_scanner_analysis_log_delete_from_log(jQuery(this));\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === 'allow' || action === 'ban') {\n\t\t\tlet send_action = action === 'ban' ? 'deny' : action;\n\t\t\tlet items = self.parents('.tbl-root').find('.cb-select:checked');\n\t\t\tif (items) {\n\t\t\t\tself.children('.tbl-preloader--small').show();\n\t\t\t\titems.each(function() {\n\t\t\t\t\tlet ip = jQuery(this).parents('tr').find('.tbl-row_action--'+action).data('ip');\n\t\t\t\t\tspbc_sec_logs__filter_ip(ip, send_action, true);\n\t\t\t\t\tjQuery(this).prop('checked', false);\n\t\t\t\t});\n\t\t\t}\n\t\t\tself.children('.tbl-preloader--small').hide();\n\t\t\tlet msg = action === 'allow' ? 'Allowed' : 'Banned';\n\t\t\tlet html = '<p> Success. Selected IPs have been ' + msg + '. Changes will be applied within 10 minutes.' + '</p>';\n\t\t\tspbcModal.open().put( html );\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif( action !== '-1' && self.parents('.tbl-root').find('.cb-select').is(':checked') ){\n\t\t\tself.children('.tbl-preloader--small').show();\n\t\t\tif(self.parents('.tbl-root').find('.cb-select:checked').first().parents('tr').find('.tbl-row_action--'+action)[0]){\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().parents('tr').find('.tbl-row_action--'+action).click();\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().prop('checked', false);\n\t\t\t}else{\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().prop('checked', false);\n\t\t\t\tself.click();\n\t\t\t}\n\t\t}else{\n\t\t\tself.children('.tbl-preloader--small').hide();\n\t\t\tspbc_bulk_action = null;\n\t\t\tif ( action === 'check_analysis_status' && typeof out !== undefined){\n\t\t\t\tlet html = '<p> All available files are updated.' + '</p>';\n\t\t\t\tspbcModal.open().put( html );\n\t\t\t}\n\t\t\tif ( action === 'send' && typeof out !== undefined){\n\t\t\t\tlet html = '<p> All available files are sent.' + '</p>';\n\t\t\t\tspbcModal.open().put( html );\n\t\t\t}\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\t\t}\n\t});\n}\n\n/**\n * Cure selected files\n * @param current\n */\nfunction spbc_scanner__cure_selected(current)\n{\n\tconst selectedItems = current.closest('#spbc_tbl__scanner_cure_log').find('.cb-select:checked');\n\tlet selectedIds = [];\n\n\tif (selectedItems.length === 0) {\n\t\talert('Please, select elements.');\n\t}\n\n\tselectedItems.each(function (index, element) {\n\t\tconst elementId = jQuery(element).val();\n\t\tselectedIds.push(elementId);\n\t});\n\n\tconst data = {\n\t\taction: 'spbc_cure_selected',\n\t\tsecurity: spbcSettings.ajax_nonce,\n\t\tselectedIds: selectedIds,\n\t};\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\turl: spbcSettings.ajaxurl,\n\t\tdata: data,\n\t\tbeforeSend: function () {\n\t\t\tcurrent.closest('#spbc_tbl__scanner_cure_log').find('.tbl-button---white_blue .tbl-preloader--in_button').show();\n\t\t},\n\t\tsuccess: function(result) {\n\t\t\tcurrent.closest('#spbc_tbl__scanner_cure_log').find('.tbl-button---white_blue .tbl-preloader--in_button').hide();\n\t\t\tif (result.success) {\n\t\t\t\tspbcModal.open().put(result.data);\n\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\tdocument.location.reload();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tspbcModal.open().putError(result.data);\n\t\t\t}\n\t\t},\n\t});\n}\n\n// TABLE ROW ACTIONS\nfunction spbc_tbl__row_actions__listen(){\n\tjQuery('.tbl-row_action--ajax')\n\t\t.off('click')\n\t\t.on('click', function(){\n\t\tconsole.log('spbc_tbl__row_actions__listen click');\n\t\tif ( spbc_scanner.active ) {\n\t\t\talert(spbcTableLocalize.scannerIsActive);\n\t\t\treturn;\n\t\t}\n\t\tvar self = jQuery(this);\n\t\tvar data = {\n\t\t\taction: 'spbc_tbl-action--row',\n\t\t\tadd_action: self.attr('row-action'),\n\t\t\tid: self.parents('.row-actions').attr('uid'),\n\t\t\tcols: self.parents('.row-actions').attr('cols_amount'),\n\t\t\tpage_url: self.parent().attr('uid'),\n\t\t\tpage_id: self.parent().attr('page_id'),\n\t\t};\n\t\tvar params = {\n\t\t\tcallback: spbc_tbl__row_actions__callback,\n\t\t\terrorOutput: function(msg){ spbcModal.open().putError( msg ); },\n\t\t\tspinner: self.parent().siblings('.tbl-preloader--tiny'),\n\t\t};\n\t\tif(!spbc_bulk_action){\n\t\t\tvar confirmation = spbcTable['warning_'+self.attr('row-action')] || spbcTable.warning_default;\n\t\t\tif ( data.add_action === 'copy_file_info' || data.add_action === 'check_analysis_status' || confirm(confirmation) ) {\n\t\t\t\tspbc_sendAJAXRequest(data, params, self.parents('tr'));\n\t\t\t}\n\t\t}\n\t\tif(spbc_bulk_action){\n\t\t\tspbc_sendAJAXRequest(data, params, self.parents('tr'));\n\t\t}\n\t});\n}\n\n\t// Callback for TABLE ROW ACTIONS\nfunction spbc_tbl__row_actions__callback(result, data, params, obj){\n\tif(result.color) {obj.css({background: result.background, color: result.color});}\n\tif(result.html) {\n\t\tobj.parent().parent().parent().prepend(result.html)\n\t\tsetTimeout(function(){obj.fadeOut(300);}, 1500);\n\t\tif( ! spbc_bulk_action) {\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\t\t}\n\t}\n\n\tif (\n\t\tdata.add_action === 'copy_file_info'\n\t) {\n\t\tif (result.success === true && result.data.file_info){\n\t\t\twindow.prompt(\"Copy the file info below and send it to [email protected]: \", result.data.file_info);\n\t\t} else {\n\t\t\tlet error_text = (typeof result.data.error !== 'undefined') ? result.data.error : 'Unknown copy_file_info error'\n\t\t\tspbcModal.open().putError( error_text );\n\t\t}\n\t}\n\n\tif(result.temp_html){\n\t\tvar tmp=obj.html(); \n\t\tobj.html(result.temp_html);\n\t\tif (result.updated_template !== undefined) {\n\t\t\tlet updatedType = result.updated_template_type;\n\t\t\tlet template = result.updated_template;\n\t\t\tlet rowsInTemplate = jQuery(template).find('.wp-list-table tbody tr');\n\t\t\tlet countRowInTemplate = rowsInTemplate.length;\n\t\t\tlet targetTab = jQuery('[aria-controls=\"spbc_scan_accordion_tab_' + updatedType + '\"]');\n\n\t\t\tif (targetTab.length > 0) {\n\t\t\t\tlet table = jQuery('#spbc_tbl__scanner_' + updatedType);\n\t\t\t\t// Count files in header\n\t\t\t\tjQuery('.spbc_bad_type_count.' + updatedType + '_counter').text(countRowInTemplate);\n\t\t\t\t// Count rows in table\n\t\t\t\tlet countExistingRows = table.find('.wp-list-table tbody tr').length;\n\t\t\t\ttable.remove();\n\t\t\t\tjQuery('#spbc_scan_accordion_tab_' + updatedType).append(template);\n\t\t\t\t// Marked new rows\n\t\t\t\tjQuery(jQuery('#spbc_scan_accordion_tab_' + updatedType).find('.wp-list-table tbody tr')).each(function (index, element) {\n\t\t\t\t\tif (++index > countExistingRows) {\n\t\t\t\t\t\tjQuery(element).css('outline', '1px solid green');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttargetTab.click();\n\t\t\t} else {\n\t\t\t\tif (updatedType === 'analysis_log') {\n\t\t\t\t\tlet tabHeaderTemplate = '<h3 class=\"ui-accordion-header ui-corner-top ui-state-default ui-accordion-icons ui-accordion-header-collapsed ui-corner-all\" role=\"tab\" id=\"ui-id-2\" aria-controls=\"spbc_scan_accordion_tab_analysis_log\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"-1\"><span class=\"ui-accordion-header-icon ui-icon ui-icon-triangle-1-e\"></span><a href=\"#\">Analysis Log (<span class=\"spbc_bad_type_count analysis_log_counter\">' + countRowInTemplate + '</span>)</a></h3>';\n\t\t\t\t\tlet tabBodyTemplate = '<div id=\"spbc_scan_accordion_tab_analysis_log\" class=\"ui-accordion-content ui-corner-bottom ui-helper-reset ui-widget-content\" aria-labelledby=\"ui-id-2\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><p class=\"spbc_hint\">Files sent for analysis.</p><div id=\"spbc_tbl__scanner_analysis_log\" type=\"analysis_log\" class=\"tbl-root\">' +\n\t\t\t\t\t\ttemplate +\n\t\t\t\t\t\t'</div>';\n\t\t\t\t\tjQuery('#spbc_scan_accordion_tab_critical').after(tabHeaderTemplate + tabBodyTemplate);\n\t\t\t\t\ttargetTab.click();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetTimeout(function(){\n\t\t\tobj.html(tmp).css({background: 'inherit'}).find('.column-primary .row-actions .tbl-row_action--'+data.add_action).remove();\n\t\t\tspbc_tbl__bulk_actions__listen();\n\t\t\tspbc_tbl__row_actions__listen();\n\t\t\tspbcStartShowHide();\n\t\t},5000);\n\t}\n\tif(spbc_bulk_action)\n\t\tspbc_bulk_action.click();\n}\n\n// TABLE PAGINATION ACTIONS\nfunction spbc_tbl__pagination__listen(){\n\tvar data = {action: 'spbc_tbl-pagination',};\n\tvar params = {callback: spbc_tbl__pagination__callback, notJson: true,};\n\tjQuery('.tbl-pagination--button').on('click', function(){\n\t\tjQuery(this).parents('.tbl-root').find('.tbl-pagination--button').attr('disabled', 'disabled');\n\t});\n\tjQuery('.tbl-pagination--go').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.siblings('.tbl-pagination--curr_page').val();\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--prev').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('prev_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--next').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('next_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--end').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('last_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--start').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = 1;\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n}\n\nfunction spbc_scanner__switch_table(obj, table){\n\tvar obj = jQuery(obj);\n\t console.log(obj.parents('.row-actions').attr('uid'));\n\tvar data = {action: 'spbc_tbl-switch', type: table, domain: obj.parents('.row-actions').attr('uid'),};\n\tvar params = {callback: spbc_tbl__pagination__callback, notJson: true,};\n\tspbc_sendAJAXRequest(data, params, obj.parents('.tbl-root'));\n}\n\n\t// Callback for TABLE PAGINATION ACTIONS\nfunction spbc_tbl__pagination__callback(result, data, params, obj){\n\t\n\tjQuery(obj)\n\t\t.html(result)\n\t\t.find('.tbl-pagination--button').removeAttr('disabled');\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n\tspbcStartShowHide();\n}\n\n// TABLE SORT ACTIONS\nfunction spbc_tbl__sort__listen(){\n\t\n\tvar params = {callback: spbc_tbl__sort__callback, notJson: true,};\n\tjQuery('.tbl-column-sortable').on('click', function(e){\n\t\tif (e.target.classList.contains('tbl-sorting_indicator')) {\n\t\t\tvar self = jQuery(this);\n\t\t\tvar obj = self.parents('.tbl-root');\n\t\t\tvar data = {\n\t\t\t\taction: 'spbc_tbl-sort',\n\t\t\t\torder_by: self.attr('id'),\n\t\t\t\torder: self.attr('sort_direction'),\n\t\t\t\ttype: obj.attr('type'),\n\t\t\t};\n\t\t\tspbc_sendAJAXRequest(data, params, obj);\n\t\t}\n\t});\n}\n\n\t// Callback for TABLE SORT ACTIONS\nfunction spbc_tbl__sort__callback(result, data, params, obj){\n\tjQuery(obj).html(result);\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n}\n\njQuery(document).ready(function(){\n\t\n\t// Table. Row actions handler\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n});\n\nfunction show_hide_rows(block_id, column_key) {\n\tlet className = '.' + column_key + '_block_' + block_id;\n\tlet block = jQuery(className);\n\tif (block.hasClass(\"mob_table_active\")){\n\t\tblock.removeClass(\"mob_table_active\")\n\t} else {\n\t\tblock.addClass(\"mob_table_active\");\n\t}\n}\n"],"names":["spbc_reload_accordion","spbc_sendAJAXRequest","action","notJson","callback","result","data","params","obj","jQuery","accordion","html","header","heightStyle","collapsible","active","spbc_tbl__bulk_actions__listen","spbc_tbl__row_actions__listen","spbc_tbl__pagination__listen","spbc_tbl__sort__listen","spbcStartShowHide","off","on","spbc_scanner","alert","spbcTableLocalize","scannerIsActive","self","this","siblings","children","first","selectedIndex","value","indexOf","confirm","spbcTable","warning_bulk","add_action","status","parents","attr","selectedItems","closest","find","let","selectedIds","each","index","element","elementId","val","push","fileIds","file_ids","button","spinner","out","counters","total","updated","skipped","failed","queued","spbcModal","open","put","files_sent_counter","errorOutput","error_text","comment","putError","timeout","e","spbc_bulk_action","spbc_scanner__cure_selected","spbc_scanner_analysis_log_delete_from_log","send_action","items","msg","show","ip","spbc_sec_logs__filter_ip","prop","hide","setTimeout","is","click","current","length","security","spbcSettings","ajax_nonce","ajax","type","url","ajaxurl","beforeSend","success","document","addEventListener","location","reload","confirmation","console","log","id","cols","page_url","parent","page_id","spbc_tbl__row_actions__callback","warning_default","color","css","background","prepend","fadeOut","file_info","window","prompt","error","temp_html","tmp","undefined","updated_template","updatedType","updated_template_type","template","countRowInTemplate","targetTab","table","text","countExistingRows","remove","append","tabHeaderTemplate","tabBodyTemplate","after","spbc_tbl__pagination__callback","page","spbc_scanner__switch_table","domain","removeAttr","spbc_tbl__sort__callback","target","classList","contains","order_by","order","show_hide_rows","block_id","column_key","block","hasClass","removeClass","addClass","ready"],"mappings":"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"}1 {"version":3,"file":"spbc-table.min.js","sources":["spbc-table.js"],"sourcesContent":["spbc_bulk_action = null;\n\n/**\n * Reloads scanner accordion and set all the listeners\n */\nfunction spbc_reload_accordion(){\n\tspbc_sendAJAXRequest(\n\t\t{action: 'spbc_scanner_tab__reload_accordion'},\n\t\t{\n\t\t\tnotJson: true,\n\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\tjQuery(obj).accordion('destroy');\n\t\t\t\tjQuery(obj).html(result);\n\t\t\t\tjQuery(obj).accordion({\n\t\t\t\t\theader: 'h3',\n\t\t\t\t\theightStyle: 'content',\n\t\t\t\t\tcollapsible: true,\n\t\t\t\t\tactive: false,\n\t\t\t\t});\n\t\t\t\tspbc_tbl__bulk_actions__listen();\n\t\t\t\tspbc_tbl__row_actions__listen();\n\t\t\t\tspbc_tbl__pagination__listen();\n\t\t\t\tspbc_tbl__sort__listen();\n\t\t\t\tspbcStartShowHide();\n\t\t\t},\n\t\t},\n\t\tjQuery('#spbc_scan_accordion')\n\t);\n}\n\n// TABLE BULK ACTIONS\nfunction spbc_tbl__bulk_actions__listen(){\n\n\tjQuery('.tbl-bulk_actions-all--apply')\n\t\t.off('click')\n\t\t.on('click', function(){\n\n\t\tif ( spbc_scanner.active ) {\n\t\t\talert(spbcTableLocalize.scannerIsActive);\n\t\t\treturn;\n\t\t}\n\n\t\tvar self = jQuery(this);\n\t\tvar allowed_bulk_actions = ['approve','disapprove','send','check_analysis_status','approve_page','disapprove_page','cure', 'delete_from_analysis_log'];\n\t\tvar action = self.siblings('select').children()[self.siblings('select').first()[0].selectedIndex].value;\n\n\t\tif( allowed_bulk_actions.indexOf( action ) !== -1 ){\n\n\t\t\tif(!confirm(spbcTable.warning_bulk))\n\t\t\t\treturn;\n\n\t\t\tvar data = {\n\t\t\t\taction: 'spbc_tbl-action--bulk',\n\t\t\t\tadd_action: action,\n\t\t\t\tstatus: self.parents('.tbl-root').attr('type'),\n\t\t\t};\n\n\t\t\tif (action === 'cure') {\n\t\t\t\tconst selectedItems = self.closest('#spbc_tbl__scanner_cure_log').find('.cb-select');\n\t\t\t\tlet selectedIds = [];\n\n\t\t\t\tselectedItems.each(function (index, element) {\n\t\t\t\t\tconst elementId = jQuery(element).val();\n\t\t\t\t\tselectedIds.push(elementId);\n\t\t\t\t});\n\t\t\t\tdata.selectedIds = selectedIds;\n\t\t\t}\n\n\t\t\tif (action === 'delete_from_analysis_log') {\n\t\t\t\tconst selectedItems = self.closest('#spbc_tbl__scanner_analysis_log').find('.cb-select');\n\t\t\t\tlet fileIds = [];\n\n\t\t\t\tselectedItems.each(function (index, element) {\n\t\t\t\t\tconst elementId = jQuery(element).val();\n\t\t\t\t\tfileIds.push(elementId);\n\t\t\t\t});\n\t\t\t\tdata.file_ids = fileIds;\n\t\t\t}\n\n\t\t\tvar params = {\n\t\t\t\tbutton: this,\n\t\t\t\tspinner: self.children('.tbl-preloader--small'),\n\t\t\t\tcallback: function(out) {\n\t\t\t\t\tspbc_reload_accordion();\n\t\t\t\t\tif ( action === 'check_analysis_status' && typeof out !== undefined){\n\t\t\t\t\t\tlet html = '<p> Analysis status updated.'\n\t\t\t\t\t\t\t+ ' Total: ' + out.counters.total\n\t\t\t\t\t\t\t+ ', updated: ' + out.counters.updated\n\t\t\t\t\t\t\t+ ', skipped: ' + out.counters.skipped\n\t\t\t\t\t\t\t+ ', failed: ' + out.counters.failed\n\t\t\t\t\t\t\t+ ', queued: ' + out.counters.queued\n\t\t\t\t\t\t\t+ '</p>';\n\t\t\t\t\t\tspbcModal.open().put( html );\n\t\t\t\t\t}\n\t\t\t\t\tif ( action === 'send' && typeof out !== undefined){\n\t\t\t\t\t\tlet html = '<p> Files have been sent: '\n\t\t\t\t\t\t\t+ out.files_sent_counter\n\t\t\t\t\t\t\t+ '</p>';\n\t\t\t\t\t\tspbcModal.open().put( html );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terrorOutput: function( error_text, comment ){\n\t\t\t\t\tif( comment ){\n\t\t\t\t\t\terror_text = error_text + '<br>Additional information:<br>' + comment;\n\t\t\t\t\t}\n\t\t\t\t\tspbcModal.open().putError( error_text );\n\t\t\t\t},\n\t\t\t\ttimeout: 60000,\n\t\t\t};\n\n\t\t\tspbc_sendAJAXRequest(data, params);\n\n\t\t}else{\n\t\t\talert('This action is not supported for all files yet =(')\n\t\t}\n\t});\n\n\tjQuery('.tbl-bulk_actions--apply')\n\t\t.off('click')\n\t\t.on('click', function(e){\n\n\t\tif(!spbc_bulk_action && !confirm(spbcTable.warning_bulk))\n\t\t\treturn;\n\n\t\tvar self = spbc_bulk_action || jQuery(this);\n\t\tspbc_bulk_action = self;\n\t\tvar action = self.siblings('select').children()[self.siblings('select').first()[0].selectedIndex].value;\n\n\t\tif (action === 'cure') {\n\t\t\tspbc_scanner__cure_selected(jQuery(this));\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === 'delete_from_analysis_log') {\n\t\t\tspbc_scanner_analysis_log_delete_from_log(jQuery(this));\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === 'allow' || action === 'ban') {\n\t\t\tlet send_action = action === 'ban' ? 'deny' : action;\n\t\t\tlet items = self.parents('.tbl-root').find('.cb-select:checked');\n\t\t\tif (items) {\n\t\t\t\tself.children('.tbl-preloader--small').show();\n\t\t\t\titems.each(function() {\n\t\t\t\t\tlet ip = jQuery(this).parents('tr').find('.tbl-row_action--'+action).data('ip');\n\t\t\t\t\tspbc_sec_logs__filter_ip(ip, send_action, true);\n\t\t\t\t\tjQuery(this).prop('checked', false);\n\t\t\t\t});\n\t\t\t}\n\t\t\tself.children('.tbl-preloader--small').hide();\n\t\t\tlet msg = action === 'allow' ? 'Allowed' : 'Banned';\n\t\t\tlet html = '<p> Success. Selected IPs have been ' + msg + '. Changes will be applied within 10 minutes.' + '</p>';\n\t\t\tspbcModal.open().put( html );\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif( action !== '-1' && self.parents('.tbl-root').find('.cb-select').is(':checked') ){\n\t\t\tself.children('.tbl-preloader--small').show();\n\t\t\tif(self.parents('.tbl-root').find('.cb-select:checked').first().parents('tr').find('.tbl-row_action--'+action)[0]){\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().parents('tr').find('.tbl-row_action--'+action).click();\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().prop('checked', false);\n\t\t\t}else{\n\t\t\t\tself.parents('.tbl-root').find('.cb-select:checked').first().prop('checked', false);\n\t\t\t\tself.click();\n\t\t\t}\n\t\t}else{\n\t\t\tself.children('.tbl-preloader--small').hide();\n\t\t\tspbc_bulk_action = null;\n\t\t\tif ( action === 'check_analysis_status' && typeof out !== undefined){\n\t\t\t\tlet html = '<p> All available files are updated.' + '</p>';\n\t\t\t\tspbcModal.open().put( html );\n\t\t\t}\n\t\t\tif ( action === 'send' && typeof out !== undefined){\n\t\t\t\tlet html = '<p> All available files are sent.' + '</p>';\n\t\t\t\tspbcModal.open().put( html );\n\t\t\t}\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\t\t}\n\t});\n}\n\n/**\n * Cure selected files\n * @param current\n */\nfunction spbc_scanner__cure_selected(current)\n{\n\tconst selectedItems = current.closest('#spbc_tbl__scanner_cure_log').find('.cb-select:checked');\n\tlet selectedIds = [];\n\n\tif (selectedItems.length === 0) {\n\t\talert('Please, select elements.');\n\t}\n\n\tselectedItems.each(function (index, element) {\n\t\tconst elementId = jQuery(element).val();\n\t\tselectedIds.push(elementId);\n\t});\n\n\tconst data = {\n\t\taction: 'spbc_cure_selected',\n\t\tsecurity: spbcSettings.ajax_nonce,\n\t\tselectedIds: selectedIds,\n\t};\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\turl: spbcSettings.ajaxurl,\n\t\tdata: data,\n\t\tbeforeSend: function () {\n\t\t\tcurrent.closest('#spbc_tbl__scanner_cure_log').find('.tbl-button---white_blue .tbl-preloader--in_button').show();\n\t\t},\n\t\tsuccess: function(result) {\n\t\t\tcurrent.closest('#spbc_tbl__scanner_cure_log').find('.tbl-button---white_blue .tbl-preloader--in_button').hide();\n\t\t\tif (result.success) {\n\t\t\t\tspbcModal.open().put(result.data);\n\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\tdocument.location.reload();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tspbcModal.open().putError(result.data);\n\t\t\t}\n\t\t},\n\t});\n}\n\n// TABLE ROW ACTIONS\nfunction spbc_tbl__row_actions__listen(){\n\tjQuery('.tbl-row_action--ajax')\n\t\t.off('click')\n\t\t.on('click', function(){\n\t\tconsole.log('spbc_tbl__row_actions__listen click');\n\t\tif ( spbc_scanner.active ) {\n\t\t\talert(spbcTableLocalize.scannerIsActive);\n\t\t\treturn;\n\t\t}\n\t\tvar self = jQuery(this);\n\t\tvar data = {\n\t\t\taction: 'spbc_tbl-action--row',\n\t\t\tadd_action: self.attr('row-action'),\n\t\t\tid: self.parents('.row-actions').attr('uid'),\n\t\t\tcols: self.parents('.row-actions').attr('cols_amount'),\n\t\t\tpage_url: self.parent().attr('uid'),\n\t\t\tpage_id: self.parent().attr('page_id'),\n\t\t};\n\t\tvar params = {\n\t\t\tcallback: spbc_tbl__row_actions__callback,\n\t\t\terrorOutput: function(msg){ spbcModal.open().putError( msg ); },\n\t\t\tspinner: self.parent().siblings('.tbl-preloader--tiny'),\n\t\t};\n\t\tif(!spbc_bulk_action){\n\t\t\tvar confirmation = spbcTable['warning_'+self.attr('row-action')] || spbcTable.warning_default;\n\t\t\tif ( data.add_action === 'copy_file_info' || data.add_action === 'check_analysis_status' || confirm(confirmation) ) {\n\t\t\t\tspbc_sendAJAXRequest(data, params, self.parents('tr'));\n\t\t\t}\n\t\t}\n\t\tif(spbc_bulk_action){\n\t\t\tspbc_sendAJAXRequest(data, params, self.parents('tr'));\n\t\t}\n\t});\n}\n\n\t// Callback for TABLE ROW ACTIONS\nfunction spbc_tbl__row_actions__callback(result, data, params, obj){\n\tif(result.color) {obj.css({background: result.background, color: result.color});}\n\tif(result.html) {\n\t\tobj.parent().parent().parent().prepend(result.html)\n\t\tsetTimeout(function(){obj.fadeOut(300);}, 1500);\n\t\tif( ! spbc_bulk_action) {\n\t\t\tsetTimeout(spbc_reload_accordion, 1900);\n\t\t}\n\t}\n\n\tif (\n\t\tdata.add_action === 'copy_file_info'\n\t) {\n\t\tif (result.success === true && result.data.file_info){\n\t\t\twindow.prompt(\"Copy the file info below and send it to [email protected]: \", result.data.file_info);\n\t\t} else {\n\t\t\tlet error_text = (typeof result.data.error !== 'undefined') ? result.data.error : 'Unknown copy_file_info error'\n\t\t\tspbcModal.open().putError( error_text );\n\t\t}\n\t}\n\n\tif(result.temp_html){\n\t\tvar tmp=obj.html(); \n\t\tobj.html(result.temp_html);\n\t\tif (result.updated_template !== undefined) {\n\t\t\tlet updatedType = result.updated_template_type;\n\t\t\tlet template = result.updated_template;\n\t\t\tlet rowsInTemplate = jQuery(template).find('.wp-list-table tbody tr');\n\t\t\tlet countRowInTemplate = rowsInTemplate.length;\n\t\t\tlet targetTab = jQuery('[aria-controls=\"spbc_scan_accordion_tab_' + updatedType + '\"]');\n\n\t\t\tif (targetTab.length > 0) {\n\t\t\t\tlet table = jQuery('#spbc_tbl__scanner_' + updatedType);\n\t\t\t\t// Count files in header\n\t\t\t\tjQuery('.spbc_bad_type_count.' + updatedType + '_counter').text(countRowInTemplate);\n\t\t\t\t// Count rows in table\n\t\t\t\tlet countExistingRows = table.find('.wp-list-table tbody tr').length;\n\t\t\t\ttable.remove();\n\t\t\t\tjQuery('#spbc_scan_accordion_tab_' + updatedType).append(template);\n\t\t\t\t// Marked new rows\n\t\t\t\tjQuery(jQuery('#spbc_scan_accordion_tab_' + updatedType).find('.wp-list-table tbody tr')).each(function (index, element) {\n\t\t\t\t\tif (++index > countExistingRows) {\n\t\t\t\t\t\tjQuery(element).css('outline', '1px solid green');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttargetTab.click();\n\t\t\t} else {\n\t\t\t\tif (updatedType === 'analysis_log') {\n\t\t\t\t\tlet tabHeaderTemplate = '<h3 class=\"ui-accordion-header ui-corner-top ui-state-default ui-accordion-icons ui-accordion-header-collapsed ui-corner-all\" role=\"tab\" id=\"ui-id-2\" aria-controls=\"spbc_scan_accordion_tab_analysis_log\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"-1\"><span class=\"ui-accordion-header-icon ui-icon ui-icon-triangle-1-e\"></span><a href=\"#\">Analysis Log (<span class=\"spbc_bad_type_count analysis_log_counter\">' + countRowInTemplate + '</span>)</a></h3>';\n\t\t\t\t\tlet tabBodyTemplate = '<div id=\"spbc_scan_accordion_tab_analysis_log\" class=\"ui-accordion-content ui-corner-bottom ui-helper-reset ui-widget-content\" aria-labelledby=\"ui-id-2\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><p class=\"spbc_hint\">Files sent for analysis.</p><div id=\"spbc_tbl__scanner_analysis_log\" type=\"analysis_log\" class=\"tbl-root\">' +\n\t\t\t\t\t\ttemplate +\n\t\t\t\t\t\t'</div>';\n\t\t\t\t\tjQuery('#spbc_scan_accordion_tab_critical').after(tabHeaderTemplate + tabBodyTemplate);\n\t\t\t\t\ttargetTab.click();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetTimeout(function(){\n\t\t\tobj.html(tmp).css({background: 'inherit'}).find('.column-primary .row-actions .tbl-row_action--'+data.add_action).remove();\n\t\t\tspbc_tbl__bulk_actions__listen();\n\t\t\tspbc_tbl__row_actions__listen();\n\t\t\tspbcStartShowHide();\n\t\t},5000);\n\t}\n\tif(spbc_bulk_action)\n\t\tspbc_bulk_action.click();\n}\n\n// TABLE PAGINATION ACTIONS\nfunction spbc_tbl__pagination__listen(){\n\tvar data = {action: 'spbc_tbl-pagination',};\n\tvar params = {callback: spbc_tbl__pagination__callback, notJson: true,};\n\tjQuery('.tbl-pagination--button').on('click', function(){\n\t\tjQuery(this).parents('.tbl-root').find('.tbl-pagination--button').attr('disabled', 'disabled');\n\t});\n\tjQuery('.tbl-pagination--go').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.siblings('.tbl-pagination--curr_page').val();\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--prev').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('prev_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--next').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('next_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--end').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = self.parents('.tbl-pagination--wrapper').attr('last_page');\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n\tjQuery('.tbl-pagination--start').on('click', function(){\n\t\tvar self = jQuery(this);\n\t\tvar obj = self.parents('.tbl-root');\n\t\tdata.page = 1;\n\t\tdata.type = obj.attr('type');\n\t\tparams.spinner = self.siblings('.tbl-preloader--small');\n\t\tspbc_sendAJAXRequest(data, params, obj);\n\t});\n}\n\nfunction spbc_scanner__switch_table(obj, table){\n\tvar obj = jQuery(obj);\n\tlet domain = obj.parents('.row-actions').attr('uid');\n\tvar data = {action: 'spbc_tbl-switch', type: table, domain: domain,};\n\tvar params = {callback: spbc_tbl__pagination__callback, notJson: true,};\n\tspbc_sendAJAXRequest(data, params, obj.parents('.tbl-root'));\n}\n\n\t// Callback for TABLE PAGINATION ACTIONS\nfunction spbc_tbl__pagination__callback(result, data, params, obj){\n\t\n\tjQuery(obj)\n\t\t.html(result)\n\t\t.find('.tbl-pagination--button').removeAttr('disabled');\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n\tspbcStartShowHide();\n}\n\n// TABLE SORT ACTIONS\nfunction spbc_tbl__sort__listen(){\n\t\n\tvar params = {callback: spbc_tbl__sort__callback, notJson: true,};\n\tjQuery('.tbl-column-sortable').on('click', function(e){\n\t\tif (e.target.classList.contains('tbl-sorting_indicator')) {\n\t\t\tvar self = jQuery(this);\n\t\t\tvar obj = self.parents('.tbl-root');\n\t\t\tlet domain = obj.attr('type') == 'links'? jQuery('#spbc_tbl__scanner__outbound_links b').html(): '';\n\t\t\tvar data = {\n\t\t\t\taction: 'spbc_tbl-sort',\n\t\t\t\torder_by: self.attr('id'),\n\t\t\t\torder: self.attr('sort_direction'),\n\t\t\t\ttype: obj.attr('type'),\n\t\t\t\tdomain: domain,\n\t\t\t};\n\t\t\tspbc_sendAJAXRequest(data, params, obj);\n\t\t}\n\t});\n}\n\n\t// Callback for TABLE SORT ACTIONS\nfunction spbc_tbl__sort__callback(result, data, params, obj){\n\tjQuery(obj).html(result);\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n}\n\njQuery(document).ready(function(){\n\t\n\t// Table. Row actions handler\n\tspbc_tbl__bulk_actions__listen();\n\tspbc_tbl__row_actions__listen();\n\tspbc_tbl__pagination__listen();\n\tspbc_tbl__sort__listen();\n});\n\nfunction show_hide_rows(block_id, column_key) {\n\tlet className = '.' + column_key + '_block_' + block_id;\n\tlet block = jQuery(className);\n\tif (block.hasClass(\"mob_table_active\")){\n\t\tblock.removeClass(\"mob_table_active\")\n\t} else {\n\t\tblock.addClass(\"mob_table_active\");\n\t}\n}\n"],"names":["spbc_reload_accordion","spbc_sendAJAXRequest","action","notJson","callback","result","data","params","obj","jQuery","accordion","html","header","heightStyle","collapsible","active","spbc_tbl__bulk_actions__listen","spbc_tbl__row_actions__listen","spbc_tbl__pagination__listen","spbc_tbl__sort__listen","spbcStartShowHide","off","on","spbc_scanner","alert","spbcTableLocalize","scannerIsActive","self","this","siblings","children","first","selectedIndex","value","indexOf","confirm","spbcTable","warning_bulk","add_action","status","parents","attr","selectedItems","closest","find","let","selectedIds","each","index","element","elementId","val","push","fileIds","file_ids","button","spinner","out","counters","total","updated","skipped","failed","queued","spbcModal","open","put","files_sent_counter","errorOutput","error_text","comment","putError","timeout","e","spbc_bulk_action","spbc_scanner__cure_selected","spbc_scanner_analysis_log_delete_from_log","send_action","items","msg","show","ip","spbc_sec_logs__filter_ip","prop","hide","setTimeout","is","click","current","length","security","spbcSettings","ajax_nonce","ajax","type","url","ajaxurl","beforeSend","success","document","addEventListener","location","reload","confirmation","console","log","id","cols","page_url","parent","page_id","spbc_tbl__row_actions__callback","warning_default","color","css","background","prepend","fadeOut","file_info","window","prompt","error","temp_html","tmp","undefined","updated_template","updatedType","updated_template_type","template","countRowInTemplate","targetTab","table","text","countExistingRows","remove","append","tabHeaderTemplate","tabBodyTemplate","after","spbc_tbl__pagination__callback","page","spbc_scanner__switch_table","domain","removeAttr","spbc_tbl__sort__callback","target","classList","contains","order_by","order","show_hide_rows","block_id","column_key","block","hasClass","removeClass","addClass","ready"],"mappings":"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"} -
security-malware-firewall/trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Controller.php
r3022805 r3049762 42 42 private function scanFileForHeuristic(FileInfo $file_info, $root_path) 43 43 { 44 $scanner = new HeuristicAnalyser(array('path' => $root_path . $file_info->path)); 44 if ( ! empty($file_info->content) ) { 45 $params = ['content' => $file_info->content]; 46 } else { 47 $params = ['path' => $root_path . $file_info->path]; 48 } 49 50 $scanner = new HeuristicAnalyser($params); 45 51 46 52 $output = new Verdict(); -
security-malware-firewall/trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/HeuristicAnalyser.php
r3041922 r3049762 591 591 592 592 return $token->type === 'T_CONSTANT_ENCAPSED_STRING' && 593 is_callable(trim((string)$token->value, '\'')) &&594 in_array(trim((string)$token->value, '\''), $this->dangerous_decoded_values, true);593 is_callable(trim((string)$token->value, '\'')) && 594 in_array(trim((string)$token->value, '\''), $this->dangerous_decoded_values, true); 595 595 } 596 596 -
security-malware-firewall/trunk/lib/CleantalkSP/Common/Scanner/HeuristicAnalyser/Modules/Mathematics.php
r3011278 r3049762 83 83 { 84 84 $start_position = $this->tokens->next1[3]; 85 if ( is_null($start_position) ) { 86 // Returns empty array if no more tokens forward 87 return new ExtendedSplFixedArray(); 88 } 85 89 $closing_bracket_position = $this->tokens->searchForward($start_position, $closing_bracket); 86 90 $tokens_inside_brackets = $this->tokens->getRange($start_position, $closing_bracket_position - 1); -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Activator.php
r3034394 r3049762 35 35 // For all blogs 36 36 SpbcCron::addTask('scanner_update_signatures', 'spbc_scanner__signatures_update', 86400, time() + 100); 37 SpbcCron:: addTask('check_vulnerabilities', 'spbc_security_check_vulnerabilities', 86400, time() + 100);37 SpbcCron::updateTask('check_vulnerabilities', 'spbc_security_check_vulnerabilities', 86400, time() + 100); 38 38 SpbcCron::addTask('send_php_logs', 'spbc_PHP_logs__send', 3600, time() + 300); 39 39 … … 90 90 SpbcCron::addTask('security_log_clear', 'spbc_security_log_clear', 86400, time() + 43200); 91 91 SpbcCron::addTask('get_brief_data', 'spbc_set_brief_data', 86400, time() + 1800); 92 SpbcCron:: addTask('check_vulnerabilities', 'spbc_security_check_vulnerabilities', 86400, time() + 100);92 SpbcCron::updateTask('check_vulnerabilities', 'spbc_security_check_vulnerabilities', 86400, time() + 100); 93 93 SpbcCron::addTask('cdn_check', 'spbc_cdn_checker__send_request', 86400, time() + 86400); 94 94 -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Firewall/UploadChecker.php
r3041922 r3049762 8 8 use CleantalkSP\SpbctWP\Helpers\Helper; 9 9 use CleantalkSP\SpbctWP\Helpers\IP; 10 use CleantalkSP\SpbctWP\Scanner\FileInfoExtended; 10 11 use CleantalkSP\SpbctWP\VulnerabilityAlarm\VulnerabilityAlarm; 11 12 use CleantalkSP\Variables\Post; 12 13 use CleantalkSP\Variables\Server; 14 use CleantalkSP\SpbctWP\Escape; 13 15 14 16 class UploadChecker extends FirewallModule … … 96 98 private function runCheckForFilesGlobalVariable($global_files_variable) 97 99 { 100 $trust_module = false; 101 if (array_key_exists('trust_module', $_POST)) { 102 $trust_module = $_POST['trust_module']; 103 } 98 104 foreach ( $global_files_variable as $files ) { 99 105 if ( (empty($files['error']) || $files['error'] === UPLOAD_ERR_OK) ) { … … 104 110 is_uploaded_file($file_path) && 105 111 is_readable($file_path) && 106 in_array(Data::getMIMEType($file_path), $this->waf_file_mime_check) 112 in_array(Data::getMIMEType($file_path), $this->waf_file_mime_check) && 113 $trust_module == false 107 114 ) { 108 115 //Check uploaded plugins and themes, this sign can be fired only on due $_FILES handling … … 184 191 //then check heuristics if signatures passed 185 192 $heuristic_scanner = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Controller(); 186 $file_to_check = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Structures\FileInfo($file_path);193 $file_to_check = new FileInfoExtended(array('path' => $file_path)); 187 194 $heuristic_result = $heuristic_scanner->scanFile($file_to_check, ''); 188 195 … … 302 309 if ( $overall_result ) { 303 310 if (self::checkVulnerability($source)) { 311 $message = '<b>' . __('If you want to continue the installation, add the file and click install.', 'security-malware-firewall') . '</b>'; 312 echo Escape::escKsesPreset($message, 'spbc_cdn_checker_table'); 313 ?> 314 <form method="post" enctype="multipart/form-data" class="wp-upload-form" 315 action="<?php echo esc_url(self_admin_url('update.php?action=upload-plugin')); ?>"> 316 <?php wp_nonce_field('plugin-upload'); ?> 317 <label class="screen-reader-text" for="pluginzip"> 318 <?php 319 /* translators: Hidden accessibility text. */ 320 _e('Plugin zip file', 'security-malware-firewall'); 321 ?> 322 </label> 323 <input type="hidden" name="trust_module" value="true"> 324 <input type="hidden" name="file_path" id="file_path"> 325 <input type="file" id="pluginzip" name="pluginzip" accept=".zip"/> 326 <?php submit_button(__('Install Now', 'security-malware-firewall'), '', 'install-plugin-submit', false); ?> 327 </form> 328 <?php 329 304 330 return new \WP_Error( 305 331 'spbct.plugin_check.malware_found', -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/ListTable.php
r3034394 r3049762 389 389 390 390 // Sorting 391 if ( in_array($column_key, $this->sortable) ) {391 if ( in_array($column_key, $this->sortable) && count($this->rows) != 1 ) { 392 392 $classes .= ' tbl-column-sortable'; 393 393 $classes .= isset($this->order_by[$column_key]) ? ' tbl-column-sorted' : ''; -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Scanner/DirectoryScan.php
r3028558 r3049762 197 197 }*/ 198 198 199 $file_to_check = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Structures\FileInfo( 200 $file['path'], 201 $file['full_hash'] 202 ); 199 $file_to_check = new FileInfoExtended($file['path']); 203 200 $heur_result = $heuristic_scanner->scanFile($file_to_check, $this->root); 204 201 -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Scanner/FileInfoExtended.php
r2933306 r3049762 63 63 public $size; 64 64 65 /** 66 * @param array $file 67 */ 65 68 public function __construct($file) 66 69 { 67 parent::__construct($file['path'] , $file['full_hash']);70 parent::__construct($file['path']); 68 71 $this->source_type = isset($file['source_type']) ? $file['source_type'] : null; 69 72 $this->source = isset($file['source']) ? $file['source'] : null; -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Scanner/Frontend.php
r3026245 r3049762 413 413 ); 414 414 415 function spbc_check_encoding($string) 416 { 417 if (spbc_check_ascii($string)) { 418 return $string; 419 } 420 421 $string = utf8_decode($string); 422 423 if (spbc_check_ascii($string)) { 424 return $string; 425 } else { 426 return false; 427 } 428 } 429 415 430 $fms_logs_data_prepare = []; 431 $fms_skipped_urls_from_sending = []; 416 432 foreach ($fms_logs_data as $fms_value) { 417 $weak_codes = json_decode($fms_value['weak_spots'], true)['CRITICAL']; 418 $weak_codes_before = json_decode($fms_value['weak_spots'], true)['CONTENT_BEFORE']; 419 $weak_codes_after = json_decode($fms_value['weak_spots'], true)['CONTENT_AFTER']; 433 if (!is_string($fms_value['weak_spots'])) { 434 $fms_skipped_urls_from_sending[] = array('url' => $fms_value['url'], 'skip_reason' => 'weak_spots is not a string'); 435 continue; 436 } 437 438 $weak_spots_decoded = json_decode($fms_value['weak_spots'], true); 439 440 if ( is_null($weak_spots_decoded) ) { 441 $fms_skipped_urls_from_sending[] = array('url' => $fms_value['url'], 'skip_reason' => 'can not decode JSON of weak_spots'); 442 continue; 443 } else { 444 $weak_codes = !empty($weak_spots_decoded['CRITICAL']) ? $weak_spots_decoded['CRITICAL'] : null; 445 $weak_codes_before = !empty($weak_spots_decoded['CONTENT_BEFORE']) ? $weak_spots_decoded['CONTENT_BEFORE'] : null; 446 $weak_codes_after = !empty($weak_spots_decoded['CONTENT_AFTER']) ? $weak_spots_decoded['CONTENT_AFTER'] : null; 447 } 420 448 421 449 if (is_null($weak_codes)) { 450 $fms_skipped_urls_from_sending[] = array('url' => $fms_value['url'], 'skip_reason' => 'weak_spot has no CRITICAL severity'); 422 451 continue; 423 452 } … … 429 458 $page_content_before_bad_code = $weak_codes_before[$weak_code_line]; 430 459 $page_content_after_bad_code = $weak_codes_after[$weak_code_line]; 460 461 if ( 462 !spbc_check_encoding($weak_code) || 463 !spbc_check_encoding($page_content_before_bad_code) || 464 !spbc_check_encoding($weak_code) 465 ) { 466 $fms_skipped_urls_from_sending[] = array('url' => $fms_value['url'], 'skip_reason' => 'non-ASCII symbols found in weak_spots or nearby code'); 467 continue(2); 468 } 431 469 432 470 if (strpos($weak_code, 'iframe') !== false) { … … 444 482 $fms_value['url'], 445 483 $weak_code, 446 spbc_check_ascii($weak_code) ? $weak_code : utf8_decode($weak_code), 447 spbc_check_ascii($page_content_before_bad_code) ? $page_content_before_bad_code : utf8_decode($page_content_before_bad_code), 448 spbc_check_ascii($page_content_after_bad_code) ? $page_content_after_bad_code : utf8_decode($page_content_after_bad_code), 484 $page_content_before_bad_code, 485 $page_content_after_bad_code, 449 486 get_the_modified_date('Y-m-d H:i:s', $fms_value['page_id']), 450 487 $weak_type 451 488 ]; 452 489 } 490 } 491 492 // save skipped url to the data for further investigations 493 if ( ! empty($fms_skipped_urls_from_sending) ) { 494 $spbc->data['fms_log_skipped_urls_from_sending'] = $fms_skipped_urls_from_sending; 495 $spbc->save('data'); 453 496 } 454 497 … … 472 515 ); 473 516 if ( ! empty($result_fms['error']) ) { 474 throw new \Exception(' Frontend result send: ' . $result_fms['error_message']); 517 $error_msg = 'Unknown error.'; 518 if (isset($result_fms['error_message'])) { 519 $error_msg = $result_fms['error_message']; 520 } elseif (is_string($result_fms['error'])) { 521 $error_msg = $result_fms['error']; 522 } 523 throw new \Exception(' Frontend result send: ' . $error_msg); 475 524 } 476 525 } -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/Scanner/ScannerQueue.php
r3041922 r3049762 1065 1065 weak_spots = \'\' 1066 1066 WHERE status = \'DENIED_BY_CT\' 1067 AND full_hash NOT IN (\'' . $where . '\');' 1067 AND full_hash NOT IN (\'' . $where . '\') 1068 AND status <> \'QUARANTINED\';' 1068 1069 ); 1069 1070 … … 1079 1080 severity = \'CRITICAL\', 1080 1081 weak_spots = \'{"DENIED_HASH":{"1":["denied_hash"]}}\' 1081 WHERE full_hash IN (\'' . $where . '\');' 1082 WHERE full_hash IN (\'' . $where . '\') 1083 AND status <> \'QUARANTINED\';' 1082 1084 ); 1083 1085 … … 1619 1621 'end' => true, 1620 1622 'message' => __( 1621 'Files sending s heduled',1623 'Files sending scheduled', 1622 1624 'security-malware-firewall' 1623 1625 ), … … 1747 1749 $file_to_check_with_heuristic = $file_to_check_with_heuristic[0]; 1748 1750 1749 $file_to_check = new \CleantalkSP\Common\Scanner\HeuristicAnalyser\Structures\FileInfo( 1750 $file['path'], 1751 $file['full_hash'] 1752 ); 1751 $file_to_check = new FileInfoExtended($file['path']); 1753 1752 $result = $heuristic_scanner->scanFile($file_to_check, $root_path); 1754 1753 -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php
r3041922 r3049762 62 62 if ( empty($plugin->rs_app_version_max) ) { 63 63 return true; 64 } 65 66 // if no rs_app_version_min provided, makes module 67 // think that all the version below rs_app_version_max is vulnerable 68 if ( empty($plugin->rs_app_version_min) ) { 69 $plugin->rs_app_version_min = '0.0'; 64 70 } 65 71 -
security-malware-firewall/trunk/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmView.php
r3041922 r3049762 19 19 $alarm_text = esc_html__('Security by CleanTalk', 'security-malware-firewall'); 20 20 $alarm_text .= ': '; 21 $alarm_text .= esc_html__('Th e plugin contains known vulnerability', 'security-malware-firewall');21 $alarm_text .= esc_html__('This version contains known vulnerability', 'security-malware-firewall'); 22 22 $alarm_cve_url = $plugin_report->CVE; 23 23 $delete_text = esc_html__('It is strongly recommended to delete the plugin.', 'security-malware-firewall'); -
security-malware-firewall/trunk/readme.txt
r3041922 r3049762 1 1 === Security & Malware scan by CleanTalk === 2 Contributors: glomberg, a rtemacleantalk, alexandergull2 Contributors: glomberg, alexandergull, sergefcleantalk 3 3 Tags: security, firewall, malware, wordpress security, brute force 4 4 Requires at least: 3.0 5 5 Tested up to: 6.4 6 6 Requires PHP: 5.6 7 Stable tag: 2.1 297 Stable tag: 2.130 8 8 License: GPLv2 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 333 333 334 334 == Changelog == 335 336 = 2.130 Mar 12 2024 = 337 * Mod. UploadChecker. Now user can proceed the module installation even if got warning from the UploadChecker. 338 * Mod. Outbound links accordion. Layout refactored. 339 * Mod. Vulnerability Alarm. Run request to research.cleantalk.org after any plugin installation. 340 * Fix. Scanner. Heuristic scan by mathematics module fixed. 341 * Fix. Code. Common lib `cleantalk/spbct-heuristic-analyser` updated. 342 * Fix. Scanner. Auto scan scheduling fixed. 343 * Fix. Frontend scanner. Sending logs. Bad encoding cases handled. Log record keys number fixed. 335 344 336 345 = 2.129 Feb 26 2024 = -
security-malware-firewall/trunk/security-malware-firewall.php
r3041922 r3049762 6 6 Description: Security & Malware scan by CleanTalk to protect your website from online threats and viruses. IP/Country FireWall, Web application FireWall. Detailed stats and logs to have full control. 7 7 Author: CleanTalk Security 8 Version: 2.1 298 Version: 2.130 9 9 Author URI: https://cleantalk.org 10 10 Text Domain: security-malware-firewall … … 248 248 function spbc_security_check_vulnerabilities() 249 249 { 250 global $spbc; 250 251 try { 251 252 VulnerabilityAlarm::checkVulnerabilities(); 253 $spbc->data['spbc_security_check_vulnerabilities_last_call'] = time(); 254 $spbc->save('data'); 252 255 } catch ( \Exception $exception ) { 253 256 return ['error' => $exception->getMessage()];
Note: See TracChangeset
for help on using the changeset viewer.