htdocs: removed files, they have been moved to the repo cppcheck-htdocs
This commit is contained in:
parent
717b9f970f
commit
3e8cf81dbf
674
htdocs/.htaccess
674
htdocs/.htaccess
|
@ -1,674 +0,0 @@
|
|||
# Apache Server Configs v2.2.0 | MIT License
|
||||
# https://github.com/h5bp/server-configs-apache
|
||||
|
||||
# (!) Using `.htaccess` files slows down Apache, therefore, if you have access
|
||||
# to the main server config file (usually called `httpd.conf`), you should add
|
||||
# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html.
|
||||
|
||||
# ##############################################################################
|
||||
# # CROSS-ORIGIN RESOURCE SHARING (CORS) #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Cross-domain AJAX requests |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Allow cross-origin AJAX requests.
|
||||
# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
|
||||
# http://enable-cors.org/
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set Access-Control-Allow-Origin "*"
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | CORS-enabled images |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Send the CORS header for images when browsers request it.
|
||||
# https://developer.mozilla.org/en-US/docs/HTML/CORS_Enabled_Image
|
||||
# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
|
||||
# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
|
||||
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||
SetEnvIf Origin ":" IS_CORS
|
||||
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Web fonts access |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Allow access to web fonts from all domains.
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(eot|otf|tt[cf]|woff)$">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # ERRORS #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | 404 error prevention for non-existing redirected folders |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Prevent Apache from returning a 404 error as the result of a rewrite
|
||||
# when the directory with the same name does not exist.
|
||||
# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews
|
||||
# http://www.webmasterworld.com/apache/3808792.htm
|
||||
|
||||
Options -MultiViews
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Custom error messages / pages |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Customize what Apache returns to the client in case of an error.
|
||||
# http://httpd.apache.org/docs/current/mod/core.html#errordocument
|
||||
|
||||
ErrorDocument 404 /404.html
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # INTERNET EXPLORER #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Better website experience |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Force Internet Explorer to render pages in the highest available mode
|
||||
# in the various cases when it may not.
|
||||
# http://hsivonen.iki.fi/doctype/ie-mode.pdf
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
Header set X-UA-Compatible "IE=edge"
|
||||
# `mod_headers` cannot match based on the content-type, however, this
|
||||
# header should be send only for HTML pages and not for the other resources
|
||||
<FilesMatch "\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$">
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Cookie setting from iframes |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Allow cookies to be set from iframes in Internet Explorer.
|
||||
# http://msdn.microsoft.com/en-us/library/ms537343.aspx
|
||||
# http://www.w3.org/TR/2000/CR-P3P-20001215/
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
|
||||
# </IfModule>
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # MIME TYPES AND ENCODING #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Proper MIME types for all files |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
|
||||
# Audio
|
||||
AddType audio/mp4 m4a f4a f4b
|
||||
AddType audio/ogg oga ogg opus
|
||||
|
||||
# Data interchange
|
||||
AddType application/json json map
|
||||
AddType application/ld+json jsonld
|
||||
|
||||
# JavaScript
|
||||
# Normalize to standard type.
|
||||
# http://tools.ietf.org/html/rfc4329#section-7.2
|
||||
AddType application/javascript js
|
||||
|
||||
# Video
|
||||
AddType video/mp4 f4v f4p m4v mp4
|
||||
AddType video/ogg ogv
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
|
||||
# Web fonts
|
||||
AddType application/font-woff woff
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
|
||||
# Browsers usually ignore the font MIME types and simply sniff the bytes
|
||||
# to figure out the font type.
|
||||
# http://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern
|
||||
|
||||
# Chrome however, shows a warning if any other MIME types are used for
|
||||
# the following fonts.
|
||||
|
||||
AddType application/x-font-ttf ttc ttf
|
||||
AddType font/opentype otf
|
||||
|
||||
# Make SVGZ fonts work on the iPad.
|
||||
# https://twitter.com/FontSquirrel/status/14855840545
|
||||
AddType image/svg+xml svgz
|
||||
AddEncoding gzip svgz
|
||||
|
||||
# Other
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType application/xml atom rdf rss xml
|
||||
AddType image/webp webp
|
||||
AddType image/x-icon cur
|
||||
AddType text/cache-manifest appcache manifest
|
||||
AddType text/vtt vtt
|
||||
AddType text/x-component htc
|
||||
AddType text/x-vcard vcf
|
||||
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | UTF-8 encoding |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Use UTF-8 encoding for anything served as `text/html` or `text/plain`.
|
||||
AddDefaultCharset utf-8
|
||||
|
||||
# Force UTF-8 for certain file formats.
|
||||
<IfModule mod_mime.c>
|
||||
AddCharset utf-8 .atom .css .js .json .jsonld .rss .vtt .webapp .xml
|
||||
</IfModule>
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # URL REWRITES #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Rewrite engine |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Turn on the rewrite engine and enable the `FollowSymLinks` option (this is
|
||||
# necessary in order for the following directives to work).
|
||||
|
||||
# If your web host doesn't allow the `FollowSymlinks` option, you may need to
|
||||
# comment it out and use `Options +SymLinksIfOwnerMatch`, but be aware of the
|
||||
# performance impact.
|
||||
# http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
|
||||
|
||||
# Also, some cloud hosting services require `RewriteBase` to be set.
|
||||
# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
Options +FollowSymlinks
|
||||
# Options +SymLinksIfOwnerMatch
|
||||
RewriteEngine On
|
||||
# RewriteBase /
|
||||
# Redirect "democlient.html" to the new place...
|
||||
Redirect permanent /democlient.html http://cppcheck.sourceforge.net/demo/
|
||||
|
||||
# Redirect "devinfo.html" to the new place...
|
||||
Redirect permanent /devinfo.html http://cppcheck.sourceforge.net/devinfo/
|
||||
|
||||
# Redirect doxyoutput, coverage- and cpd report to the new place...
|
||||
Redirect permanent /doxyoutput/ http://cppcheck.sourceforge.net/devinfo/doxyoutput/
|
||||
Redirect permanent /doxygen-errors.txt http://cppcheck.sourceforge.net/devinfo/doxygen-errors.txt
|
||||
Redirect permanent /coverage_report/ http://cppcheck.sourceforge.net/devinfo/coverage_report/
|
||||
Redirect permanent /cpd.txt http://cppcheck.sourceforge.net/devinfo/cpd.txt
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Suppressing / Forcing the `www.` at the beginning of URLs |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# The same content should never be available under two different URLs,
|
||||
# especially not with and without `www.` at the beginning. This can cause
|
||||
# SEO problems (duplicate content), and therefore, you should choose one
|
||||
# of the alternatives and redirect the other one.
|
||||
|
||||
# By default `Option 1` (no `www.`) is activated.
|
||||
# http://no-www.org/faq.php?q=class_b
|
||||
|
||||
# If you would prefer to use `Option 2`, just comment out all the lines
|
||||
# from `Option 1` and uncomment the ones from `Option 2`.
|
||||
|
||||
# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# Option 1: rewrite www.example.com → example.com
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteCond %{HTTPS} !=on
|
||||
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
|
||||
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
|
||||
</IfModule>
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# Option 2: rewrite example.com → www.example.com
|
||||
|
||||
# Be aware that the following might not be a good idea if you use "real"
|
||||
# subdomains for certain parts of your website.
|
||||
|
||||
# <IfModule mod_rewrite.c>
|
||||
# RewriteCond %{HTTPS} !=on
|
||||
# RewriteCond %{HTTP_HOST} !^www\. [NC]
|
||||
# RewriteCond %{SERVER_ADDR} !=127.0.0.1
|
||||
# RewriteCond %{SERVER_ADDR} !=::1
|
||||
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||
# </IfModule>
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # SECURITY #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Clickjacking |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Protect website against clickjacking.
|
||||
|
||||
# The example below sends the `X-Frame-Options` response header with the value
|
||||
# `DENY`, informing browsers not to display the web page content in any frame.
|
||||
|
||||
# This might not be the best setting for everyone. You should read about the
|
||||
# other two possible values for `X-Frame-Options`: `SAMEORIGIN` & `ALLOW-FROM`.
|
||||
# http://tools.ietf.org/html/rfc7034#section-2.1
|
||||
|
||||
# Keep in mind that while you could send the `X-Frame-Options` header for all
|
||||
# of your site’s pages, this has the potential downside that it forbids even
|
||||
# non-malicious framing of your content (e.g.: when users visit your site using
|
||||
# a Google Image Search results page).
|
||||
|
||||
# Nonetheless, you should ensure that you send the `X-Frame-Options` header for
|
||||
# all pages that allow a user to make a state changing operation (e.g: pages
|
||||
# that contain one-click purchase links, checkout or bank-transfer confirmation
|
||||
# pages, pages that make permanent configuration changes, etc.).
|
||||
|
||||
# Sending the `X-Frame-Options` header can also protect your website against
|
||||
# more than just clickjacking attacks: https://cure53.de/xfo-clickjacking.pdf.
|
||||
|
||||
# http://tools.ietf.org/html/rfc7034
|
||||
# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
|
||||
# https://www.owasp.org/index.php/Clickjacking
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set X-Frame-Options "DENY"
|
||||
# <FilesMatch "\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$">
|
||||
# Header unset X-Frame-Options
|
||||
# </FilesMatch>
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Content Security Policy (CSP) |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Mitigate the risk of cross-site scripting and other content-injection attacks.
|
||||
|
||||
# This can be done by setting a `Content Security Policy` which whitelists
|
||||
# trusted sources of content for your website.
|
||||
|
||||
# The example header below allows ONLY scripts that are loaded from the current
|
||||
# site's origin (no inline scripts, no CDN, etc). This almost certainly won't
|
||||
# work as-is for your site!
|
||||
|
||||
# For more details on how to craft a reasonable policy for your site, read:
|
||||
# http://html5rocks.com/en/tutorials/security/content-security-policy (or the
|
||||
# specification: http://w3.org/TR/CSP). Also, to make things easier, you can
|
||||
# use an online CSP header generator such as: http://cspisawesome.com/.
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
|
||||
# <FilesMatch "\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$">
|
||||
# Header unset Content-Security-Policy
|
||||
# </FilesMatch>
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | File access |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Block access to directories without a default document.
|
||||
# You should leave the following uncommented, as you shouldn't allow anyone to
|
||||
# surf through every directory on your server (which may includes rather private
|
||||
# places such as the CMS's directories).
|
||||
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# Block access to hidden files and directories.
|
||||
# This includes directories used by version control systems such as Git and SVN.
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule "(^|/)\." - [F]
|
||||
</IfModule>
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# Block access to files that can expose sensitive information.
|
||||
|
||||
# By default, block access to backup and source files that may be left by some
|
||||
# text editors and can pose a security risk when anyone has access to them.
|
||||
# http://feross.org/cmsploit/
|
||||
|
||||
# IMPORTANT: Update the `<FilesMatch>` regular expression from below to include
|
||||
# any files that might end up on your production server and can expose sensitive
|
||||
# information about your website. These files may include: configuration files,
|
||||
# files that contain metadata about the project (e.g.: project dependencies),
|
||||
# build scripts, etc..
|
||||
|
||||
<FilesMatch "(^#.*#|\.(bak|config|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$">
|
||||
|
||||
# Apache < 2.3
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</IfModule>
|
||||
|
||||
# Apache ≥ 2.3
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
|
||||
</FilesMatch>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Reducing MIME-type security risks |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Prevent some browsers from MIME-sniffing the response.
|
||||
|
||||
# This reduces exposure to drive-by download attacks and should be enable
|
||||
# especially if the web server is serving user uploaded content, content
|
||||
# that could potentially be treated by the browser as executable.
|
||||
|
||||
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
|
||||
# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
|
||||
# http://mimesniff.spec.whatwg.org/
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set X-Content-Type-Options "nosniff"
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Reflected Cross-Site Scripting (XSS) attacks |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# (1) Try to re-enable the Cross-Site Scripting (XSS) filter built into the
|
||||
# most recent web browsers.
|
||||
#
|
||||
# The filter is usually enabled by default, but in some cases it may be
|
||||
# disabled by the user. However, in Internet Explorer for example, it can
|
||||
# be re-enabled just by sending the `X-XSS-Protection` header with the
|
||||
# value of `1`.
|
||||
#
|
||||
# (2) Prevent web browsers from rendering the web page if a potential reflected
|
||||
# (a.k.a non-persistent) XSS attack is detected by the filter.
|
||||
#
|
||||
# By default, if the filter is enabled and browsers detect a reflected
|
||||
# XSS attack, they will attempt to block the attack by making the smallest
|
||||
# possible modifications to the returned web page.
|
||||
#
|
||||
# Unfortunately, in some browsers (e.g.: Internet Explorer), this default
|
||||
# behavior may allow the XSS filter to be exploited, thereby, it's better
|
||||
# to tell browsers to prevent the rendering of the page altogether, instead
|
||||
# of attempting to modify it.
|
||||
#
|
||||
# http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities
|
||||
#
|
||||
# IMPORTANT: Do not rely on the XSS filter to prevent XSS attacks! Ensure that
|
||||
# you are taking all possible measures to prevent XSS attacks, the most obvious
|
||||
# being: validating and sanitizing your site's inputs.
|
||||
#
|
||||
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
|
||||
# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx
|
||||
# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# # (1) (2)
|
||||
# Header set X-XSS-Protection "1; mode=block"
|
||||
# <FilesMatch "\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$">
|
||||
# Header unset X-XSS-Protection
|
||||
# </FilesMatch>
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Secure Sockets Layer (SSL) |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Rewrite secure requests properly in order to prevent SSL certificate warnings.
|
||||
# E.g.: prevent `https://www.example.com` when your certificate only allows
|
||||
# `https://secure.example.com`.
|
||||
|
||||
# <IfModule mod_rewrite.c>
|
||||
# RewriteCond %{SERVER_PORT} !^443
|
||||
# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | HTTP Strict Transport Security (HSTS) |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Force client-side SSL redirection.
|
||||
|
||||
# If a user types `example.com` in his browser, the above rule will redirect
|
||||
# him to the secure version of the site. That still leaves a window of
|
||||
# opportunity (the initial HTTP connection) for an attacker to downgrade or
|
||||
# redirect the request.
|
||||
|
||||
# The following header ensures that browser will ONLY connect to your server
|
||||
# via HTTPS, regardless of what the users type in the address bar.
|
||||
|
||||
# http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1
|
||||
# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
|
||||
|
||||
# IMPORTANT: Remove the `includeSubDomains` optional directive if the subdomains
|
||||
# are not using HTTPS.
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set Strict-Transport-Security "max-age=16070400; includeSubDomains"
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Server software information |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Avoid displaying the exact Apache version number, the description of the
|
||||
# generic OS-type and the information about Apache's compiled-in modules.
|
||||
|
||||
# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`!
|
||||
|
||||
# ServerTokens Prod
|
||||
|
||||
|
||||
# ##############################################################################
|
||||
# # WEB PERFORMANCE #
|
||||
# ##############################################################################
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Compression |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
|
||||
# Force compression for mangled headers.
|
||||
# http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following MIME-types
|
||||
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
|
||||
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
|
||||
# as `AddOutputFilterByType` is still in the core directives).
|
||||
# <IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/ld+json \
|
||||
application/rss+xml \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/x-web-app-manifest+json \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/opentype \
|
||||
image/svg+xml \
|
||||
image/x-icon \
|
||||
text/css \
|
||||
text/html \
|
||||
text/plain \
|
||||
text/x-component \
|
||||
text/xml
|
||||
# </IfModule>
|
||||
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Content transformations |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Prevent mobile network providers from modifying the website's content.
|
||||
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5.
|
||||
|
||||
# <IfModule mod_headers.c>
|
||||
# Header set Cache-Control "no-transform"
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | ETags |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Remove `ETags` as resources are sent with far-future expires headers.
|
||||
# http://developer.yahoo.com/performance/rules.html#etags.
|
||||
|
||||
# `FileETag None` doesn't work in all cases.
|
||||
<IfModule mod_headers.c>
|
||||
Header unset ETag
|
||||
</IfModule>
|
||||
|
||||
FileETag None
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Expires headers |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# The following expires headers are set pretty far in the future. If you
|
||||
# don't control versioning with filename-based cache busting, consider
|
||||
# lowering the cache time for resources such as style sheets and JavaScript
|
||||
# files to something like one week.
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 month"
|
||||
|
||||
# CSS
|
||||
ExpiresByType text/css "access plus 1 week"
|
||||
|
||||
# Data interchange
|
||||
ExpiresByType application/json "access plus 0 seconds"
|
||||
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||
ExpiresByType application/xml "access plus 0 seconds"
|
||||
ExpiresByType text/xml "access plus 0 seconds"
|
||||
|
||||
# Favicon (cannot be renamed!) and cursor images
|
||||
ExpiresByType image/x-icon "access plus 1 week"
|
||||
|
||||
# HTML components (HTCs)
|
||||
ExpiresByType text/x-component "access plus 1 month"
|
||||
|
||||
# HTML
|
||||
ExpiresByType text/html "access plus 0 seconds"
|
||||
|
||||
# JavaScript
|
||||
ExpiresByType application/javascript "access plus 1 week"
|
||||
|
||||
# Manifest files
|
||||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||
|
||||
# Media
|
||||
ExpiresByType audio/ogg "access plus 1 month"
|
||||
ExpiresByType image/gif "access plus 1 month"
|
||||
ExpiresByType image/jpeg "access plus 1 month"
|
||||
ExpiresByType image/png "access plus 1 month"
|
||||
ExpiresByType video/mp4 "access plus 1 month"
|
||||
ExpiresByType video/ogg "access plus 1 month"
|
||||
ExpiresByType video/webm "access plus 1 month"
|
||||
|
||||
# Web feeds
|
||||
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||
|
||||
# Web fonts
|
||||
ExpiresByType application/font-woff "access plus 1 month"
|
||||
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
||||
ExpiresByType application/x-font-ttf "access plus 1 month"
|
||||
ExpiresByType font/opentype "access plus 1 month"
|
||||
ExpiresByType image/svg+xml "access plus 1 month"
|
||||
|
||||
</IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | Filename-based cache busting |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# If you're not using a build process to manage your filename version revving,
|
||||
# you might want to consider enabling the following directives to route all
|
||||
# requests such as `/css/style.12345.css` to `/css/style.css`.
|
||||
|
||||
# To understand why this is important and a better idea than `*.css?v231`, read:
|
||||
# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring
|
||||
|
||||
# <IfModule mod_rewrite.c>
|
||||
# RewriteCond %{REQUEST_FILENAME} !-f
|
||||
# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpe?g|gif)$ $1.$3 [L]
|
||||
# </IfModule>
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# | File concatenation |
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Allow concatenation from within specific style sheets and JavaScript files.
|
||||
|
||||
# e.g.:
|
||||
#
|
||||
# If you have the following content in a file
|
||||
#
|
||||
# <!--#include file="libs/jquery.js" -->
|
||||
# <!--#include file="plugins/jquery.timer.js" -->
|
||||
#
|
||||
# Apache will replace it with the content from the specified files.
|
||||
|
||||
# <IfModule mod_include.c>
|
||||
# <FilesMatch "\.combined\.js$">
|
||||
# Options +Includes
|
||||
# AddOutputFilterByType INCLUDES application/javascript application/json
|
||||
# SetOutputFilter INCLUDES
|
||||
# </FilesMatch>
|
||||
# <FilesMatch "\.combined\.css$">
|
||||
# Options +Includes
|
||||
# AddOutputFilterByType INCLUDES text/css
|
||||
# SetOutputFilter INCLUDES
|
||||
# </FilesMatch>
|
||||
# </IfModule>
|
|
@ -1,59 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Cppcheck - Page Not Found</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style>
|
||||
|
||||
* {
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
color: #888;
|
||||
font-family: sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
body {
|
||||
left: 50%;
|
||||
margin: -43px 0 0 -150px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #555;
|
||||
font-size: 2em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 270px) {
|
||||
|
||||
body {
|
||||
margin: 10px auto;
|
||||
position: static;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Page Not Found</h1>
|
||||
<p>Sorry, but the page you were trying to view does not exist.</p>
|
||||
</body>
|
||||
</html>
|
||||
<!-- IE needs 512+ bytes: http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx -->
|
|
@ -1,9 +0,0 @@
|
|||
Getting started
|
||||
---------------
|
||||
|
||||
* Install [node.js](http://nodejs.org/download/)
|
||||
* Install the node.js dependencies: `npm install`
|
||||
* Run `node make` or `node make minify`
|
||||
|
||||
You can run `npm run lint` to run [JSHint](https://github.com/jshint/jshint)
|
||||
and [csslint](https://github.com/stubbornella/csslint) for our files.
|
|
@ -1,10 +0,0 @@
|
|||
<script type="text/javascript">
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-42882943-1', 'sourceforge.net');
|
||||
ga('set', 'anonymizeIp', true);
|
||||
ga('send', 'pageview');
|
||||
</script>
|
|
@ -1,102 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Online Demo - Cppcheck</title>
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&text=Cppcheck" />
|
||||
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
window.jQuery || document.write('<script type="text/javascript" src="/site/js/jquery-1.11.0.min.js"><\/script>')
|
||||
//]]>
|
||||
</script>
|
||||
<script src="/site/js/pack.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
function checkCodeLength() {
|
||||
if (document.f.code.value.length > 1024) {
|
||||
alert("code length exceeded");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="wrap">
|
||||
<h1><a href="/">Cppcheck</a></h1>
|
||||
<p>A tool for static C/C++ code analysis</p>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #header -->
|
||||
<div id="tabs">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
|
||||
<li><a href="http://5.150.254.56:8001/trac-cppcheck/">Issues</a></li>
|
||||
<li><a href="/devinfo/" title="Developer Information">Developer Info</a></li>
|
||||
<li><strong><a href="/demo/">Online Demo</a></strong></li>
|
||||
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #tabs -->
|
||||
<div id="content">
|
||||
<div class="wrap">
|
||||
<h2>Online Demo</h2>
|
||||
<form action="/cgi-bin/democlient-test.cgi" name="f" onsubmit="return checkCodeLength();" method="get" target="_blank">
|
||||
<p><label for="code">Enter code:</label> <span class="maxChars">(max 1024 characters)</span><br />
|
||||
<textarea id="code" name="code" rows="20" cols="80">
|
||||
void f()
|
||||
{
|
||||
char *p;
|
||||
*p = 0;
|
||||
}
|
||||
</textarea><br />
|
||||
<input type="submit" value="Check" />
|
||||
<label><input type="checkbox" name="xml" value="1" />XML output</label></p>
|
||||
</form>
|
||||
<h3>Examples</h3>
|
||||
<p>This code can be copied and pasted in the edit box above.</p>
|
||||
<h4>NULL pointers</h4>
|
||||
<pre class="cpp geshicode"><span class="kw4">void</span> f1<span class="br0">(</span><span class="kw4">struct</span> fred_t <span class="sy2">*</span>p<span class="br0">)</span>
|
||||
<span class="br0">{</span>
|
||||
<span class="co1">// dereference p and then check if it's NULL</span>
|
||||
<span class="kw4">int</span> x <span class="sy1">=</span> p<span class="sy2">-</span><span class="sy1">></span>x<span class="sy4">;</span>
|
||||
<span class="kw1">if</span> <span class="br0">(</span>p<span class="br0">)</span>
|
||||
do_something<span class="br0">(</span>x<span class="br0">)</span><span class="sy4">;</span>
|
||||
<span class="br0">}</span>
|
||||
|
||||
<span class="kw4">void</span> f2<span class="br0">(</span><span class="br0">)</span>
|
||||
<span class="br0">{</span>
|
||||
<span class="kw4">const</span> <span class="kw4">char</span> <span class="sy2">*</span>p <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
|
||||
<span class="kw1">for</span> <span class="br0">(</span><span class="kw4">int</span> i <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> str<span class="br0">[</span>i<span class="br0">]</span> <span class="sy3">!</span><span class="sy1">=</span> <span class="st0">'<span class="es5">\0</span>'</span><span class="sy4">;</span> i<span class="sy2">++</span><span class="br0">)</span>
|
||||
<span class="br0">{</span>
|
||||
<span class="kw1">if</span> <span class="br0">(</span>str<span class="br0">[</span>i<span class="br0">]</span> <span class="sy1">==</span> <span class="st0">' '</span><span class="br0">)</span>
|
||||
<span class="br0">{</span>
|
||||
p <span class="sy1">=</span> str <span class="sy2">+</span> i<span class="sy4">;</span>
|
||||
<span class="kw1">break</span><span class="sy4">;</span>
|
||||
<span class="br0">}</span>
|
||||
<span class="br0">}</span>
|
||||
|
||||
<span class="co1">// p is NULL if str doesn't have a space. If str always has a</span>
|
||||
<span class="co1">// a space then the condition (str[i] != '\0') would be redundant</span>
|
||||
<span class="kw1">return</span> p<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span><span class="sy4">;</span>
|
||||
<span class="br0">}</span>
|
||||
|
||||
<span class="kw4">void</span> f3<span class="br0">(</span><span class="kw4">int</span> a<span class="br0">)</span>
|
||||
<span class="br0">{</span>
|
||||
<span class="kw4">struct</span> fred_t <span class="sy2">*</span>p <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
|
||||
<span class="kw1">if</span> <span class="br0">(</span>a <span class="sy1">==</span> <span class="nu0">1</span><span class="br0">)</span>
|
||||
p <span class="sy1">=</span> fred1<span class="sy4">;</span>
|
||||
|
||||
<span class="co1">// if a is not 1 then p is NULL</span>
|
||||
p<span class="sy2">-</span><span class="sy1">></span>x <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span>
|
||||
<span class="br0">}</span></pre>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #content -->
|
||||
<?php include_once("../analyticstracking.php") ?>
|
||||
</body>
|
||||
</html>
|
|
@ -1,178 +0,0 @@
|
|||
<?php
|
||||
$isCodePosted = isset($_POST['code']) && !empty($_POST['code']);
|
||||
$isXmlOutput = isset($_POST['xml']) && $_POST['xml'] == '1';
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param string $code Source code
|
||||
* @return string Output lines
|
||||
*/
|
||||
function get_democlient_output($code) {
|
||||
$postdata = http_build_query(
|
||||
array(
|
||||
'code' => $code
|
||||
)
|
||||
);
|
||||
|
||||
$opts = array('http' =>
|
||||
array(
|
||||
'method' => 'POST',
|
||||
'header' => 'Content-type: application/x-www-form-urlencoded',
|
||||
'content' => $postdata
|
||||
)
|
||||
);
|
||||
|
||||
$context = stream_context_create($opts);
|
||||
|
||||
return @file_get_contents('http://cppcheck.sourceforge.net/cgi-bin/democlient.cgi', false, $context);
|
||||
}
|
||||
|
||||
function cut_string($string, $length = 1024) {
|
||||
if (strlen($string) > $length) {
|
||||
return substr($string, 0, $length);
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// XML output...
|
||||
//--------------------------------------------------------------------------------
|
||||
if ($isXmlOutput) { //if XML output...
|
||||
header('Content-Type: text/xml');
|
||||
|
||||
if (!$isCodePosted) { //if NO code posted...
|
||||
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<results></results>\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
$output = get_democlient_output(cut_string($_POST['code']));
|
||||
|
||||
if ($output === false) { //if NO demo client output...
|
||||
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<results></results>\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
echo $output;
|
||||
exit;
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Online Demo Report - Cppcheck</title>
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&text=Cppcheck" />
|
||||
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
window.jQuery || document.write('<script type="text/javascript" src="/site/js/jquery-1.11.0.min.js"><\/script>')
|
||||
//]]>
|
||||
</script>
|
||||
<script src="/site/js/pack.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#resultsTable").tableFilter();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="wrap">
|
||||
<h1><a href="/">Cppcheck</a></h1>
|
||||
<p>A tool for static C/C++ code analysis</p>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #header -->
|
||||
<div id="tabs">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/trac/cppcheck/">Issues</a></li>
|
||||
<li><a href="/devinfo/" title="Developer Information">Developer Info</a></li>
|
||||
<li><em><a href="/demo/">Online Demo</a></em></li>
|
||||
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #tabs -->
|
||||
<div id="content">
|
||||
<div class="wrap">
|
||||
<h2>Online Demo Report</h2>
|
||||
<?php
|
||||
/**
|
||||
* ...
|
||||
* @param string $output Output lines
|
||||
* @return array Parsed output
|
||||
*/
|
||||
function parse_democlient_output($output) {
|
||||
try {
|
||||
$parsed = array();
|
||||
$xml = simplexml_load_string($output);
|
||||
foreach ($xml->errors->error as $error) { //for all errors...
|
||||
$severity = (string)$error->attributes()->severity;
|
||||
$msg = (string)$error->attributes()->msg;
|
||||
$line = (string)$error->location->attributes()->line;
|
||||
if (!empty($severity) && !empty($msg) && !empty($line)) { //if complete error...
|
||||
$parsed[] = array('severity' => $severity, 'msg' => $msg, 'line' => $line);
|
||||
}
|
||||
}
|
||||
return $parsed;
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
if ($isCodePosted) { //if code posted...
|
||||
include_once '../../site/geshi/geshi.php';
|
||||
|
||||
$code = cut_string($_POST['code']);
|
||||
|
||||
$geshi = new GeSHi($code, 'cpp');
|
||||
$geshi->enable_classes();
|
||||
$geshi->set_header_type(GESHI_HEADER_PRE_TABLE);
|
||||
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
|
||||
$geshi->set_overall_class('geshicode');
|
||||
|
||||
echo "<h3>Input</h3>\n";
|
||||
echo $geshi->parse_code();
|
||||
|
||||
echo "<h3>Output</h3>\n";
|
||||
|
||||
$output = get_democlient_output($code);
|
||||
|
||||
if (!$output === false) {
|
||||
$results = parse_democlient_output($output);
|
||||
|
||||
if (!empty($results)) {
|
||||
echo "<table id=\"resultsTable\">\n";
|
||||
echo "<thead>\n";
|
||||
echo " <tr><th class=\"center\" filter-type=\"ddl\">Line</th><th class=\"center\" filter-type=\"ddl\">Severity</th><th>Message</th></tr>\n";
|
||||
echo "</thead>\n";
|
||||
echo "<tbody>\n";
|
||||
foreach ($results as $result) { //for each result...
|
||||
echo " <tr><td class=\"center\">" . htmlspecialchars($result['line']) . "</td><td class=\"center\">" . htmlspecialchars($result['severity']) . "</td><td>" . htmlspecialchars($result['msg']) . "</td></tr>\n";
|
||||
}
|
||||
echo "</tbody>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
else {
|
||||
echo "<p>No errors found.</p>\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo "<p>Problem with demo client. Please try again.</p>\n";
|
||||
}
|
||||
}
|
||||
else { //if NO code posted...
|
||||
echo "<p>Use the <a href=\"/demo/\">online demo</a> page to create the report.</p>\n";
|
||||
}
|
||||
?>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #content -->
|
||||
<?php include_once("../../analyticstracking.php") ?>
|
||||
</body>
|
||||
</html>
|
|
@ -1,123 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Developer Information - Cppcheck</title>
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&text=Cppcheck" />
|
||||
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<link rel="alternate" type="application/atom+xml" title="Recent Commits to cppcheck:master"
|
||||
href="https://github.com/danmar/cppcheck/commits/master.atom" />
|
||||
<link rel="alternate" type="application/atom+xml" title="Trac Timeline"
|
||||
href="http://sourceforge.net/apps/trac/cppcheck/timeline?changeset=on&ticket=on&milestone=on&wiki=on&max=50&daysback=90&format=rss" />
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
window.jQuery || document.write('<script type="text/javascript" src="/site/js/jquery-1.11.0.min.js"><\/script>')
|
||||
//]]>
|
||||
</script>
|
||||
<script src="/site/js/pack.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#github-commits").listCommits("danmar", "cppcheck", "master");
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="wrap">
|
||||
<h1><a href="/">Cppcheck</a></h1>
|
||||
<p>A tool for static C/C++ code analysis</p>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #header -->
|
||||
<div id="tabs">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
|
||||
<li><a href="http://5.150.254.56:8001/trac-cppcheck/">Issues</a></li>
|
||||
<li><strong><a href="/devinfo/" title="Developer Information">Developer Info</a></strong></li>
|
||||
<li><a href="/demo/">Online Demo</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #tabs -->
|
||||
<div id="anchors">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="#source-code">Source Code</a></li>
|
||||
<li><a href="#trac-timeline">Trac Timeline</a></li>
|
||||
<li><a href="#active-forum-topics">Active Forum Topics</a></li>
|
||||
<li><a href="#doxygen">Doxygen</a></li>
|
||||
<li><a href="#other">Other</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #anchors -->
|
||||
<div id="content">
|
||||
<div class="wrap">
|
||||
<h2 id="source-code">Source Code</h2>
|
||||
<p>Latest version can be found in the <a href="https://github.com/danmar/cppcheck/">
|
||||
cppcheck git repository</a>.</p>
|
||||
<p>To get the source code using git:</p>
|
||||
<pre class="cmd">git clone git://github.com/danmar/cppcheck.git</pre>
|
||||
<p>To get the source code using subversion:</p>
|
||||
<pre class="cmd">svn checkout https://github.com/danmar/cppcheck/trunk</pre>
|
||||
<p>You can also <a href="https://github.com/danmar/cppcheck/downloads">download
|
||||
the latest sources in a zip or tgz archive</a> from the github website.</p>
|
||||
<h3>Recent Commits</h3>
|
||||
<div id="github-commits"><a href="https://github.com/danmar/cppcheck/commits/master">View recent commits…</a></div>
|
||||
<p><a href="https://github.com/danmar/cppcheck/commits/master">View all commits…</a></p>
|
||||
<h2 id="trac-timeline">Trac Timeline</h2>
|
||||
<?php
|
||||
require '../site/simplepie/simplepie.php';
|
||||
|
||||
$feed = new SimplePie();
|
||||
$feed->set_feed_url('http://sourceforge.net/apps/trac/cppcheck/timeline?changeset=on&ticket=on&milestone=on&wiki=on&max=10&daysback=90&format=rss');
|
||||
$feed->set_cache_location('../site/simplepie/cache');
|
||||
$feed->init();
|
||||
print("<ul class=\"rssfeeditems\">\n");
|
||||
foreach ($feed->get_items() as $item) { //for the last timeline items...
|
||||
if ($author = $item->get_author()) {
|
||||
$author = "by <strong>".trim($author->get_name())."</strong>";
|
||||
} else {
|
||||
$author = null;
|
||||
}
|
||||
print(" <li><a href=\"".$item->get_link()."\">".$item->get_title()."</a> <em>".$author." on ".$item->get_date('Y-m-d')."</em></li>\n");
|
||||
}
|
||||
print("</ul>\n");
|
||||
?>
|
||||
<p><a href="http://sourceforge.net/apps/trac/cppcheck/timeline">View complete Trac timeline…</a></p>
|
||||
<h2 id="active-forum-topics">Active Forum Topics</h2>
|
||||
<?php
|
||||
require '../site/activetopics.php';
|
||||
|
||||
$activetopics = new Forum_ActiveTopics('http://sourceforge.net/apps/phpbb/cppcheck/');
|
||||
print("<ul class=\"rssfeeditems\">\n");
|
||||
foreach ($activetopics->getTopics(0, 10) as $topic) { //for all active topics...
|
||||
$lastPostLine = '';
|
||||
if ($topic->getLastPost() != null) {
|
||||
$lastPost = $topic->getLastPost();
|
||||
$lastPostLine = sprintf('last post by <strong>%1$s</strong> at %2$s', $lastPost->getUser(), $lastPost->getDate('Y-m-d H:i'));
|
||||
}
|
||||
print(" <li><a href=\"".$topic->getLink()."\">".$topic->getTitle()."</a> <em>".$lastPostLine."</em></li>\n");
|
||||
}
|
||||
print("</ul>\n");
|
||||
?>
|
||||
<p><a href="http://sourceforge.net/apps/phpbb/cppcheck/search.php?st=0&search_id=active_topics">View all active topics…</a></p>
|
||||
<h2 id="doxygen">Doxygen</h2>
|
||||
<ul>
|
||||
<li><a href="doxyoutput/">Output</a></li>
|
||||
<li><a href="doxygen-errors.txt">Errors</a></li>
|
||||
</ul>
|
||||
<h2 id="other">Other</h2>
|
||||
<ul>
|
||||
<li>DACA2 - Scanning Debian with Cppcheck. Version: <a href="daca2-cppcheck1.63/daca2.html">1.63</a> / <a href="daca2-cppcheck1.64/daca2.html">1.64</a> / <a href="daca2-report/daca2.html">head</a></li>
|
||||
<li><a href="coverage_report/">Coverage report</a></li>
|
||||
<li><a href="cpd.txt">CPD report (duplicate code)</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #content -->
|
||||
<?php include_once("../analyticstracking.php") ?>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,137 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="description" content="google summer of code 2014 ideas" />
|
||||
<meta name="keywords" content="Cppcheck, google summer of code" />
|
||||
<title>google summer of code 2014 ideas</title>
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&text=Cppcheck" />
|
||||
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="wrap">
|
||||
<h1><a href="/">Cppcheck</a></h1>
|
||||
<p>A tool for static C/C++ code analysis</p>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #header -->
|
||||
<div id="tabs">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/trac/cppcheck/">Issues</a></li>
|
||||
<li><a href="/devinfo/" title="Developer Information">Developer Info</a></li>
|
||||
<li><a href="/demo/">Online Demo</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #tabs -->
|
||||
<div id="content">
|
||||
<div class="wrap">
|
||||
|
||||
<h2>Overview</h2>
|
||||
|
||||
<p>
|
||||
<ol>
|
||||
<li>Core Cppcheck
|
||||
<ol>
|
||||
<li>Add 1 new checker (C++)</li>
|
||||
<li>Abstract interpretation of loops (C++)</li>
|
||||
<li>Check for unused functions when -j is used (C++)</li>
|
||||
</ol></li>
|
||||
<li>Configurations
|
||||
<ol>
|
||||
<li>Add a configuration (XML)</li>
|
||||
<li>Auto generate configuration (C++ / scripting)
|
||||
<li>GUI for editing configurations (C++,Qt)</li>
|
||||
</ol></li>
|
||||
<li>Distributed computing
|
||||
<ol>
|
||||
<li>Distributed computing (Network programming, Python / C++)</li>
|
||||
</ol></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h2>1. Core Cppcheck</h2>
|
||||
|
||||
<p>
|
||||
<strong>Project 1.1</strong><br>
|
||||
<strong>Name:</strong> Add 1 new checker<br>
|
||||
<strong>Skills required:</strong> C++<br>
|
||||
<strong>Description:</strong> There are several tickets in our issue tracker that has ideas for new checkers.
|
||||
The subtasks will be: pick a ticket to fix, write test cases, implement new checker, test it against various
|
||||
projects.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Project 1.2</strong><br>
|
||||
<strong>Name:</strong> Abstract interpretation of loops<br>
|
||||
<strong>Skills required:</strong> C++<br>
|
||||
<strong>Description:</strong> You will write an C/C++ expression interpreter that uses the Cppcheck syntax
|
||||
tree to interpret the expressions in loops. When there are unknown operands (variables with unknown value,
|
||||
etc) the interpreter shall bailout. You will interpret the loop expressions until : the loop finish , or
|
||||
there is a timeout , or the variables are unchanged. During the interpretation, the variable values will be
|
||||
recorded and saved as ValueFlow values. You can read an overview of the Cppcheck syntax tree and ValueFlow
|
||||
analysis in the <a href="http://sourceforge.net/projects/cppcheck/files/Articles/cppcheck-design.pdf">cppcheck
|
||||
design</a> document.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Project 1.3</strong><br>
|
||||
<strong>Name:</strong> Check for unused functions when -j is used<br>
|
||||
<strong>Skills required:</strong> C++, threads<br>
|
||||
<strong>Description:</strong> Currently the check for unused functions only works when the analysis is
|
||||
single-threaded. When multithreaded analysis is done the check is disabled. Currently the check saves function
|
||||
usage information in a container. The same container is used for all files. This should be refactored. For each
|
||||
file there should be a separate container for the function usage information.
|
||||
</p>
|
||||
|
||||
<h2>2. Configurations</h2>
|
||||
|
||||
<p>
|
||||
<strong>Project 2.1</strong><br>
|
||||
<strong>Name:</strong> Add a configuration<br>
|
||||
<strong>Skills required:</strong> C/C++ (not much), XML<br>
|
||||
<strong>Description:</strong> More configuration files are needed for various libraries. Subtasks: choose
|
||||
a popular library. Analyse the library functions and read API documentation. Write proper configuration
|
||||
file for Cppcheck. Test the configuration.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Project 2.2</strong><br>
|
||||
<strong>Name:</strong> Autogenerated configurations<br>
|
||||
<strong>Skills required:</strong> C++ / scripting<br>
|
||||
<strong>Description:</strong> Auto generate configuration from headers. To parse the headers, you can for
|
||||
instance do this yourself (python script/c++/..) or you can modify cppcheck. All function names will be
|
||||
extracted, and you will also determine what function arguments are passed by value.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Project 2.3</strong><br>
|
||||
<strong>Name:</strong> GUI for editing configurations<br>
|
||||
<strong>Skills required:</strong> C++, Qt<br>
|
||||
<strong>Description:</strong> A graphical user interface for editing configurations would be nice. This can
|
||||
be developed as a standalone program or integrated in the cppcheck-gui program. However in the end the plan
|
||||
is that it will be merged into the cppcheck-gui program.
|
||||
</p>
|
||||
|
||||
<h2>3. Distributed computing</h2>
|
||||
|
||||
<p>
|
||||
<strong>Project 3.1</strong><br>
|
||||
<strong>Name:</strong> Distributed computing<br>
|
||||
<strong>Skills required:</strong> Network, python / c++<br>
|
||||
<strong>Description:</strong> Make it possible to distribute analysis. A client and server needs to be
|
||||
written. The client will execute cppcheck to perform analysis. The programming language used to write the
|
||||
client and server is either python or c++ (your choice). The server shall be able to handle at least 100
|
||||
clients. The client and server needs to be cross platform.
|
||||
</p>
|
||||
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #content -->
|
||||
|
||||
</body>
|
||||
</html>
|
160
htdocs/index.php
160
htdocs/index.php
|
@ -1,160 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="description" content="Cppcheck is an analysis tool for C/C++ code.
|
||||
It detects the types of bugs that the compilers normally fail to detect. The
|
||||
goal is no false positives." />
|
||||
<meta name="keywords" content="Cppcheck, open source, analysis tool, C/C++,
|
||||
code, errors, bugs, compilers, bounds checking, memory leaks, obsolete functions,
|
||||
uninitialized variables, unused functions" />
|
||||
<title>Cppcheck - A tool for static C/C++ code analysis</title>
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&text=Cppcheck" />
|
||||
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Project News"
|
||||
href="http://sourceforge.net/p/cppcheck/news/feed" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="wrap">
|
||||
<h1><a href="/">Cppcheck</a></h1>
|
||||
<p>A tool for static C/C++ code analysis</p>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #header -->
|
||||
<div id="tabs">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><strong><a href="/">Home</a></strong></li>
|
||||
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
|
||||
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
|
||||
<li><a href="http://5.150.254.56:8001/trac-cppcheck/">Issues</a></li>
|
||||
<li><a href="/devinfo/" title="Developer Information">Developer Info</a></li>
|
||||
<li><a href="/demo/">Online Demo</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #tabs -->
|
||||
<div id="anchors">
|
||||
<div class="wrap">
|
||||
<ul>
|
||||
<li><a href="#download">Download</a></li>
|
||||
<li><a href="#features">Features</a></li>
|
||||
<li><a href="#news">News</a></li>
|
||||
<li><a href="#documentation">Documentation</a></li>
|
||||
<li><a href="#support">Support</a></li>
|
||||
<li><a href="#contribute">Contribute</a></li>
|
||||
</ul>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #anchors -->
|
||||
<div id="content">
|
||||
<div class="wrap">
|
||||
<p>
|
||||
<strong>Cppcheck</strong> is a <a href="http://en.wikipedia.org/wiki/Static_analysis_tool">static analysis tool</a>
|
||||
for C/C++ code. Unlike C/C++ compilers and many other analysis tools it does
|
||||
not detect syntax errors in the code. Cppcheck primarily detects the types of
|
||||
bugs that the compilers normally do not detect. The goal is to detect only real
|
||||
errors in the code (i.e. have zero false positives).
|
||||
</p>
|
||||
|
||||
<h2 id="download">Download</h2>
|
||||
<p>
|
||||
<a class="downloadnow" href="http://sourceforge.net/projects/cppcheck/files/cppcheck/1.65/cppcheck-1.65-x86-Setup.msi">
|
||||
<span class="downButtonText">Download Now!</span>
|
||||
<span class="downButtonVersion">Version 1.65 for Windows</span>
|
||||
</a>
|
||||
</p>
|
||||
<p>You can download the standalone Cppcheck from our <a href="http://sourceforge.net/projects/cppcheck/">project page</a> or add it
|
||||
as a plugin for your favorite IDE:</p>
|
||||
<ul>
|
||||
<li><strong>Code::Blocks</strong> - <em>integrated</em></li>
|
||||
<li><strong>CodeLite</strong> - <em>integrated</em></li>
|
||||
<li><strong>Eclipse</strong> - <a href="http://cppcheclipse.googlecode.com/">Cppcheclipse</a></li>
|
||||
<li><strong>gedit</strong> - <a href="http://github.com/odamite/gedit-cppcheck">gedit plugin</a></li>
|
||||
<li><strong>Hudson</strong> - <a href="http://wiki.hudson-ci.org/display/HUDSON/Cppcheck+Plugin">Cppcheck Plugin</a></li>
|
||||
<li><strong>Jenkins</strong> - <a href="http://wiki.jenkins-ci.org/display/JENKINS/Cppcheck+Plugin">Cppcheck Plugin</a></li>
|
||||
<li><strong>Mercurial (Linux)</strong> - <a href="http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Mercurialhook">pre-commit hook</a> - Check for new errors on commit (requires interactive terminal)</li>
|
||||
<li><strong>Tortoise SVN</strong> - <a href="http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Tortoisesvn">Adding a pre-commit hook script</a></li>
|
||||
<li><strong>Visual Studio</strong> - <a href="https://github.com/VioletGiraffe/cppcheck-vs-addin/releases/latest">Visual Studio plugin</a></li>
|
||||
</ul>
|
||||
|
||||
<p>Using a battery of tools is better than using 1 tool. Therefore we recommend that you also use other tools.</p>
|
||||
|
||||
<p>One other tool you can use is <a href="http://www.viva64.com/en/pvs-studio/">PVS-Studio</a>. There is a
|
||||
<a href="http://www.viva64.com/en/b/0149/">comparison of Cppcheck and PVS-Studio</a> and we believe it's a good and honest comparison.
|
||||
PVS-Studio is commercial, however there is a free trial.</p>
|
||||
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Out of bounds checking</li>
|
||||
<li>Check the code for each class</li>
|
||||
<li>Checking exception safety</li>
|
||||
<li>Memory leaks checking</li>
|
||||
<li>Warn if obsolete functions are used</li>
|
||||
<li>Check for invalid usage of <acronym title="Standard Template Library">STL</acronym></li>
|
||||
<li>Check for uninitialized variables and unused functions</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="news">News</h2>
|
||||
<?php
|
||||
require './site/simplepie/simplepie.php';
|
||||
|
||||
$feed = new SimplePie();
|
||||
$feed->set_feed_url('http://sourceforge.net/p/cppcheck/news/feed');
|
||||
$feed->set_cache_location('./site/simplepie/cache');
|
||||
$feed->init();
|
||||
print("<ul class=\"rssfeeditems\">\n");
|
||||
foreach ($feed->get_items(0, 3) as $item) { //for the last 3 news items...
|
||||
print(" <li><a href=\"".$item->get_link()."\">".$item->get_title()."</a> <em>".$item->get_date('Y-m-d')."</em></li>\n");
|
||||
}
|
||||
print("</ul>\n");
|
||||
?>
|
||||
<p><a href="http://sourceforge.net/p/cppcheck/news/">View all news…</a></p>
|
||||
|
||||
<h2 id="documentation">Documentation</h2>
|
||||
<p>You can read the <a href="manual.pdf">manual</a> or download some
|
||||
<a href="http://sourceforge.net/projects/cppcheck/files/Articles/">articles</a>.</p>
|
||||
|
||||
<h2 id="support">Support</h2>
|
||||
<ul>
|
||||
<li>Use <a href="http://sourceforge.net/apps/trac/cppcheck/">Trac</a> to report
|
||||
bugs and feature requests</li>
|
||||
<li>Ask questions in the <a href="http://sourceforge.net/apps/phpbb/cppcheck/">discussion forum</a>
|
||||
or at the IRC channel <a href="irc://irc.freenode.net/#cppcheck">#cppcheck</a></li>
|
||||
<li>For more details look at the <a href="http://sourceforge.net/apps/mediawiki/cppcheck/">wiki</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="contribute">Contribute</h2>
|
||||
<p>You are welcome to contribute. Help is needed.</p>
|
||||
<dl>
|
||||
<dt>Testing</dt>
|
||||
<dd>Pick a project and test it's source with latest version. Write tickets to
|
||||
<a href="http://sourceforge.net/apps/trac/cppcheck/">Trac</a> about issues you
|
||||
find from Cppcheck. If you test open source projects and write bug reports to
|
||||
them, check the issues in the “<a href="http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Found_bugs">Found bugs</a>”
|
||||
wiki section, and write links to the bug reports you have created e.g. to our
|
||||
<a href="http://sourceforge.net/apps/phpbb/cppcheck/">forum</a>, so we can keep
|
||||
a track about them.</dd>
|
||||
<dt>Developing</dt>
|
||||
<dd>Pick a ticket from <a href="http://sourceforge.net/apps/trac/cppcheck/">Trac</a>,
|
||||
write a test case for it (and write a comment to the ticket that test case has
|
||||
been created). Or pick a test case that fails and try to fix it. Make a patch
|
||||
and submit it to Trac either inline if it is small, or attach it as a file.</dd>
|
||||
<dt>Marketing</dt>
|
||||
<dd>Write articles, reviews or tell your friends about us. The more users we
|
||||
have, the more people we have testing and the better we can become.</dd>
|
||||
<dt>Design</dt>
|
||||
<dd>Invent new good checks and create tickets to <a href="http://sourceforge.net/apps/trac/cppcheck/">Trac</a>
|
||||
about them.</dd>
|
||||
<dt>Integration</dt>
|
||||
<dd>Write a plugin to your favorite IDE or create a package for your distribution
|
||||
or operating system.</dd>
|
||||
<dt>Technical Writer</dt>
|
||||
<dd>Write better documentation for the bugs we find. Currently only a few bugs
|
||||
have any documentation at all.</dd>
|
||||
</dl>
|
||||
</div> <!-- .wrap -->
|
||||
</div> <!-- #content -->
|
||||
<?php include_once("analyticstracking.php") ?>
|
||||
</body>
|
||||
</html>
|
|
@ -1,99 +0,0 @@
|
|||
/**!
|
||||
* Cppcheck - A tool for static C/C++ code analysis
|
||||
* Copyright (C) 2014 XhmikosR and Cppcheck team.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
require("shelljs/make");
|
||||
var fs = require("fs"),
|
||||
CleanCSS = require("clean-css"),
|
||||
UglifyJS = require("uglify-js"),
|
||||
rootDir = __dirname + "/"; // absolute path to project's root
|
||||
|
||||
//
|
||||
// make minify
|
||||
//
|
||||
target.minify = function () {
|
||||
cd(rootDir);
|
||||
echo();
|
||||
echo("### Minifying css files...");
|
||||
|
||||
// pack.css
|
||||
var inCss = cat(["site/css/normalize.css",
|
||||
"site/css/all.css",
|
||||
"site/css/demo.css"]);
|
||||
|
||||
var minifier = new CleanCSS({
|
||||
keepSpecialComments: 0,
|
||||
compatibility: "ie8"
|
||||
});
|
||||
|
||||
fs.writeFileSync("site/css/pack.css", minifier.minify(inCss), "utf8");
|
||||
|
||||
echo();
|
||||
echo("### Finished site/css/pack.css.");
|
||||
|
||||
echo();
|
||||
echo("### Minifying js files...");
|
||||
|
||||
var inJs = cat(["site/js/github.js",
|
||||
"site/js/picnet.table.filter.min.js"]);
|
||||
|
||||
var minifiedJs = UglifyJS.minify(inJs, {
|
||||
compress: true,
|
||||
fromString: true, // this is needed to pass JS source code instead of filenames
|
||||
mangle: true,
|
||||
warnings: false
|
||||
});
|
||||
|
||||
fs.writeFileSync("site/js/pack.js", minifiedJs.code, "utf8");
|
||||
|
||||
echo();
|
||||
echo("### Finished site/js/pack.js.");
|
||||
|
||||
minifiedJs = UglifyJS.minify(cat("site/js/sorttable.js"), {
|
||||
compress: true,
|
||||
fromString: true, // this is needed to pass JS source code instead of filenames
|
||||
mangle: true,
|
||||
warnings: false
|
||||
});
|
||||
|
||||
fs.writeFileSync("site/js/sorttable.min.js", minifiedJs.code, "utf8");
|
||||
|
||||
echo();
|
||||
echo("### Finished site/js/sorttable.min.js.");
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// make all
|
||||
//
|
||||
target.all = function () {
|
||||
target.minify();
|
||||
};
|
||||
|
||||
//
|
||||
// make help
|
||||
//
|
||||
target.help = function () {
|
||||
echo("Available targets:");
|
||||
echo(" minify Creates the minified CSS and JS");
|
||||
echo(" help shows this help message");
|
||||
};
|
||||
|
||||
}());
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"name": "cppcheck-web",
|
||||
"version": "0.2.0",
|
||||
"author": "XhmikosR (https://github.com/XhmikosR)",
|
||||
"description": "The dependencies to build cppcheck's website",
|
||||
"homepage": "https://github.com/danmar/cppcheck",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/danmar/cppcheck.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "http://sourceforge.net/apps/trac/cppcheck/wiki"
|
||||
},
|
||||
"license": "GPLv3",
|
||||
"main": "make.js",
|
||||
"scripts": {
|
||||
"lint": "node run-tests"
|
||||
},
|
||||
"dependencies": {
|
||||
"clean-css": "~2.1.8",
|
||||
"csslint": "~0.10.0",
|
||||
"jshint": "~2.5.1",
|
||||
"shelljs": "~0.3.0",
|
||||
"uglify-js": "~2.4.13"
|
||||
},
|
||||
"jshintConfig": {
|
||||
"camelcase": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"forin": true,
|
||||
"indent": 4,
|
||||
"latedef": true,
|
||||
"noarg": true,
|
||||
"node": true,
|
||||
"noempty": true,
|
||||
"quotmark": "double",
|
||||
"shelljs": true,
|
||||
"strict": true,
|
||||
"undef": true,
|
||||
"unused": true
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
/**!
|
||||
* Cppcheck - A tool for static C/C++ code analysis
|
||||
* Copyright (C) 2014 XhmikosR and Cppcheck team.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
require("shelljs/global");
|
||||
|
||||
cd(__dirname);
|
||||
|
||||
//
|
||||
// JSHint
|
||||
//
|
||||
var jshintBin = "./node_modules/jshint/bin/jshint";
|
||||
|
||||
if (!test("-f", jshintBin)) {
|
||||
echo("JSHint not found. Run `npm install` in the root dir first.");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (exec("node" + " " + jshintBin + " " + "make.js run-tests.js site/js/github.js").code !== 0) {
|
||||
echo("*** JSHint failed! (return code != 0)");
|
||||
echo();
|
||||
} else {
|
||||
echo("JSHint completed successfully");
|
||||
echo();
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// csslint
|
||||
//
|
||||
var csslintBin = "./node_modules/csslint/cli.js";
|
||||
|
||||
if (!test("-f", csslintBin)) {
|
||||
echo("csslint not found. Run `npm install` in the root dir first.");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// csslint doesn't return proper error codes...
|
||||
/*if (exec("node" + " " + csslintBin + " " + "css/all.css").code !== 0) {
|
||||
echo("*** csslint failed! (return code != 0)");
|
||||
echo();
|
||||
}*/
|
||||
exec("node" + " " + csslintBin + " " + "site/css/all.css");
|
|
@ -1,265 +0,0 @@
|
|||
<?php
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
class Forum_ActiveTopics {
|
||||
/**
|
||||
* ...
|
||||
* @var string ...
|
||||
*/
|
||||
private $_forumHome;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @var array ...
|
||||
*/
|
||||
private $_topics;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param string $forumHome ...
|
||||
*/
|
||||
public function __construct($forumHome) {
|
||||
$this->_forumHome = $forumHome;
|
||||
$this->_topics = array();
|
||||
|
||||
$this->update();
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param int $start ...
|
||||
* @param int $end ...
|
||||
* @return array ...
|
||||
*/
|
||||
public function getTopics($start = 0, $end = 0) {
|
||||
if ($end == 0) {
|
||||
return array_slice($this->_topics, $start);
|
||||
}
|
||||
else {
|
||||
return array_slice($this->_topics, $start, $end);
|
||||
}
|
||||
//return $this->_topics;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param int $days ...
|
||||
*/
|
||||
public function update($days = 30) {
|
||||
$this->_topics = array();
|
||||
$html = file_get_contents($this->_forumHome . 'search.php?st=' . $days . '&search_id=active_topics');
|
||||
$html = strip_tags($html, '<a><dd>');
|
||||
$html = preg_replace(array('#\t#', '#&sid=[a-z0-9]+#'), '', $html);
|
||||
if (preg_match_all('#<a href="\./(.*?)" class="topictitle">(.*?)</a>#im', $html, $matches)) {
|
||||
$lastPosts = array();
|
||||
if (preg_match_all('#<dd class="lastpost">\nby <a href="\./(.*?)">(.*?)</a><a href=".*?"></a> ([A-Za-z0-9,: ]+) \n</dd>#i', $html, $lastPostMatches)) {
|
||||
$lastPostUserLinks = $lastPostMatches[1];
|
||||
$lastPostUserNames = $lastPostMatches[2];
|
||||
$lastPostTimes = $lastPostMatches[3];
|
||||
for ($i = 0; $i < count($lastPostUserLinks); $i++) { //for all users...
|
||||
$link = $this->_forumHome . $lastPostUserLinks[$i];
|
||||
$name = $lastPostUserNames[$i];
|
||||
$timestamp = strtotime($lastPostTimes[$i]);
|
||||
if ($timestamp === false || $timestamp === -1) {
|
||||
$timestamp = 0;
|
||||
}
|
||||
|
||||
$lastPosts[] = new Forum_LastPost(new Forum_User($link, $name), $timestamp);
|
||||
}
|
||||
}
|
||||
$links = $matches[1];
|
||||
$titles = $matches[2];
|
||||
for ($i = 0; $i < count($links); $i++) { //for all topics...
|
||||
$link = $this->_forumHome . $links[$i];
|
||||
$title = $titles[$i];
|
||||
$lastPost = $lastPosts[$i];
|
||||
|
||||
$this->_topics[] = new Forum_Topic($link, $title, $lastPost);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Forum_Topic {
|
||||
/**
|
||||
* ...
|
||||
* @var string ...
|
||||
*/
|
||||
private $_link;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @var string ...
|
||||
*/
|
||||
private $_title;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @var Forum_LastPost ...
|
||||
*/
|
||||
private $_lastPost;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param string $link ...
|
||||
* @param string $title ...
|
||||
* @param Forum_LastPost $lastPost ...
|
||||
*/
|
||||
public function __construct($link, $title, $lastPost = null) {
|
||||
$this->_link = $link;
|
||||
$this->_title = $title;
|
||||
$this->_lastPost = $lastPost;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return string ...
|
||||
*/
|
||||
public function getLink() {
|
||||
return $this->_link;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return string ...
|
||||
*/
|
||||
public function getTitle() {
|
||||
return $this->_title;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return Forum_LastPost ...
|
||||
*/
|
||||
public function getLastPost() {
|
||||
return $this->_lastPost;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return Forum_User ...
|
||||
* @deprecated
|
||||
*/
|
||||
public function getLastPostUser() {
|
||||
if (!empty($this->_lastPost)) {
|
||||
return $this->_lastPost->getUser();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return integer ...
|
||||
* @deprecated
|
||||
*/
|
||||
public function getLastPostTimestamp() {
|
||||
if (!empty($this->_lastPost)) {
|
||||
return $this->_lastPost->getTimestamp();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
class Forum_User {
|
||||
/**
|
||||
* ...
|
||||
* @var string ...
|
||||
*/
|
||||
private $_link;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @var string ...
|
||||
*/
|
||||
private $_name;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param string $link ...
|
||||
* @param string $name ...
|
||||
*/
|
||||
public function __construct($link, $name) {
|
||||
$this->_link = $link;
|
||||
$this->_name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return string ...
|
||||
*/
|
||||
public function getLink() {
|
||||
return $this->_link;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return string ...
|
||||
*/
|
||||
public function getName() {
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
*/
|
||||
public function __toString() {
|
||||
return $this->_name;
|
||||
}
|
||||
}
|
||||
|
||||
class Forum_LastPost {
|
||||
/**
|
||||
* ...
|
||||
* @var Forum_User ...
|
||||
*/
|
||||
private $_user;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @var integer ...
|
||||
*/
|
||||
private $_timestamp;
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @param Forum_User $user ...
|
||||
* @param integer $timestamp ...
|
||||
*/
|
||||
public function __construct($user, $timestamp) {
|
||||
$this->_user = $user;
|
||||
$this->_timestamp = $timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return Forum_User ...
|
||||
*/
|
||||
public function getUser() {
|
||||
return $this->_user;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return integer ...
|
||||
*/
|
||||
public function getTimestamp() {
|
||||
return $this->_timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* ...
|
||||
* @return string ...
|
||||
*/
|
||||
public function getDate($format) {
|
||||
return date($format, $this->_timestamp);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -1,192 +0,0 @@
|
|||
/*csslint box-sizing: false, ids: false, qualified-headings: false*/
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
font: 16px Calibri, Verdana, sans-serif;
|
||||
color: black;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/* Default link style */
|
||||
a:hover {
|
||||
-webkit-transition: all 0.20s ease-in-out;
|
||||
-moz-transition: all 0.20s ease-in-out;
|
||||
-o-transition: all 0.20s ease-in-out;
|
||||
transition: all 0.20s ease-in-out;
|
||||
}
|
||||
|
||||
a:link,
|
||||
a:visited { color: #036; text-decoration: underline; }
|
||||
|
||||
a:active,
|
||||
a:focus,
|
||||
a:hover,
|
||||
a:visited { color: #369; }
|
||||
|
||||
|
||||
/* Header */
|
||||
#header {
|
||||
color: #69c;
|
||||
background-color: #036;
|
||||
}
|
||||
|
||||
#header a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: Orbitron;
|
||||
}
|
||||
|
||||
#header p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
/* Tabs */
|
||||
#tabs {
|
||||
color: #eee;
|
||||
background-color: #369;
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
#tabs ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
display: inline;
|
||||
padding: 0 0.5em;
|
||||
border-right: 1px solid black;
|
||||
}
|
||||
|
||||
#tabs li:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#tabs li:last-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#tabs a:link,
|
||||
#tabs a:visited { color: #eee; text-decoration: none; }
|
||||
|
||||
#tabs a:focus,
|
||||
#tabs a:hover,
|
||||
#tabs a:active { color: white; text-decoration: underline; }
|
||||
|
||||
|
||||
/* Anchors */
|
||||
#anchors ul {
|
||||
margin: 0;
|
||||
padding: 0.5em 0;
|
||||
list-style-type: none;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
#anchors li {
|
||||
display: inline;
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
|
||||
#anchors li:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#anchors .wrap {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Wrap */
|
||||
.wrap {
|
||||
width: 50em;
|
||||
margin: 0 auto;
|
||||
padding: 0.5em;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
|
||||
/* RSS feed items */
|
||||
.rssfeeditems em {
|
||||
margin-left: 0.5em;
|
||||
color: #888;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
a.author:link,
|
||||
a.author:visited,
|
||||
a.author:link:hover,
|
||||
a.author:visited:hover,
|
||||
a.author:focus,
|
||||
a.author:active {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
|
||||
/* "Download Now!" link */
|
||||
a.downloadnow {
|
||||
display: block;
|
||||
width: 12em;
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
background-color: #060;
|
||||
border: 1px solid #003D00;
|
||||
-webkit-border-radius: 0.5em;
|
||||
-khtml-border-radius: 0.5em;
|
||||
-moz-border-radius: 0.5em;
|
||||
border-radius: 0.5em;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
a.downloadnow:focus,
|
||||
a.downloadnow:hover {
|
||||
background-color: #090;
|
||||
}
|
||||
|
||||
.downButtonText {
|
||||
display: block;
|
||||
font-size: larger;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.downButtonVersion {
|
||||
display: block;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
/* Command */
|
||||
.cmd {
|
||||
padding: 0.5em;
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid silver;
|
||||
border-left: 10px solid silver;
|
||||
}
|
||||
|
||||
/* Printing */
|
||||
@media print {
|
||||
#header { color: black; border-bottom: 1px solid black; }
|
||||
#tabs { display: none; }
|
||||
#resultsTable th,
|
||||
#resultsTable td { background-color: white; border: 1px solid black; }
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
table {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
td {
|
||||
font-size: 0.9em;
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
td + td {
|
||||
padding-left: 6em;
|
||||
}
|
||||
|
||||
th {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
th + th {
|
||||
padding-left: 5em;
|
||||
}
|
||||
|
||||
table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):after {
|
||||
content: " \25B4\25BE";
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
/* Source Code */
|
||||
.geshicode {
|
||||
padding: 0.5em;
|
||||
background: #f7f7f7;
|
||||
border: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
/* Results table */
|
||||
#resultsTable {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#resultsTable th {
|
||||
padding: 0.25em;
|
||||
text-align: left;
|
||||
background: #e2e2e2;
|
||||
border: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
#resultsTable td {
|
||||
padding: 0.25em;
|
||||
background: #f7f7f7;
|
||||
border: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
#resultsTable .center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Max characters */
|
||||
.maxChars {
|
||||
margin-left: 2em;
|
||||
color: #888;
|
||||
font-size: smaller;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
||||
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
||||
*/
|
||||
.cpp.geshicode .de1, .cpp.geshicode .de2 {font:normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
||||
.cpp.geshicode {font-family:monospace;}
|
||||
.cpp.geshicode .imp {font-weight:bold; color:red;}
|
||||
.cpp.geshicode li, .cpp.geshicode .li1 {font-weight:normal; vertical-align:top;}
|
||||
.cpp.geshicode .ln {width:1px; text-align:right; margin:0; padding:0 2px; vertical-align:top; color:#999999;}
|
||||
.cpp.geshicode .kw1 {color:#0000ff;}
|
||||
.cpp.geshicode .kw2 {color:#0000ff;}
|
||||
.cpp.geshicode .kw3 {color:#0000dd;}
|
||||
.cpp.geshicode .kw4 {color:#0000ff;}
|
||||
.cpp.geshicode .co1 {color:#666666;}
|
||||
.cpp.geshicode .co2 {color:#339900;}
|
||||
.cpp.geshicode .coMULTI {color:#ff0000; font-style:italic;}
|
||||
.cpp.geshicode .es0 {color:#000099; font-weight:bold;}
|
||||
.cpp.geshicode .es1 {color:#000099; font-weight:bold;}
|
||||
.cpp.geshicode .es2 {color:#660099; font-weight:bold;}
|
||||
.cpp.geshicode .es3 {color:#660099; font-weight:bold;}
|
||||
.cpp.geshicode .es4 {color:#660099; font-weight:bold;}
|
||||
.cpp.geshicode .es5 {color:#006699; font-weight:bold;}
|
||||
.cpp.geshicode .br0 {color:#008000;}
|
||||
.cpp.geshicode .sy0 {color:#008000;}
|
||||
.cpp.geshicode .sy1 {color:#000080;}
|
||||
.cpp.geshicode .sy2 {color:#000040;}
|
||||
.cpp.geshicode .sy3 {color:#000040;}
|
||||
.cpp.geshicode .sy4 {color:#008080;}
|
||||
.cpp.geshicode .st0 {color:#ff0000;}
|
||||
.cpp.geshicode .nu0 {color:#0000dd;}
|
||||
.cpp.geshicode .nu6 {color:#208080;}
|
||||
.cpp.geshicode .nu8 {color:#208080;}
|
||||
.cpp.geshicode .nu12 {color:#208080;}
|
||||
.cpp.geshicode .nu16 {color:#800080;}
|
||||
.cpp.geshicode .nu17 {color:#800080;}
|
||||
.cpp.geshicode .nu18 {color:#800080;}
|
||||
.cpp.geshicode .nu19 {color:#800080;}
|
||||
.cpp.geshicode .me1 {color:#007788;}
|
||||
.cpp.geshicode .me2 {color:#007788;}
|
||||
.cpp.geshicode span.xtra {display:block;}
|
|
@ -1,423 +0,0 @@
|
|||
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
|
||||
|
||||
/**
|
||||
* 1. Set default font family to sans-serif.
|
||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default margin.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct `block` display not defined in IE 8/9.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
||||
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `[hidden]` styling not present in IE 8/9.
|
||||
* Hide the `template` element in IE, Safari, and Firefox < 22.
|
||||
*/
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background color from active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address variable `h1` font-size and margin within `section` and `article`
|
||||
* contexts in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove border when inside `a` element in IE 8/9.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct overflow displayed oddly in IE 9.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margin not present in IE 8/9 and Safari 5.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address differences between Firefox and other browsers.
|
||||
*/
|
||||
|
||||
hr {
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contain overflow in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address odd `em`-unit font size rendering in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
||||
* styling of `select`, unless a `border` property is set.
|
||||
*/
|
||||
|
||||
/**
|
||||
* 1. Correct color not being inherited.
|
||||
* Known issue: affects color of disabled elements.
|
||||
* 2. Correct font properties not being inherited.
|
||||
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
margin: 0; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `overflow` set to `hidden` in IE 8/9/10.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||
* All other form control elements do not inherit `text-transform` values.
|
||||
* Correct `button` style inheritance in Firefox, IE 8+, and Opera
|
||||
* Correct `select` style inheritance in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and border in Firefox 4+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* It's recommended that you don't attempt to style these elements.
|
||||
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
||||
*
|
||||
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
||||
* 2. Remove excess padding in IE 8/9/10.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
||||
* `font-size` values of the `input`, it causes the cursor style of the
|
||||
* decrement button to change from `default` to `text`.
|
||||
*/
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box; /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
||||
* Safari (but not Chrome) clips the cancel button when the search input has
|
||||
* padding (and `textfield` appearance).
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `color` not being inherited in IE 8/9.
|
||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default vertical scrollbar in IE 8/9.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Don't inherit the `font-weight` (applied by a rule above).
|
||||
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
||||
*/
|
||||
|
||||
optgroup {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Tables
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0;
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,281 +0,0 @@
|
|||
<?php
|
||||
/*************************************************************************************
|
||||
* c.php
|
||||
* -----
|
||||
* Author: Nigel McNie (nigel@geshi.org)
|
||||
* Contributors:
|
||||
* - Jack Lloyd (lloyd@randombit.net)
|
||||
* - Michael Mol (mikemol@gmail.com)
|
||||
* Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
|
||||
* Release Version: 1.0.8.11
|
||||
* Date Started: 2004/06/04
|
||||
*
|
||||
* C language file for GeSHi.
|
||||
*
|
||||
* CHANGES
|
||||
* -------
|
||||
* 2009/01/22 (1.0.8.3)
|
||||
* - Made keywords case-sensitive.
|
||||
* 2008/05/23 (1.0.7.22)
|
||||
* - Added description of extra language features (SF#1970248)
|
||||
* 2004/XX/XX (1.0.4)
|
||||
* - Added a couple of new keywords (Jack Lloyd)
|
||||
* 2004/11/27 (1.0.3)
|
||||
* - Added support for multiple object splitters
|
||||
* 2004/10/27 (1.0.2)
|
||||
* - Added support for URLs
|
||||
* 2004/08/05 (1.0.1)
|
||||
* - Added support for symbols
|
||||
* 2004/07/14 (1.0.0)
|
||||
* - First Release
|
||||
*
|
||||
* TODO (updated 2009/02/08)
|
||||
* -------------------------
|
||||
* - Get a list of inbuilt functions to add (and explore C more
|
||||
* to complete this rather bare language file
|
||||
*
|
||||
*************************************************************************************
|
||||
*
|
||||
* This file is part of GeSHi.
|
||||
*
|
||||
* GeSHi is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GeSHi is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GeSHi; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
$language_data = array (
|
||||
'LANG_NAME' => 'C',
|
||||
'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
|
||||
'COMMENT_MULTI' => array('/*' => '*/'),
|
||||
'COMMENT_REGEXP' => array(
|
||||
//Multiline-continued single-line comments
|
||||
1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
|
||||
//Multiline-continued preprocessor define
|
||||
2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
|
||||
),
|
||||
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
|
||||
'QUOTEMARKS' => array("'", '"'),
|
||||
'ESCAPE_CHAR' => '',
|
||||
'ESCAPE_REGEXP' => array(
|
||||
//Simple Single Char Escapes
|
||||
1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
|
||||
//Hexadecimal Char Specs
|
||||
2 => "#\\\\x[\da-fA-F]{2}#",
|
||||
//Hexadecimal Char Specs
|
||||
3 => "#\\\\u[\da-fA-F]{4}#",
|
||||
//Hexadecimal Char Specs
|
||||
4 => "#\\\\U[\da-fA-F]{8}#",
|
||||
//Octal Char Specs
|
||||
5 => "#\\\\[0-7]{1,3}#"
|
||||
),
|
||||
'NUMBERS' =>
|
||||
GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
|
||||
GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
|
||||
GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
|
||||
'KEYWORDS' => array(
|
||||
1 => array(
|
||||
'if', 'return', 'while', 'case', 'continue', 'default',
|
||||
'do', 'else', 'for', 'switch', 'goto'
|
||||
),
|
||||
2 => array(
|
||||
'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
|
||||
),
|
||||
3 => array(
|
||||
// assert.h
|
||||
'assert',
|
||||
|
||||
//complex.h
|
||||
'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan',
|
||||
'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj',
|
||||
'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh',
|
||||
|
||||
//ctype.h
|
||||
'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl',
|
||||
'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace',
|
||||
'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper',
|
||||
|
||||
//inttypes.h
|
||||
'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax',
|
||||
'wcstoumax',
|
||||
|
||||
//locale.h
|
||||
'localeconv', 'setlocale',
|
||||
|
||||
//math.h
|
||||
'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
|
||||
'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow',
|
||||
'sin', 'sinh', 'sqrt', 'tan', 'tanh',
|
||||
|
||||
//setjmp.h
|
||||
'longjmp', 'setjmp',
|
||||
|
||||
//signal.h
|
||||
'raise',
|
||||
|
||||
//stdarg.h
|
||||
'va_arg', 'va_copy', 'va_end', 'va_start',
|
||||
|
||||
//stddef.h
|
||||
'offsetof',
|
||||
|
||||
//stdio.h
|
||||
'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc',
|
||||
'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar',
|
||||
'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell',
|
||||
'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf',
|
||||
'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf',
|
||||
'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile',
|
||||
'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf',
|
||||
'vsprintf', 'vsscanf',
|
||||
|
||||
//stdlib.h
|
||||
'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch',
|
||||
'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv',
|
||||
'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod',
|
||||
'strtol', 'strtoul', 'system',
|
||||
|
||||
//string.h
|
||||
'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat',
|
||||
'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror',
|
||||
'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr',
|
||||
'strspn', 'strstr', 'strtok', 'strxfrm',
|
||||
|
||||
//time.h
|
||||
'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime',
|
||||
'mktime', 'strftime', 'time',
|
||||
|
||||
//wchar.h
|
||||
'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide',
|
||||
'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc',
|
||||
'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf',
|
||||
'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb',
|
||||
'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn',
|
||||
'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk',
|
||||
'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok',
|
||||
'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp',
|
||||
'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf',
|
||||
|
||||
//wctype.h
|
||||
'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit',
|
||||
'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace',
|
||||
'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper',
|
||||
'wctrans', 'wctype'
|
||||
),
|
||||
4 => array(
|
||||
'auto', 'char', 'const', 'double', 'float', 'int', 'long',
|
||||
'register', 'short', 'signed', 'sizeof', 'static', 'struct',
|
||||
'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t',
|
||||
|
||||
'int8', 'int16', 'int32', 'int64',
|
||||
'uint8', 'uint16', 'uint32', 'uint64',
|
||||
|
||||
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
|
||||
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
|
||||
|
||||
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
|
||||
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
|
||||
|
||||
'int8_t', 'int16_t', 'int32_t', 'int64_t',
|
||||
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
|
||||
|
||||
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
|
||||
'size_t', 'off_t'
|
||||
),
|
||||
),
|
||||
'SYMBOLS' => array(
|
||||
'(', ')', '{', '}', '[', ']',
|
||||
'+', '-', '*', '/', '%',
|
||||
'=', '<', '>',
|
||||
'!', '^', '&', '|',
|
||||
'?', ':',
|
||||
';', ','
|
||||
),
|
||||
'CASE_SENSITIVE' => array(
|
||||
GESHI_COMMENTS => false,
|
||||
1 => true,
|
||||
2 => true,
|
||||
3 => true,
|
||||
4 => true,
|
||||
),
|
||||
'STYLES' => array(
|
||||
'KEYWORDS' => array(
|
||||
1 => 'color: #b1b100;',
|
||||
2 => 'color: #000000; font-weight: bold;',
|
||||
3 => 'color: #000066;',
|
||||
4 => 'color: #993333;'
|
||||
),
|
||||
'COMMENTS' => array(
|
||||
1 => 'color: #666666; font-style: italic;',
|
||||
2 => 'color: #339933;',
|
||||
'MULTI' => 'color: #808080; font-style: italic;'
|
||||
),
|
||||
'ESCAPE_CHAR' => array(
|
||||
0 => 'color: #000099; font-weight: bold;',
|
||||
1 => 'color: #000099; font-weight: bold;',
|
||||
2 => 'color: #660099; font-weight: bold;',
|
||||
3 => 'color: #660099; font-weight: bold;',
|
||||
4 => 'color: #660099; font-weight: bold;',
|
||||
5 => 'color: #006699; font-weight: bold;',
|
||||
'HARD' => '',
|
||||
),
|
||||
'BRACKETS' => array(
|
||||
0 => 'color: #009900;'
|
||||
),
|
||||
'STRINGS' => array(
|
||||
0 => 'color: #ff0000;'
|
||||
),
|
||||
'NUMBERS' => array(
|
||||
0 => 'color: #0000dd;',
|
||||
GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
|
||||
GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
|
||||
GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
|
||||
GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
|
||||
),
|
||||
'METHODS' => array(
|
||||
1 => 'color: #202020;',
|
||||
2 => 'color: #202020;'
|
||||
),
|
||||
'SYMBOLS' => array(
|
||||
0 => 'color: #339933;'
|
||||
),
|
||||
'REGEXPS' => array(
|
||||
),
|
||||
'SCRIPT' => array(
|
||||
)
|
||||
),
|
||||
'URLS' => array(
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
|
||||
4 => ''
|
||||
),
|
||||
'OOLANG' => true,
|
||||
'OBJECT_SPLITTERS' => array(
|
||||
1 => '.',
|
||||
2 => '::'
|
||||
),
|
||||
'REGEXPS' => array(
|
||||
),
|
||||
'STRICT_MODE_APPLIES' => GESHI_NEVER,
|
||||
'SCRIPT_DELIMITERS' => array(
|
||||
),
|
||||
'HIGHLIGHT_STRICT_BLOCK' => array(
|
||||
),
|
||||
'TAB_WIDTH' => 4
|
||||
);
|
||||
|
||||
?>
|
|
@ -1,240 +0,0 @@
|
|||
<?php
|
||||
/*************************************************************************************
|
||||
* cpp.php
|
||||
* -------
|
||||
* Author: Dennis Bayer (Dennis.Bayer@mnifh-giessen.de)
|
||||
* Contributors:
|
||||
* - M. Uli Kusterer (witness.of.teachtext@gmx.net)
|
||||
* - Jack Lloyd (lloyd@randombit.net)
|
||||
* Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
|
||||
* Release Version: 1.0.8.11
|
||||
* Date Started: 2004/09/27
|
||||
*
|
||||
* C++ language file for GeSHi.
|
||||
*
|
||||
* CHANGES
|
||||
* -------
|
||||
* 2008/05/23 (1.0.7.22)
|
||||
* - Added description of extra language features (SF#1970248)
|
||||
* 2004/XX/XX (1.0.2)
|
||||
* - Added several new keywords (Jack Lloyd)
|
||||
* 2004/11/27 (1.0.1)
|
||||
* - Added StdCLib function and constant names, changed color scheme to
|
||||
* a cleaner one. (M. Uli Kusterer)
|
||||
* - Added support for multiple object splitters
|
||||
* 2004/10/27 (1.0.0)
|
||||
* - First Release
|
||||
*
|
||||
* TODO (updated 2004/11/27)
|
||||
* -------------------------
|
||||
*
|
||||
*************************************************************************************
|
||||
*
|
||||
* This file is part of GeSHi.
|
||||
*
|
||||
* GeSHi is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GeSHi is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GeSHi; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
$language_data = array (
|
||||
'LANG_NAME' => 'C++',
|
||||
'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
|
||||
'COMMENT_MULTI' => array('/*' => '*/'),
|
||||
'COMMENT_REGEXP' => array(
|
||||
//Multiline-continued single-line comments
|
||||
1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
|
||||
//Multiline-continued preprocessor define
|
||||
2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
|
||||
),
|
||||
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
|
||||
'QUOTEMARKS' => array("'", '"'),
|
||||
'ESCAPE_CHAR' => '',
|
||||
'ESCAPE_REGEXP' => array(
|
||||
//Simple Single Char Escapes
|
||||
1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
|
||||
//Hexadecimal Char Specs
|
||||
2 => "#\\\\x[\da-fA-F]{2}#",
|
||||
//Hexadecimal Char Specs
|
||||
3 => "#\\\\u[\da-fA-F]{4}#",
|
||||
//Hexadecimal Char Specs
|
||||
4 => "#\\\\U[\da-fA-F]{8}#",
|
||||
//Octal Char Specs
|
||||
5 => "#\\\\[0-7]{1,3}#"
|
||||
),
|
||||
'NUMBERS' =>
|
||||
GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
|
||||
GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
|
||||
GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
|
||||
'KEYWORDS' => array(
|
||||
1 => array(
|
||||
'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
|
||||
'switch', 'throw', 'while'
|
||||
),
|
||||
2 => array(
|
||||
'NULL', 'false', 'true', 'enum', 'errno', 'EDOM',
|
||||
'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
|
||||
'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
|
||||
'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
|
||||
'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
|
||||
'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
|
||||
'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
|
||||
'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
|
||||
'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
|
||||
'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
|
||||
'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
|
||||
'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
|
||||
'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
|
||||
'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
|
||||
'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class'
|
||||
),
|
||||
3 => array(
|
||||
'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
|
||||
'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
|
||||
'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
|
||||
'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
|
||||
'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
|
||||
'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
|
||||
'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
|
||||
'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
|
||||
'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
|
||||
'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
|
||||
'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
|
||||
'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
|
||||
'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
|
||||
'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
|
||||
'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
|
||||
'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
|
||||
'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
|
||||
'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
|
||||
'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
|
||||
'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
|
||||
),
|
||||
4 => array(
|
||||
'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
|
||||
'register', 'short', 'shortint', 'signed', 'static', 'struct',
|
||||
'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
|
||||
'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
|
||||
'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
|
||||
|
||||
'int8', 'int16', 'int32', 'int64',
|
||||
'uint8', 'uint16', 'uint32', 'uint64',
|
||||
|
||||
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
|
||||
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
|
||||
|
||||
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
|
||||
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
|
||||
|
||||
'int8_t', 'int16_t', 'int32_t', 'int64_t',
|
||||
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
|
||||
|
||||
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
|
||||
),
|
||||
),
|
||||
'SYMBOLS' => array(
|
||||
0 => array('(', ')', '{', '}', '[', ']'),
|
||||
1 => array('<', '>','='),
|
||||
2 => array('+', '-', '*', '/', '%'),
|
||||
3 => array('!', '^', '&', '|'),
|
||||
4 => array('?', ':', ';')
|
||||
),
|
||||
'CASE_SENSITIVE' => array(
|
||||
GESHI_COMMENTS => false,
|
||||
1 => true,
|
||||
2 => true,
|
||||
3 => true,
|
||||
4 => true,
|
||||
),
|
||||
'STYLES' => array(
|
||||
'KEYWORDS' => array(
|
||||
1 => 'color: #0000ff;',
|
||||
2 => 'color: #0000ff;',
|
||||
3 => 'color: #0000dd;',
|
||||
4 => 'color: #0000ff;'
|
||||
),
|
||||
'COMMENTS' => array(
|
||||
1 => 'color: #666666;',
|
||||
2 => 'color: #339900;',
|
||||
'MULTI' => 'color: #ff0000; font-style: italic;'
|
||||
),
|
||||
'ESCAPE_CHAR' => array(
|
||||
0 => 'color: #000099; font-weight: bold;',
|
||||
1 => 'color: #000099; font-weight: bold;',
|
||||
2 => 'color: #660099; font-weight: bold;',
|
||||
3 => 'color: #660099; font-weight: bold;',
|
||||
4 => 'color: #660099; font-weight: bold;',
|
||||
5 => 'color: #006699; font-weight: bold;',
|
||||
'HARD' => '',
|
||||
),
|
||||
'BRACKETS' => array(
|
||||
0 => 'color: #008000;'
|
||||
),
|
||||
'STRINGS' => array(
|
||||
0 => 'color: #FF0000;'
|
||||
),
|
||||
'NUMBERS' => array(
|
||||
0 => 'color: #0000dd;',
|
||||
GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
|
||||
GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
|
||||
GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
|
||||
GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
|
||||
GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
|
||||
),
|
||||
'METHODS' => array(
|
||||
1 => 'color: #007788;',
|
||||
2 => 'color: #007788;'
|
||||
),
|
||||
'SYMBOLS' => array(
|
||||
0 => 'color: #008000;',
|
||||
1 => 'color: #000080;',
|
||||
2 => 'color: #000040;',
|
||||
3 => 'color: #000040;',
|
||||
4 => 'color: #008080;'
|
||||
),
|
||||
'REGEXPS' => array(
|
||||
),
|
||||
'SCRIPT' => array(
|
||||
)
|
||||
),
|
||||
'URLS' => array(
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => ''
|
||||
),
|
||||
'OOLANG' => true,
|
||||
'OBJECT_SPLITTERS' => array(
|
||||
1 => '.',
|
||||
2 => '::'
|
||||
),
|
||||
'REGEXPS' => array(
|
||||
),
|
||||
'STRICT_MODE_APPLIES' => GESHI_NEVER,
|
||||
'SCRIPT_DELIMITERS' => array(
|
||||
),
|
||||
'HIGHLIGHT_STRICT_BLOCK' => array(
|
||||
),
|
||||
'TAB_WIDTH' => 4,
|
||||
'PARSER_CONTROL' => array(
|
||||
'KEYWORDS' => array(
|
||||
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])",
|
||||
'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])"
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
?>
|
|
@ -1,52 +0,0 @@
|
|||
/*! Inspired by: http://aboutcode.net/2010/11/11/list-github-projects-using-javascript.html */
|
||||
|
||||
/* jshint browser:true, jquery:true */
|
||||
|
||||
// htmlEntities taken from http://css-tricks.com/snippets/javascript/htmlentities-for-javascript/
|
||||
function htmlEntities(str) {
|
||||
"use strict";
|
||||
var ret = String(str)
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
jQuery.fn.listCommits = function(username, repository, branch) {
|
||||
"use strict";
|
||||
this.html("<span>Querying GitHub for recent commits…</span>");
|
||||
|
||||
var target = this;
|
||||
$.getJSON("https://api.github.com/repos/" + username + "/" + repository + "/commits?sha=" + branch + "&callback=?", function(response) {
|
||||
var commits = response.data;
|
||||
var list = $("<ul class='rssfeeditems'/>");
|
||||
|
||||
target.empty().append(list);
|
||||
|
||||
$(commits).each(function(i) {
|
||||
var githubUrl = "https://github.com/" + username + "/" + repository + "/commit/" + this.sha;
|
||||
var shortMessage = htmlEntities(cutLines(this.commit.message));
|
||||
|
||||
if (this.author !== null) {
|
||||
list.append("<li><a href='" + githubUrl + "'>" + shortMessage + "</a> <em>by <strong><a class='author' href='" + "https://github.com/" + this.author.login + "'>" + this.author.login + "</a></strong></em></li>");
|
||||
} else {
|
||||
list.append("<li><a href='" + githubUrl + "'>" + shortMessage + "</a> <em>by <strong>" + this.commit.author.name + "</strong></em></li>");
|
||||
}
|
||||
|
||||
if (i === 9) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function cutLines(message) {
|
||||
var lineFeed = message.indexOf("\n");
|
||||
|
||||
if (lineFeed > -1) {
|
||||
return message.slice(0, lineFeed);
|
||||
}
|
||||
return message;
|
||||
}
|
||||
};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,231 +0,0 @@
|
|||
function $JSCompiler_alias_THROW$$($jscomp_throw_param$$){throw $jscomp_throw_param$$;}var $JSCompiler_alias_VOID$$=void 0,$JSCompiler_alias_TRUE$$=!0,$JSCompiler_alias_NULL$$=null,$JSCompiler_alias_FALSE$$=!1,$JSCompiler_prototypeAlias$$,$goog$global$$=this;
|
||||
function $goog$typeOf$$($value$$39$$){var $s$$2$$=typeof $value$$39$$;if("object"==$s$$2$$)if($value$$39$$){if($value$$39$$ instanceof Array)return"array";if($value$$39$$ instanceof Object)return $s$$2$$;var $className$$1$$=Object.prototype.toString.call($value$$39$$);if("[object Window]"==$className$$1$$)return"object";if("[object Array]"==$className$$1$$||"number"==typeof $value$$39$$.length&&"undefined"!=typeof $value$$39$$.splice&&"undefined"!=typeof $value$$39$$.propertyIsEnumerable&&!$value$$39$$.propertyIsEnumerable("splice"))return"array";
|
||||
if("[object Function]"==$className$$1$$||"undefined"!=typeof $value$$39$$.call&&"undefined"!=typeof $value$$39$$.propertyIsEnumerable&&!$value$$39$$.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==$s$$2$$&&"undefined"==typeof $value$$39$$.call)return"object";return $s$$2$$}function $goog$isArray$$($val$$3$$){return"array"==$goog$typeOf$$($val$$3$$)}
|
||||
function $goog$isArrayLike$$($val$$4$$){var $type$$52$$=$goog$typeOf$$($val$$4$$);return"array"==$type$$52$$||"object"==$type$$52$$&&"number"==typeof $val$$4$$.length}function $goog$isString$$($val$$6$$){return"string"==typeof $val$$6$$}function $goog$isNumber$$($val$$8$$){return"number"==typeof $val$$8$$}function $goog$isFunction$$($val$$9$$){return"function"==$goog$typeOf$$($val$$9$$)}
|
||||
function $goog$isObject$$($val$$10$$){var $type$$53$$=typeof $val$$10$$;return"object"==$type$$53$$&&$val$$10$$!=$JSCompiler_alias_NULL$$||"function"==$type$$53$$}function $goog$getUid$$($obj$$20$$){return $obj$$20$$[$goog$UID_PROPERTY_$$]||($obj$$20$$[$goog$UID_PROPERTY_$$]=++$goog$uidCounter_$$)}var $goog$UID_PROPERTY_$$="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),$goog$uidCounter_$$=0;
|
||||
function $goog$bindNative_$$($fn$$,$selfObj$$1$$,$var_args$$25$$){return $fn$$.call.apply($fn$$.bind,arguments)}
|
||||
function $goog$bindJs_$$($fn$$1$$,$selfObj$$2$$,$var_args$$26$$){$fn$$1$$||$JSCompiler_alias_THROW$$(Error());if(2<arguments.length){var $boundArgs$$=Array.prototype.slice.call(arguments,2);return function(){var $newArgs$$=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply($newArgs$$,$boundArgs$$);return $fn$$1$$.apply($selfObj$$2$$,$newArgs$$)}}return function(){return $fn$$1$$.apply($selfObj$$2$$,arguments)}}
|
||||
function $goog$bind$$($fn$$2$$,$selfObj$$3$$,$var_args$$27$$){$goog$bind$$=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?$goog$bindNative_$$:$goog$bindJs_$$;return $goog$bind$$.apply($JSCompiler_alias_NULL$$,arguments)}
|
||||
function $goog$partial$$($fn$$3$$,$var_args$$28$$){var $args$$=Array.prototype.slice.call(arguments,1);return function(){var $newArgs$$1$$=Array.prototype.slice.call(arguments);$newArgs$$1$$.unshift.apply($newArgs$$1$$,$args$$);return $fn$$3$$.apply(this,$newArgs$$1$$)}}var $goog$now$$=Date.now||function(){return+new Date};
|
||||
function $goog$inherits$$($childCtor$$,$parentCtor$$){function $tempCtor$$(){}$tempCtor$$.prototype=$parentCtor$$.prototype;$childCtor$$.$superClass_$=$parentCtor$$.prototype;$childCtor$$.prototype=new $tempCtor$$};function $pn$ui$filter$FilterState$$($id$$1$$,$value$$41$$,$idx$$,$type$$55$$){this.id=$id$$1$$;this.value=$value$$41$$;this.$idx$=$idx$$;this.type=$type$$55$$}$pn$ui$filter$FilterState$$.prototype.toString=function $$pn$ui$filter$FilterState$$$$toString$(){return"id["+this.id+"] value["+this.value+"] idx["+this.$idx$+"] type["+this.type+"]"};function $pn$ui$filter$GenericListFilterOptions$$(){}$pn$ui$filter$GenericListFilterOptions$$.prototype.additionalFilterTriggers=[];$pn$ui$filter$GenericListFilterOptions$$.prototype.clearFiltersControls=[];$pn$ui$filter$GenericListFilterOptions$$.prototype.filterDelay=250;$pn$ui$filter$GenericListFilterOptions$$.prototype.filterToolTipMessage='Quotes (") match phrases. (not) excludes a match from the results. (or) can be used to do Or searches. I.e. [red or blue] will match either red or blue. Numeric values support >=, >, <=, <, = and != operators.';
|
||||
$pn$ui$filter$GenericListFilterOptions$$.prototype.enableCookies=$JSCompiler_alias_TRUE$$;$pn$ui$filter$GenericListFilterOptions$$.prototype.matchingElement=$JSCompiler_alias_NULL$$;$pn$ui$filter$GenericListFilterOptions$$.prototype.filteringElements=$JSCompiler_alias_NULL$$;$pn$ui$filter$GenericListFilterOptions$$.prototype.sharedCookieId=$JSCompiler_alias_NULL$$;function $pn$ui$filter$TableFilterOptions$$(){}$goog$inherits$$($pn$ui$filter$TableFilterOptions$$,$pn$ui$filter$GenericListFilterOptions$$);$pn$ui$filter$TableFilterOptions$$.prototype.selectOptionLabel="Select...";$pn$ui$filter$TableFilterOptions$$.prototype.frozenHeaderTable=$JSCompiler_alias_NULL$$;function $goog$string$subs$$($str$$12$$,$var_args$$30$$){for(var $i$$5$$=1;$i$$5$$<arguments.length;$i$$5$$++){var $replacement$$=String(arguments[$i$$5$$]).replace(/\$/g,"$$$$");$str$$12$$=$str$$12$$.replace(/\%s/,$replacement$$)}return $str$$12$$}function $goog$string$trim$$($str$$25$$){return $str$$25$$.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}
|
||||
function $goog$string$htmlEscape$$($str$$31$$){if(!$goog$string$allRe_$$.test($str$$31$$))return $str$$31$$;-1!=$str$$31$$.indexOf("&")&&($str$$31$$=$str$$31$$.replace($goog$string$amperRe_$$,"&"));-1!=$str$$31$$.indexOf("<")&&($str$$31$$=$str$$31$$.replace($goog$string$ltRe_$$,"<"));-1!=$str$$31$$.indexOf(">")&&($str$$31$$=$str$$31$$.replace($goog$string$gtRe_$$,">"));-1!=$str$$31$$.indexOf('"')&&($str$$31$$=$str$$31$$.replace($goog$string$quotRe_$$,"""));return $str$$31$$}
|
||||
var $goog$string$amperRe_$$=/&/g,$goog$string$ltRe_$$=/</g,$goog$string$gtRe_$$=/>/g,$goog$string$quotRe_$$=/\"/g,$goog$string$allRe_$$=/[&<>\"]/;
|
||||
function $goog$string$unescapeEntitiesUsingDom_$$($str$$33$$){var $seen$$={"&":"&","<":"<",">":">",""":'"'},$div$$=document.createElement("div");return $str$$33$$.replace($goog$string$HTML_ENTITY_PATTERN_$$,function($s$$3$$,$entity$$){var $value$$42$$=$seen$$[$s$$3$$];if($value$$42$$)return $value$$42$$;if("#"==$entity$$.charAt(0)){var $n$$1$$=Number("0"+$entity$$.substr(1));isNaN($n$$1$$)||($value$$42$$=String.fromCharCode($n$$1$$))}$value$$42$$||($div$$.innerHTML=$s$$3$$+" ",$value$$42$$=
|
||||
$div$$.firstChild.nodeValue.slice(0,-1));return $seen$$[$s$$3$$]=$value$$42$$})}function $goog$string$unescapePureXmlEntities_$$($str$$34$$){return $str$$34$$.replace(/&([^;]+);/g,function($s$$4$$,$entity$$1$$){switch($entity$$1$$){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==$entity$$1$$.charAt(0)){var $n$$2$$=Number("0"+$entity$$1$$.substr(1));if(!isNaN($n$$2$$))return String.fromCharCode($n$$2$$)}return $s$$4$$}})}
|
||||
var $goog$string$HTML_ENTITY_PATTERN_$$=/&([^;\s<&]+);?/g;function $goog$string$toCamelCase$$($str$$42$$){return String($str$$42$$).replace(/\-([a-z])/g,function($all$$,$match$$){return $match$$.toUpperCase()})}
|
||||
function $goog$string$toTitleCase$$($str$$44$$){var $delimiters$$=$goog$isString$$($JSCompiler_alias_VOID$$)?"undefined".replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"):"\\s";return $str$$44$$.replace(RegExp("(^"+($delimiters$$?"|["+$delimiters$$+"]+":"")+")([a-z])","g"),function($all$$1$$,$p1$$,$p2$$){return $p1$$+$p2$$.toUpperCase()})};var $goog$userAgent$detectedOpera_$$,$goog$userAgent$detectedIe_$$,$goog$userAgent$detectedWebkit_$$,$goog$userAgent$detectedGecko_$$;function $goog$userAgent$getUserAgentString$$(){return $goog$global$$.navigator?$goog$global$$.navigator.userAgent:$JSCompiler_alias_NULL$$}$goog$userAgent$detectedGecko_$$=$goog$userAgent$detectedWebkit_$$=$goog$userAgent$detectedIe_$$=$goog$userAgent$detectedOpera_$$=$JSCompiler_alias_FALSE$$;var $ua$$inline_21$$;
|
||||
if($ua$$inline_21$$=$goog$userAgent$getUserAgentString$$()){var $navigator$$inline_22$$=$goog$global$$.navigator;$goog$userAgent$detectedOpera_$$=0==$ua$$inline_21$$.indexOf("Opera");$goog$userAgent$detectedIe_$$=!$goog$userAgent$detectedOpera_$$&&-1!=$ua$$inline_21$$.indexOf("MSIE");$goog$userAgent$detectedWebkit_$$=!$goog$userAgent$detectedOpera_$$&&-1!=$ua$$inline_21$$.indexOf("WebKit");$goog$userAgent$detectedGecko_$$=!$goog$userAgent$detectedOpera_$$&&!$goog$userAgent$detectedWebkit_$$&&"Gecko"==
|
||||
$navigator$$inline_22$$.product}var $goog$userAgent$OPERA$$=$goog$userAgent$detectedOpera_$$,$goog$userAgent$IE$$=$goog$userAgent$detectedIe_$$,$goog$userAgent$GECKO$$=$goog$userAgent$detectedGecko_$$,$goog$userAgent$WEBKIT$$=$goog$userAgent$detectedWebkit_$$,$navigator$$inline_24$$=$goog$global$$.navigator,$goog$userAgent$MAC$$=-1!=($navigator$$inline_24$$&&$navigator$$inline_24$$.platform||"").indexOf("Mac");
|
||||
function $goog$userAgent$getDocumentMode_$$(){var $doc$$4$$=$goog$global$$.document;return $doc$$4$$?$doc$$4$$.documentMode:$JSCompiler_alias_VOID$$}var $goog$userAgent$VERSION$$;
|
||||
a:{var $version$$inline_27$$="",$re$$inline_28$$;if($goog$userAgent$OPERA$$&&$goog$global$$.opera)var $operaVersion$$inline_29$$=$goog$global$$.opera.version,$version$$inline_27$$="function"==typeof $operaVersion$$inline_29$$?$operaVersion$$inline_29$$():$operaVersion$$inline_29$$;else if($goog$userAgent$GECKO$$?$re$$inline_28$$=/rv\:([^\);]+)(\)|;)/:$goog$userAgent$IE$$?$re$$inline_28$$=/MSIE\s+([^\);]+)(\)|;)/:$goog$userAgent$WEBKIT$$&&($re$$inline_28$$=/WebKit\/(\S+)/),$re$$inline_28$$)var $arr$$inline_30$$=
|
||||
$re$$inline_28$$.exec($goog$userAgent$getUserAgentString$$()),$version$$inline_27$$=$arr$$inline_30$$?$arr$$inline_30$$[1]:"";if($goog$userAgent$IE$$){var $docMode$$inline_31$$=$goog$userAgent$getDocumentMode_$$();if($docMode$$inline_31$$>parseFloat($version$$inline_27$$)){$goog$userAgent$VERSION$$=String($docMode$$inline_31$$);break a}}$goog$userAgent$VERSION$$=$version$$inline_27$$}var $goog$userAgent$isVersionCache_$$={};
|
||||
function $goog$userAgent$isVersion$$($version$$8$$){var $JSCompiler_temp$$13_order$$inline_35$$;if(!($JSCompiler_temp$$13_order$$inline_35$$=$goog$userAgent$isVersionCache_$$[$version$$8$$])){$JSCompiler_temp$$13_order$$inline_35$$=0;for(var $v1Subs$$inline_36$$=$goog$string$trim$$(String($goog$userAgent$VERSION$$)).split("."),$v2Subs$$inline_37$$=$goog$string$trim$$(String($version$$8$$)).split("."),$subCount$$inline_38$$=Math.max($v1Subs$$inline_36$$.length,$v2Subs$$inline_37$$.length),$subIdx$$inline_39$$=
|
||||
0;0==$JSCompiler_temp$$13_order$$inline_35$$&&$subIdx$$inline_39$$<$subCount$$inline_38$$;$subIdx$$inline_39$$++){var $v1Sub$$inline_40$$=$v1Subs$$inline_36$$[$subIdx$$inline_39$$]||"",$v2Sub$$inline_41$$=$v2Subs$$inline_37$$[$subIdx$$inline_39$$]||"",$v1CompParser$$inline_42$$=RegExp("(\\d*)(\\D*)","g"),$v2CompParser$$inline_43$$=RegExp("(\\d*)(\\D*)","g");do{var $v1Comp$$inline_44$$=$v1CompParser$$inline_42$$.exec($v1Sub$$inline_40$$)||["","",""],$v2Comp$$inline_45$$=$v2CompParser$$inline_43$$.exec($v2Sub$$inline_41$$)||
|
||||
["","",""];if(0==$v1Comp$$inline_44$$[0].length&&0==$v2Comp$$inline_45$$[0].length)break;$JSCompiler_temp$$13_order$$inline_35$$=((0==$v1Comp$$inline_44$$[1].length?0:parseInt($v1Comp$$inline_44$$[1],10))<(0==$v2Comp$$inline_45$$[1].length?0:parseInt($v2Comp$$inline_45$$[1],10))?-1:(0==$v1Comp$$inline_44$$[1].length?0:parseInt($v1Comp$$inline_44$$[1],10))>(0==$v2Comp$$inline_45$$[1].length?0:parseInt($v2Comp$$inline_45$$[1],10))?1:0)||((0==$v1Comp$$inline_44$$[2].length)<(0==$v2Comp$$inline_45$$[2].length)?
|
||||
-1:(0==$v1Comp$$inline_44$$[2].length)>(0==$v2Comp$$inline_45$$[2].length)?1:0)||($v1Comp$$inline_44$$[2]<$v2Comp$$inline_45$$[2]?-1:$v1Comp$$inline_44$$[2]>$v2Comp$$inline_45$$[2]?1:0)}while(0==$JSCompiler_temp$$13_order$$inline_35$$)}$JSCompiler_temp$$13_order$$inline_35$$=$goog$userAgent$isVersionCache_$$[$version$$8$$]=0<=$JSCompiler_temp$$13_order$$inline_35$$}return $JSCompiler_temp$$13_order$$inline_35$$}
|
||||
var $doc$$inline_47$$=$goog$global$$.document,$goog$userAgent$DOCUMENT_MODE$$=!$doc$$inline_47$$||!$goog$userAgent$IE$$?$JSCompiler_alias_VOID$$:$goog$userAgent$getDocumentMode_$$()||("CSS1Compat"==$doc$$inline_47$$.compatMode?parseInt($goog$userAgent$VERSION$$,10):5);function $goog$object$forEach$$($obj$$24$$,$f$$){for(var $key$$16$$ in $obj$$24$$)$f$$.call($JSCompiler_alias_VOID$$,$obj$$24$$[$key$$16$$],$key$$16$$,$obj$$24$$)}function $goog$object$getValues$$($obj$$33$$){var $res$$2$$=[],$i$$12$$=0,$key$$24$$;for($key$$24$$ in $obj$$33$$)$res$$2$$[$i$$12$$++]=$obj$$33$$[$key$$24$$];return $res$$2$$}
|
||||
function $goog$object$getKeys$$($obj$$34$$){var $res$$3$$=[],$i$$13$$=0,$key$$25$$;for($key$$25$$ in $obj$$34$$)$res$$3$$[$i$$13$$++]=$key$$25$$;return $res$$3$$}var $goog$object$PROTOTYPE_FIELDS_$$="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
|
||||
function $goog$object$extend$$($target$$40$$,$var_args$$33$$){for(var $key$$39$$,$source$$2$$,$i$$16$$=1;$i$$16$$<arguments.length;$i$$16$$++){$source$$2$$=arguments[$i$$16$$];for($key$$39$$ in $source$$2$$)$target$$40$$[$key$$39$$]=$source$$2$$[$key$$39$$];for(var $j$$1$$=0;$j$$1$$<$goog$object$PROTOTYPE_FIELDS_$$.length;$j$$1$$++)$key$$39$$=$goog$object$PROTOTYPE_FIELDS_$$[$j$$1$$],Object.prototype.hasOwnProperty.call($source$$2$$,$key$$39$$)&&($target$$40$$[$key$$39$$]=$source$$2$$[$key$$39$$])}}
|
||||
;function $goog$debug$Error$$($opt_msg$$){Error.captureStackTrace?Error.captureStackTrace(this,$goog$debug$Error$$):this.stack=Error().stack||"";$opt_msg$$&&(this.message=String($opt_msg$$))}$goog$inherits$$($goog$debug$Error$$,Error);$goog$debug$Error$$.prototype.name="CustomError";function $goog$asserts$AssertionError$$($messagePattern$$,$messageArgs$$){$messageArgs$$.unshift($messagePattern$$);$goog$debug$Error$$.call(this,$goog$string$subs$$.apply($JSCompiler_alias_NULL$$,$messageArgs$$));$messageArgs$$.shift();this.$messagePattern$=$messagePattern$$}$goog$inherits$$($goog$asserts$AssertionError$$,$goog$debug$Error$$);$goog$asserts$AssertionError$$.prototype.name="AssertionError";
|
||||
function $goog$asserts$assert$$($condition$$1$$,$opt_message$$8$$,$var_args$$36$$){if(!$condition$$1$$){var $givenArgs$$inline_50$$=Array.prototype.slice.call(arguments,2),$message$$inline_53$$="Assertion failed";if($opt_message$$8$$)var $message$$inline_53$$=$message$$inline_53$$+(": "+$opt_message$$8$$),$args$$inline_54$$=$givenArgs$$inline_50$$;$JSCompiler_alias_THROW$$(new $goog$asserts$AssertionError$$(""+$message$$inline_53$$,$args$$inline_54$$||[]))}return $condition$$1$$};var $goog$array$ARRAY_PROTOTYPE_$$=Array.prototype;
|
||||
function $goog$array$indexOf$$($arr$$12$$,$obj$$53$$,$fromIndex_i$$19_opt_fromIndex$$7$$){$fromIndex_i$$19_opt_fromIndex$$7$$=$fromIndex_i$$19_opt_fromIndex$$7$$==$JSCompiler_alias_NULL$$?0:0>$fromIndex_i$$19_opt_fromIndex$$7$$?Math.max(0,$arr$$12$$.length+$fromIndex_i$$19_opt_fromIndex$$7$$):$fromIndex_i$$19_opt_fromIndex$$7$$;if($goog$isString$$($arr$$12$$))return!$goog$isString$$($obj$$53$$)||1!=$obj$$53$$.length?-1:$arr$$12$$.indexOf($obj$$53$$,$fromIndex_i$$19_opt_fromIndex$$7$$);for(;$fromIndex_i$$19_opt_fromIndex$$7$$<
|
||||
$arr$$12$$.length;$fromIndex_i$$19_opt_fromIndex$$7$$++)if($fromIndex_i$$19_opt_fromIndex$$7$$ in $arr$$12$$&&$arr$$12$$[$fromIndex_i$$19_opt_fromIndex$$7$$]===$obj$$53$$)return $fromIndex_i$$19_opt_fromIndex$$7$$;return-1}
|
||||
function $goog$array$forEach$$($arr$$16$$,$f$$8$$,$opt_obj$$7$$){for(var $l$$2$$=$arr$$16$$.length,$arr2$$=$goog$isString$$($arr$$16$$)?$arr$$16$$.split(""):$arr$$16$$,$i$$21$$=0;$i$$21$$<$l$$2$$;$i$$21$$++)$i$$21$$ in $arr2$$&&$f$$8$$.call($opt_obj$$7$$,$arr2$$[$i$$21$$],$i$$21$$,$arr$$16$$)}
|
||||
function $goog$array$map$$($arr$$21$$,$f$$13$$,$opt_obj$$12$$){for(var $l$$5$$=$arr$$21$$.length,$res$$6$$=Array($l$$5$$),$arr2$$3$$=$goog$isString$$($arr$$21$$)?$arr$$21$$.split(""):$arr$$21$$,$i$$24$$=0;$i$$24$$<$l$$5$$;$i$$24$$++)$i$$24$$ in $arr2$$3$$&&($res$$6$$[$i$$24$$]=$f$$13$$.call($opt_obj$$12$$,$arr2$$3$$[$i$$24$$],$i$$24$$,$arr$$21$$));return $res$$6$$}
|
||||
function $goog$array$findIndex$$($arr$$31$$,$f$$22$$,$opt_obj$$21$$){for(var $l$$8$$=$arr$$31$$.length,$arr2$$6$$=$goog$isString$$($arr$$31$$)?$arr$$31$$.split(""):$arr$$31$$,$i$$28$$=0;$i$$28$$<$l$$8$$;$i$$28$$++)if($i$$28$$ in $arr2$$6$$&&$f$$22$$.call($opt_obj$$21$$,$arr2$$6$$[$i$$28$$],$i$$28$$,$arr$$31$$))return $i$$28$$;return-1}function $goog$array$concat$$($var_args$$45$$){return $goog$array$ARRAY_PROTOTYPE_$$.concat.apply($goog$array$ARRAY_PROTOTYPE_$$,arguments)}
|
||||
function $goog$array$toArray$$($object$$2$$){var $length$$15$$=$object$$2$$.length;if(0<$length$$15$$){for(var $rv$$7$$=Array($length$$15$$),$i$$36$$=0;$i$$36$$<$length$$15$$;$i$$36$$++)$rv$$7$$[$i$$36$$]=$object$$2$$[$i$$36$$];return $rv$$7$$}return[]}
|
||||
function $goog$array$slice$$($arr$$45$$,$start$$5$$,$opt_end$$13$$){$goog$asserts$assert$$($arr$$45$$.length!=$JSCompiler_alias_NULL$$);return 2>=arguments.length?$goog$array$ARRAY_PROTOTYPE_$$.slice.call($arr$$45$$,$start$$5$$):$goog$array$ARRAY_PROTOTYPE_$$.slice.call($arr$$45$$,$start$$5$$,$opt_end$$13$$)}
|
||||
function $goog$array$equals$$($arr1$$1$$,$arr2$$9$$,$equalsFn_opt_equalsFn$$){if(!$goog$isArrayLike$$($arr1$$1$$)||!$goog$isArrayLike$$($arr2$$9$$)||$arr1$$1$$.length!=$arr2$$9$$.length)return $JSCompiler_alias_FALSE$$;var $l$$10$$=$arr1$$1$$.length;$equalsFn_opt_equalsFn$$=$equalsFn_opt_equalsFn$$||$goog$array$defaultCompareEquality$$;for(var $i$$40$$=0;$i$$40$$<$l$$10$$;$i$$40$$++)if(!$equalsFn_opt_equalsFn$$($arr1$$1$$[$i$$40$$],$arr2$$9$$[$i$$40$$]))return $JSCompiler_alias_FALSE$$;return $JSCompiler_alias_TRUE$$}
|
||||
function $goog$array$defaultCompareEquality$$($a$$5$$,$b$$4$$){return $a$$5$$===$b$$4$$};function $goog$dom$classes$add$$($element$$9$$,$var_args$$54$$){var $className$$inline_232_classes$$;$className$$inline_232_classes$$=$element$$9$$.className;$className$$inline_232_classes$$=$goog$isString$$($className$$inline_232_classes$$)&&$className$$inline_232_classes$$.match(/\S+/g)||[];for(var $args$$3_args$$inline_57$$=$goog$array$slice$$(arguments,1),$expectedCount$$=$className$$inline_232_classes$$.length+$args$$3_args$$inline_57$$.length,$classes$$inline_56$$=$className$$inline_232_classes$$,
|
||||
$i$$inline_58$$=0;$i$$inline_58$$<$args$$3_args$$inline_57$$.length;$i$$inline_58$$++)0<=$goog$array$indexOf$$($classes$$inline_56$$,$args$$3_args$$inline_57$$[$i$$inline_58$$])||$classes$$inline_56$$.push($args$$3_args$$inline_57$$[$i$$inline_58$$]);$element$$9$$.className=$className$$inline_232_classes$$.join(" ");return $className$$inline_232_classes$$.length==$expectedCount$$};var $goog$dom$BrowserFeature$CAN_ADD_NAME_OR_TYPE_ATTRIBUTES$$=!$goog$userAgent$IE$$||$goog$userAgent$IE$$&&9<=$goog$userAgent$DOCUMENT_MODE$$;!$goog$userAgent$GECKO$$&&!$goog$userAgent$IE$$||$goog$userAgent$IE$$&&$goog$userAgent$IE$$&&9<=$goog$userAgent$DOCUMENT_MODE$$||$goog$userAgent$GECKO$$&&$goog$userAgent$isVersion$$("1.9.1");var $goog$dom$BrowserFeature$CAN_USE_INNER_TEXT$$=$goog$userAgent$IE$$&&!$goog$userAgent$isVersion$$("9");function $goog$dom$getElementsByTagNameAndClass_$$($className$$10_opt_tag$$1_tagName$$1$$,$opt_class$$1$$,$els_opt_el$$3_parent$$5$$){var $arrayLike_doc$$6$$=document;$els_opt_el$$3_parent$$5$$=$els_opt_el$$3_parent$$5$$||$arrayLike_doc$$6$$;$className$$10_opt_tag$$1_tagName$$1$$=$className$$10_opt_tag$$1_tagName$$1$$&&"*"!=$className$$10_opt_tag$$1_tagName$$1$$?$className$$10_opt_tag$$1_tagName$$1$$.toUpperCase():"";if($els_opt_el$$3_parent$$5$$.querySelectorAll&&$els_opt_el$$3_parent$$5$$.querySelector&&
|
||||
($className$$10_opt_tag$$1_tagName$$1$$||$opt_class$$1$$))return $els_opt_el$$3_parent$$5$$.querySelectorAll($className$$10_opt_tag$$1_tagName$$1$$+($opt_class$$1$$?"."+$opt_class$$1$$:""));if($opt_class$$1$$&&$els_opt_el$$3_parent$$5$$.getElementsByClassName){$els_opt_el$$3_parent$$5$$=$els_opt_el$$3_parent$$5$$.getElementsByClassName($opt_class$$1$$);if($className$$10_opt_tag$$1_tagName$$1$$){for(var $arrayLike_doc$$6$$={},$len$$=0,$i$$51$$=0,$el$$1$$;$el$$1$$=$els_opt_el$$3_parent$$5$$[$i$$51$$];$i$$51$$++)$className$$10_opt_tag$$1_tagName$$1$$==
|
||||
$el$$1$$.nodeName&&($arrayLike_doc$$6$$[$len$$++]=$el$$1$$);$arrayLike_doc$$6$$.length=$len$$;return $arrayLike_doc$$6$$}return $els_opt_el$$3_parent$$5$$}$els_opt_el$$3_parent$$5$$=$els_opt_el$$3_parent$$5$$.getElementsByTagName($className$$10_opt_tag$$1_tagName$$1$$||"*");if($opt_class$$1$$){$arrayLike_doc$$6$$={};for($i$$51$$=$len$$=0;$el$$1$$=$els_opt_el$$3_parent$$5$$[$i$$51$$];$i$$51$$++)$className$$10_opt_tag$$1_tagName$$1$$=$el$$1$$.className,"function"==typeof $className$$10_opt_tag$$1_tagName$$1$$.split&&
|
||||
0<=$goog$array$indexOf$$($className$$10_opt_tag$$1_tagName$$1$$.split(/\s+/),$opt_class$$1$$)&&($arrayLike_doc$$6$$[$len$$++]=$el$$1$$);$arrayLike_doc$$6$$.length=$len$$;return $arrayLike_doc$$6$$}return $els_opt_el$$3_parent$$5$$}
|
||||
function $goog$dom$setProperties$$($element$$17$$,$properties$$){$goog$object$forEach$$($properties$$,function($val$$20$$,$key$$43$$){"style"==$key$$43$$?$element$$17$$.style.cssText=$val$$20$$:"class"==$key$$43$$?$element$$17$$.className=$val$$20$$:"for"==$key$$43$$?$element$$17$$.htmlFor=$val$$20$$:$key$$43$$ in $goog$dom$DIRECT_ATTRIBUTE_MAP_$$?$element$$17$$.setAttribute($goog$dom$DIRECT_ATTRIBUTE_MAP_$$[$key$$43$$],$val$$20$$):0==$key$$43$$.lastIndexOf("aria-",0)||0==$key$$43$$.lastIndexOf("data-",
|
||||
0)?$element$$17$$.setAttribute($key$$43$$,$val$$20$$):$element$$17$$[$key$$43$$]=$val$$20$$})}var $goog$dom$DIRECT_ATTRIBUTE_MAP_$$={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};
|
||||
function $goog$dom$createDom$$($tagName$$2$$,$opt_attributes$$,$var_args$$56$$){var $args$$inline_63$$=arguments,$doc$$inline_64$$=document,$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$=$args$$inline_63$$[0],$attributes$$inline_66$$=$args$$inline_63$$[1];if(!$goog$dom$BrowserFeature$CAN_ADD_NAME_OR_TYPE_ATTRIBUTES$$&&$attributes$$inline_66$$&&($attributes$$inline_66$$.name||$attributes$$inline_66$$.type)){$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$=["<",$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$];
|
||||
$attributes$$inline_66$$.name&&$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$.push(' name="',$goog$string$htmlEscape$$($attributes$$inline_66$$.name),'"');if($attributes$$inline_66$$.type){$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$.push(' type="',$goog$string$htmlEscape$$($attributes$$inline_66$$.type),'"');var $clone$$inline_68$$={};$goog$object$extend$$($clone$$inline_68$$,$attributes$$inline_66$$);delete $clone$$inline_68$$.type;$attributes$$inline_66$$=$clone$$inline_68$$}$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$.push(">");
|
||||
$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$=$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$.join("")}$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$=$doc$$inline_64$$.createElement($element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$);$attributes$$inline_66$$&&($goog$isString$$($attributes$$inline_66$$)?$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$.className=$attributes$$inline_66$$:$goog$isArray$$($attributes$$inline_66$$)?
|
||||
$goog$dom$classes$add$$.apply($JSCompiler_alias_NULL$$,[$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$].concat($attributes$$inline_66$$)):$goog$dom$setProperties$$($element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$,$attributes$$inline_66$$));2<$args$$inline_63$$.length&&$goog$dom$append_$$($doc$$inline_64$$,$element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$,$args$$inline_63$$);return $element$$inline_69_tagName$$inline_65_tagNameArr$$inline_67$$}
|
||||
function $goog$dom$append_$$($doc$$13$$,$parent$$6$$,$args$$7$$){function $childHandler$$($child$$1$$){$child$$1$$&&$parent$$6$$.appendChild($goog$isString$$($child$$1$$)?$doc$$13$$.createTextNode($child$$1$$):$child$$1$$)}for(var $i$$52$$=2;$i$$52$$<$args$$7$$.length;$i$$52$$++){var $arg$$5$$=$args$$7$$[$i$$52$$];if($goog$isArrayLike$$($arg$$5$$)&&!($goog$isObject$$($arg$$5$$)&&0<$arg$$5$$.nodeType)){var $JSCompiler_inline_result$$1$$;a:{if($arg$$5$$&&"number"==typeof $arg$$5$$.length){if($goog$isObject$$($arg$$5$$)){$JSCompiler_inline_result$$1$$=
|
||||
"function"==typeof $arg$$5$$.item||"string"==typeof $arg$$5$$.item;break a}if($goog$isFunction$$($arg$$5$$)){$JSCompiler_inline_result$$1$$="function"==typeof $arg$$5$$.item;break a}}$JSCompiler_inline_result$$1$$=$JSCompiler_alias_FALSE$$}$goog$array$forEach$$($JSCompiler_inline_result$$1$$?$goog$array$toArray$$($arg$$5$$):$arg$$5$$,$childHandler$$)}else $childHandler$$($arg$$5$$)}}
|
||||
var $goog$dom$TAGS_TO_IGNORE_$$={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},$goog$dom$PREDEFINED_TAG_VALUES_$$={IMG:" ",BR:"\n"};
|
||||
function $goog$dom$getTextContent$$($node$$16_textContent$$){if($goog$dom$BrowserFeature$CAN_USE_INNER_TEXT$$&&"innerText"in $node$$16_textContent$$)$node$$16_textContent$$=$node$$16_textContent$$.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var $buf$$=[];$goog$dom$getTextContent_$$($node$$16_textContent$$,$buf$$,$JSCompiler_alias_TRUE$$);$node$$16_textContent$$=$buf$$.join("")}$node$$16_textContent$$=$node$$16_textContent$$.replace(/ \xAD /g," ").replace(/\xAD/g,"");$node$$16_textContent$$=$node$$16_textContent$$.replace(/\u200B/g,
|
||||
"");$goog$dom$BrowserFeature$CAN_USE_INNER_TEXT$$||($node$$16_textContent$$=$node$$16_textContent$$.replace(/ +/g," "));" "!=$node$$16_textContent$$&&($node$$16_textContent$$=$node$$16_textContent$$.replace(/^\s*/,""));return $node$$16_textContent$$}
|
||||
function $goog$dom$getTextContent_$$($child$$7_node$$18$$,$buf$$2$$,$normalizeWhitespace$$){if(!($child$$7_node$$18$$.nodeName in $goog$dom$TAGS_TO_IGNORE_$$))if(3==$child$$7_node$$18$$.nodeType)$normalizeWhitespace$$?$buf$$2$$.push(String($child$$7_node$$18$$.nodeValue).replace(/(\r\n|\r|\n)/g,"")):$buf$$2$$.push($child$$7_node$$18$$.nodeValue);else if($child$$7_node$$18$$.nodeName in $goog$dom$PREDEFINED_TAG_VALUES_$$)$buf$$2$$.push($goog$dom$PREDEFINED_TAG_VALUES_$$[$child$$7_node$$18$$.nodeName]);
|
||||
else for($child$$7_node$$18$$=$child$$7_node$$18$$.firstChild;$child$$7_node$$18$$;)$goog$dom$getTextContent_$$($child$$7_node$$18$$,$buf$$2$$,$normalizeWhitespace$$),$child$$7_node$$18$$=$child$$7_node$$18$$.nextSibling}
|
||||
function $goog$dom$getAncestorByTagNameAndClass$$($element$$26$$,$opt_tag$$2$$){if(!$opt_tag$$2$$)return $JSCompiler_alias_NULL$$;var $tagName$$4$$=$opt_tag$$2$$?$opt_tag$$2$$.toUpperCase():$JSCompiler_alias_NULL$$;return $goog$dom$getAncestor$$($element$$26$$,function($node$$21$$){return(!$tagName$$4$$||$node$$21$$.nodeName==$tagName$$4$$)&&$JSCompiler_alias_TRUE$$})}
|
||||
function $goog$dom$getAncestor$$($element$$28$$,$matcher$$){for(var $steps$$=0;$element$$28$$;){if($matcher$$($element$$28$$))return $element$$28$$;$element$$28$$=$element$$28$$.parentNode;$steps$$++}return $JSCompiler_alias_NULL$$};function $goog$style$setStyle_$$($element$$31$$,$value$$60$$,$prefixedStyle$$inline_76_style$$1$$){var $camelStyle$$inline_75_propertyName$$7$$;a:if($camelStyle$$inline_75_propertyName$$7$$=$goog$string$toCamelCase$$($prefixedStyle$$inline_76_style$$1$$),$element$$31$$.style[$camelStyle$$inline_75_propertyName$$7$$]===$JSCompiler_alias_VOID$$&&($prefixedStyle$$inline_76_style$$1$$=($goog$userAgent$WEBKIT$$?"Webkit":$goog$userAgent$GECKO$$?"Moz":$goog$userAgent$IE$$?"ms":$goog$userAgent$OPERA$$?"O":
|
||||
$JSCompiler_alias_NULL$$)+$goog$string$toTitleCase$$($prefixedStyle$$inline_76_style$$1$$),$element$$31$$.style[$prefixedStyle$$inline_76_style$$1$$]!==$JSCompiler_alias_VOID$$)){$camelStyle$$inline_75_propertyName$$7$$=$prefixedStyle$$inline_76_style$$1$$;break a}$camelStyle$$inline_75_propertyName$$7$$&&($element$$31$$.style[$camelStyle$$inline_75_propertyName$$7$$]=$value$$60$$)};function $goog$Disposable$$(){0!=$goog$Disposable$MonitoringMode$OFF$$&&(this.$creationStack$=Error().stack,$goog$Disposable$instances_$$[$goog$getUid$$(this)]=this)}var $goog$Disposable$MonitoringMode$OFF$$=0,$goog$Disposable$instances_$$={};$goog$Disposable$$.prototype.$disposed_$=$JSCompiler_alias_FALSE$$;
|
||||
$goog$Disposable$$.prototype.$dispose$=function $$goog$Disposable$$$$$dispose$$(){if(!this.$disposed_$&&(this.$disposed_$=$JSCompiler_alias_TRUE$$,this.$disposeInternal$(),0!=$goog$Disposable$MonitoringMode$OFF$$)){var $uid$$=$goog$getUid$$(this);delete $goog$Disposable$instances_$$[$uid$$]}};
|
||||
function $JSCompiler_StaticMethods_registerDisposable$$($JSCompiler_StaticMethods_registerDisposable$self$$,$disposable$$){$JSCompiler_StaticMethods_registerDisposable$self$$.$dependentDisposables_$||($JSCompiler_StaticMethods_registerDisposable$self$$.$dependentDisposables_$=[]);$JSCompiler_StaticMethods_registerDisposable$self$$.$dependentDisposables_$.push($disposable$$)}
|
||||
$goog$Disposable$$.prototype.$disposeInternal$=function $$goog$Disposable$$$$$disposeInternal$$(){this.$dependentDisposables_$&&$goog$disposeAll$$.apply($JSCompiler_alias_NULL$$,this.$dependentDisposables_$);if(this.$onDisposeCallbacks_$)for(;this.$onDisposeCallbacks_$.length;)this.$onDisposeCallbacks_$.shift()()};function $goog$dispose$$($obj$$66$$){$obj$$66$$&&"function"==typeof $obj$$66$$.$dispose$&&$obj$$66$$.$dispose$()}
|
||||
function $goog$disposeAll$$($var_args$$60$$){for(var $i$$57$$=0,$len$$1$$=arguments.length;$i$$57$$<$len$$1$$;++$i$$57$$){var $disposable$$1$$=arguments[$i$$57$$];$goog$isArrayLike$$($disposable$$1$$)?$goog$disposeAll$$.apply($JSCompiler_alias_NULL$$,$disposable$$1$$):$goog$dispose$$($disposable$$1$$)}};function $goog$events$Event$$($type$$58$$,$opt_target$$1$$){this.type=$type$$58$$;this.currentTarget=this.target=$opt_target$$1$$}$JSCompiler_prototypeAlias$$=$goog$events$Event$$.prototype;$JSCompiler_prototypeAlias$$.$disposeInternal$=function $$JSCompiler_prototypeAlias$$$$disposeInternal$$(){};$JSCompiler_prototypeAlias$$.$dispose$=function $$JSCompiler_prototypeAlias$$$$dispose$$(){};$JSCompiler_prototypeAlias$$.$propagationStopped_$=$JSCompiler_alias_FALSE$$;
|
||||
$JSCompiler_prototypeAlias$$.defaultPrevented=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.$returnValue_$=$JSCompiler_alias_TRUE$$;$JSCompiler_prototypeAlias$$.preventDefault=function $$JSCompiler_prototypeAlias$$$preventDefault$(){this.defaultPrevented=$JSCompiler_alias_TRUE$$;this.$returnValue_$=$JSCompiler_alias_FALSE$$};function $goog$events$Listener$$(){}var $goog$events$Listener$counter_$$=0;$JSCompiler_prototypeAlias$$=$goog$events$Listener$$.prototype;$JSCompiler_prototypeAlias$$.key=0;$JSCompiler_prototypeAlias$$.$removed$=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.$callOnce$=$JSCompiler_alias_FALSE$$;
|
||||
$JSCompiler_prototypeAlias$$.$init$=function $$JSCompiler_prototypeAlias$$$$init$$($listener$$32$$,$proxy$$,$src$$5$$,$type$$59$$,$capture$$,$opt_handler$$){$goog$isFunction$$($listener$$32$$)?this.$isFunctionListener_$=$JSCompiler_alias_TRUE$$:$listener$$32$$&&$listener$$32$$.handleEvent&&$goog$isFunction$$($listener$$32$$.handleEvent)?this.$isFunctionListener_$=$JSCompiler_alias_FALSE$$:$JSCompiler_alias_THROW$$(Error("Invalid listener argument"));this.$listener$=$listener$$32$$;this.$proxy$=$proxy$$;
|
||||
this.src=$src$$5$$;this.type=$type$$59$$;this.capture=!!$capture$$;this.$handler$=$opt_handler$$;this.$callOnce$=$JSCompiler_alias_FALSE$$;this.key=++$goog$events$Listener$counter_$$;this.$removed$=$JSCompiler_alias_FALSE$$};$JSCompiler_prototypeAlias$$.handleEvent=function $$JSCompiler_prototypeAlias$$$handleEvent$($eventObject$$){return this.$isFunctionListener_$?this.$listener$.call(this.$handler$||this.src,$eventObject$$):this.$listener$.handleEvent.call(this.$listener$,$eventObject$$)};var $goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$=!$goog$userAgent$IE$$||$goog$userAgent$IE$$&&9<=$goog$userAgent$DOCUMENT_MODE$$,$goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$=$goog$userAgent$IE$$&&!$goog$userAgent$isVersion$$("9");!$goog$userAgent$WEBKIT$$||$goog$userAgent$isVersion$$("528");
|
||||
$goog$userAgent$GECKO$$&&$goog$userAgent$isVersion$$("1.9b")||$goog$userAgent$IE$$&&$goog$userAgent$isVersion$$("8")||$goog$userAgent$OPERA$$&&$goog$userAgent$isVersion$$("9.5")||$goog$userAgent$WEBKIT$$&&$goog$userAgent$isVersion$$("528");$goog$userAgent$GECKO$$&&!$goog$userAgent$isVersion$$("8")||$goog$userAgent$IE$$&&$goog$userAgent$isVersion$$("9");function $goog$reflect$sinkValue$$($x$$62$$){$goog$reflect$sinkValue$$[" "]($x$$62$$);return $x$$62$$}$goog$reflect$sinkValue$$[" "]=function $$goog$reflect$sinkValue$$$__0$(){};function $goog$events$BrowserEvent$$($opt_e$$,$opt_currentTarget$$){$opt_e$$&&this.$init$($opt_e$$,$opt_currentTarget$$)}$goog$inherits$$($goog$events$BrowserEvent$$,$goog$events$Event$$);$JSCompiler_prototypeAlias$$=$goog$events$BrowserEvent$$.prototype;$JSCompiler_prototypeAlias$$.target=$JSCompiler_alias_NULL$$;$JSCompiler_prototypeAlias$$.relatedTarget=$JSCompiler_alias_NULL$$;$JSCompiler_prototypeAlias$$.offsetX=0;$JSCompiler_prototypeAlias$$.offsetY=0;$JSCompiler_prototypeAlias$$.clientX=0;
|
||||
$JSCompiler_prototypeAlias$$.clientY=0;$JSCompiler_prototypeAlias$$.screenX=0;$JSCompiler_prototypeAlias$$.screenY=0;$JSCompiler_prototypeAlias$$.button=0;$JSCompiler_prototypeAlias$$.keyCode=0;$JSCompiler_prototypeAlias$$.charCode=0;$JSCompiler_prototypeAlias$$.ctrlKey=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.altKey=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.shiftKey=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.metaKey=$JSCompiler_alias_FALSE$$;
|
||||
$JSCompiler_prototypeAlias$$.$platformModifierKey$=$JSCompiler_alias_FALSE$$;$JSCompiler_prototypeAlias$$.$event_$=$JSCompiler_alias_NULL$$;
|
||||
$JSCompiler_prototypeAlias$$.$init$=function $$JSCompiler_prototypeAlias$$$$init$$($e$$17$$,$opt_currentTarget$$1$$){var $type$$61$$=this.type=$e$$17$$.type;$goog$events$Event$$.call(this,$type$$61$$);this.target=$e$$17$$.target||$e$$17$$.srcElement;this.currentTarget=$opt_currentTarget$$1$$;var $relatedTarget$$=$e$$17$$.relatedTarget;if($relatedTarget$$){if($goog$userAgent$GECKO$$){var $JSCompiler_inline_result$$10$$;a:{try{$goog$reflect$sinkValue$$($relatedTarget$$.nodeName);$JSCompiler_inline_result$$10$$=
|
||||
$JSCompiler_alias_TRUE$$;break a}catch($e$$inline_80$$){}$JSCompiler_inline_result$$10$$=$JSCompiler_alias_FALSE$$}$JSCompiler_inline_result$$10$$||($relatedTarget$$=$JSCompiler_alias_NULL$$)}}else"mouseover"==$type$$61$$?$relatedTarget$$=$e$$17$$.fromElement:"mouseout"==$type$$61$$&&($relatedTarget$$=$e$$17$$.toElement);this.relatedTarget=$relatedTarget$$;this.offsetX=$goog$userAgent$WEBKIT$$||$e$$17$$.offsetX!==$JSCompiler_alias_VOID$$?$e$$17$$.offsetX:$e$$17$$.layerX;this.offsetY=$goog$userAgent$WEBKIT$$||
|
||||
$e$$17$$.offsetY!==$JSCompiler_alias_VOID$$?$e$$17$$.offsetY:$e$$17$$.layerY;this.clientX=$e$$17$$.clientX!==$JSCompiler_alias_VOID$$?$e$$17$$.clientX:$e$$17$$.pageX;this.clientY=$e$$17$$.clientY!==$JSCompiler_alias_VOID$$?$e$$17$$.clientY:$e$$17$$.pageY;this.screenX=$e$$17$$.screenX||0;this.screenY=$e$$17$$.screenY||0;this.button=$e$$17$$.button;this.keyCode=$e$$17$$.keyCode||0;this.charCode=$e$$17$$.charCode||("keypress"==$type$$61$$?$e$$17$$.keyCode:0);this.ctrlKey=$e$$17$$.ctrlKey;this.altKey=
|
||||
$e$$17$$.altKey;this.shiftKey=$e$$17$$.shiftKey;this.metaKey=$e$$17$$.metaKey;this.$platformModifierKey$=$goog$userAgent$MAC$$?$e$$17$$.metaKey:$e$$17$$.ctrlKey;this.state=$e$$17$$.state;this.$event_$=$e$$17$$;$e$$17$$.defaultPrevented&&this.preventDefault();delete this.$propagationStopped_$};
|
||||
$JSCompiler_prototypeAlias$$.preventDefault=function $$JSCompiler_prototypeAlias$$$preventDefault$(){$goog$events$BrowserEvent$$.$superClass_$.preventDefault.call(this);var $be$$=this.$event_$;if($be$$.preventDefault)$be$$.preventDefault();else if($be$$.returnValue=$JSCompiler_alias_FALSE$$,$goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$)try{if($be$$.ctrlKey||112<=$be$$.keyCode&&123>=$be$$.keyCode)$be$$.keyCode=-1}catch($ex$$1$$){}};$JSCompiler_prototypeAlias$$.$disposeInternal$=function $$JSCompiler_prototypeAlias$$$$disposeInternal$$(){};var $goog$events$listeners_$$={},$goog$events$listenerTree_$$={},$goog$events$sources_$$={},$goog$events$onStringMap_$$={};
|
||||
function $goog$events$listen$$($JSCompiler_inline_result$$3_src$$8$$,$type$$62$$,$key$$inline_95_listener$$35$$,$capture$$inline_88_opt_capt$$2$$,$opt_handler$$1$$){if($goog$isArray$$($type$$62$$)){for(var $i$$61_srcUid$$inline_90$$=0;$i$$61_srcUid$$inline_90$$<$type$$62$$.length;$i$$61_srcUid$$inline_90$$++)$goog$events$listen$$($JSCompiler_inline_result$$3_src$$8$$,$type$$62$$[$i$$61_srcUid$$inline_90$$],$key$$inline_95_listener$$35$$,$capture$$inline_88_opt_capt$$2$$,$opt_handler$$1$$);return $JSCompiler_alias_NULL$$}a:{$type$$62$$||
|
||||
$JSCompiler_alias_THROW$$(Error("Invalid event type"));$capture$$inline_88_opt_capt$$2$$=!!$capture$$inline_88_opt_capt$$2$$;var $listenerObj$$inline_92_map$$inline_89$$=$goog$events$listenerTree_$$;$type$$62$$ in $listenerObj$$inline_92_map$$inline_89$$||($listenerObj$$inline_92_map$$inline_89$$[$type$$62$$]={$count_$:0,$remaining_$:0});$listenerObj$$inline_92_map$$inline_89$$=$listenerObj$$inline_92_map$$inline_89$$[$type$$62$$];$capture$$inline_88_opt_capt$$2$$ in $listenerObj$$inline_92_map$$inline_89$$||
|
||||
($listenerObj$$inline_92_map$$inline_89$$[$capture$$inline_88_opt_capt$$2$$]={$count_$:0,$remaining_$:0},$listenerObj$$inline_92_map$$inline_89$$.$count_$++);var $listenerObj$$inline_92_map$$inline_89$$=$listenerObj$$inline_92_map$$inline_89$$[$capture$$inline_88_opt_capt$$2$$],$i$$61_srcUid$$inline_90$$=$goog$getUid$$($JSCompiler_inline_result$$3_src$$8$$),$listenerArray$$inline_91$$;$listenerObj$$inline_92_map$$inline_89$$.$remaining_$++;if($listenerObj$$inline_92_map$$inline_89$$[$i$$61_srcUid$$inline_90$$]){$listenerArray$$inline_91$$=
|
||||
$listenerObj$$inline_92_map$$inline_89$$[$i$$61_srcUid$$inline_90$$];for(var $i$$inline_93_proxy$$inline_94$$=0;$i$$inline_93_proxy$$inline_94$$<$listenerArray$$inline_91$$.length;$i$$inline_93_proxy$$inline_94$$++)if($listenerObj$$inline_92_map$$inline_89$$=$listenerArray$$inline_91$$[$i$$inline_93_proxy$$inline_94$$],$listenerObj$$inline_92_map$$inline_89$$.$listener$==$key$$inline_95_listener$$35$$&&$listenerObj$$inline_92_map$$inline_89$$.$handler$==$opt_handler$$1$$){if($listenerObj$$inline_92_map$$inline_89$$.$removed$)break;
|
||||
$listenerArray$$inline_91$$[$i$$inline_93_proxy$$inline_94$$].$callOnce$=$JSCompiler_alias_FALSE$$;$JSCompiler_inline_result$$3_src$$8$$=$listenerArray$$inline_91$$[$i$$inline_93_proxy$$inline_94$$].key;break a}}else $listenerArray$$inline_91$$=$listenerObj$$inline_92_map$$inline_89$$[$i$$61_srcUid$$inline_90$$]=[],$listenerObj$$inline_92_map$$inline_89$$.$count_$++;$i$$inline_93_proxy$$inline_94$$=$goog$events$getProxy$$();$i$$inline_93_proxy$$inline_94$$.src=$JSCompiler_inline_result$$3_src$$8$$;
|
||||
$listenerObj$$inline_92_map$$inline_89$$=new $goog$events$Listener$$;$listenerObj$$inline_92_map$$inline_89$$.$init$($key$$inline_95_listener$$35$$,$i$$inline_93_proxy$$inline_94$$,$JSCompiler_inline_result$$3_src$$8$$,$type$$62$$,$capture$$inline_88_opt_capt$$2$$,$opt_handler$$1$$);$listenerObj$$inline_92_map$$inline_89$$.$callOnce$=$JSCompiler_alias_FALSE$$;$key$$inline_95_listener$$35$$=$listenerObj$$inline_92_map$$inline_89$$.key;$i$$inline_93_proxy$$inline_94$$.key=$key$$inline_95_listener$$35$$;
|
||||
$listenerArray$$inline_91$$.push($listenerObj$$inline_92_map$$inline_89$$);$goog$events$listeners_$$[$key$$inline_95_listener$$35$$]=$listenerObj$$inline_92_map$$inline_89$$;$goog$events$sources_$$[$i$$61_srcUid$$inline_90$$]||($goog$events$sources_$$[$i$$61_srcUid$$inline_90$$]=[]);$goog$events$sources_$$[$i$$61_srcUid$$inline_90$$].push($listenerObj$$inline_92_map$$inline_89$$);$JSCompiler_inline_result$$3_src$$8$$.addEventListener?($JSCompiler_inline_result$$3_src$$8$$==$goog$global$$||!$JSCompiler_inline_result$$3_src$$8$$.$customEvent_$)&&
|
||||
$JSCompiler_inline_result$$3_src$$8$$.addEventListener($type$$62$$,$i$$inline_93_proxy$$inline_94$$,$capture$$inline_88_opt_capt$$2$$):$JSCompiler_inline_result$$3_src$$8$$.attachEvent($type$$62$$ in $goog$events$onStringMap_$$?$goog$events$onStringMap_$$[$type$$62$$]:$goog$events$onStringMap_$$[$type$$62$$]="on"+$type$$62$$,$i$$inline_93_proxy$$inline_94$$);$JSCompiler_inline_result$$3_src$$8$$=$key$$inline_95_listener$$35$$}return $JSCompiler_inline_result$$3_src$$8$$}
|
||||
function $goog$events$getProxy$$(){var $proxyCallbackFunction$$=$goog$events$handleBrowserEvent_$$,$f$$26$$=$goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$?function($eventObject$$1$$){return $proxyCallbackFunction$$.call($f$$26$$.src,$f$$26$$.key,$eventObject$$1$$)}:function($eventObject$$2_v$$){$eventObject$$2_v$$=$proxyCallbackFunction$$.call($f$$26$$.src,$f$$26$$.key,$eventObject$$2_v$$);if(!$eventObject$$2_v$$)return $eventObject$$2_v$$};return $f$$26$$}
|
||||
function $goog$events$unlisten$$($listenerArray$$1_objUid$$inline_101_src$$12$$,$type$$65$$,$listener$$39$$,$capture$$2_opt_capt$$6$$,$opt_handler$$5$$){if($goog$isArray$$($type$$65$$))for(var $i$$64_map$$inline_100$$=0;$i$$64_map$$inline_100$$<$type$$65$$.length;$i$$64_map$$inline_100$$++)$goog$events$unlisten$$($listenerArray$$1_objUid$$inline_101_src$$12$$,$type$$65$$[$i$$64_map$$inline_100$$],$listener$$39$$,$capture$$2_opt_capt$$6$$,$opt_handler$$5$$);else{$capture$$2_opt_capt$$6$$=!!$capture$$2_opt_capt$$6$$;
|
||||
a:{$i$$64_map$$inline_100$$=$goog$events$listenerTree_$$;if($type$$65$$ in $i$$64_map$$inline_100$$&&($i$$64_map$$inline_100$$=$i$$64_map$$inline_100$$[$type$$65$$],$capture$$2_opt_capt$$6$$ in $i$$64_map$$inline_100$$&&($i$$64_map$$inline_100$$=$i$$64_map$$inline_100$$[$capture$$2_opt_capt$$6$$],$listenerArray$$1_objUid$$inline_101_src$$12$$=$goog$getUid$$($listenerArray$$1_objUid$$inline_101_src$$12$$),$i$$64_map$$inline_100$$[$listenerArray$$1_objUid$$inline_101_src$$12$$]))){$listenerArray$$1_objUid$$inline_101_src$$12$$=
|
||||
$i$$64_map$$inline_100$$[$listenerArray$$1_objUid$$inline_101_src$$12$$];break a}$listenerArray$$1_objUid$$inline_101_src$$12$$=$JSCompiler_alias_NULL$$}if($listenerArray$$1_objUid$$inline_101_src$$12$$)for($i$$64_map$$inline_100$$=0;$i$$64_map$$inline_100$$<$listenerArray$$1_objUid$$inline_101_src$$12$$.length;$i$$64_map$$inline_100$$++)if($listenerArray$$1_objUid$$inline_101_src$$12$$[$i$$64_map$$inline_100$$].$listener$==$listener$$39$$&&$listenerArray$$1_objUid$$inline_101_src$$12$$[$i$$64_map$$inline_100$$].capture==
|
||||
$capture$$2_opt_capt$$6$$&&$listenerArray$$1_objUid$$inline_101_src$$12$$[$i$$64_map$$inline_100$$].$handler$==$opt_handler$$5$$){$goog$events$unlistenByKey$$($listenerArray$$1_objUid$$inline_101_src$$12$$[$i$$64_map$$inline_100$$].key);break}}}
|
||||
function $goog$events$unlistenByKey$$($key$$46$$){if(!$goog$events$listeners_$$[$key$$46$$])return $JSCompiler_alias_FALSE$$;var $listener$$40_listenerArray$$2$$=$goog$events$listeners_$$[$key$$46$$];if($listener$$40_listenerArray$$2$$.$removed$)return $JSCompiler_alias_FALSE$$;var $src$$13_srcUid$$1$$=$listener$$40_listenerArray$$2$$.src,$type$$66$$=$listener$$40_listenerArray$$2$$.type,$proxy$$2_sourcesArray$$=$listener$$40_listenerArray$$2$$.$proxy$,$capture$$3$$=$listener$$40_listenerArray$$2$$.capture;
|
||||
$src$$13_srcUid$$1$$.removeEventListener?($src$$13_srcUid$$1$$==$goog$global$$||!$src$$13_srcUid$$1$$.$customEvent_$)&&$src$$13_srcUid$$1$$.removeEventListener($type$$66$$,$proxy$$2_sourcesArray$$,$capture$$3$$):$src$$13_srcUid$$1$$.detachEvent&&$src$$13_srcUid$$1$$.detachEvent($type$$66$$ in $goog$events$onStringMap_$$?$goog$events$onStringMap_$$[$type$$66$$]:$goog$events$onStringMap_$$[$type$$66$$]="on"+$type$$66$$,$proxy$$2_sourcesArray$$);$src$$13_srcUid$$1$$=$goog$getUid$$($src$$13_srcUid$$1$$);
|
||||
if($goog$events$sources_$$[$src$$13_srcUid$$1$$]){var $proxy$$2_sourcesArray$$=$goog$events$sources_$$[$src$$13_srcUid$$1$$],$i$$inline_105$$=$goog$array$indexOf$$($proxy$$2_sourcesArray$$,$listener$$40_listenerArray$$2$$);0<=$i$$inline_105$$&&($goog$asserts$assert$$($proxy$$2_sourcesArray$$.length!=$JSCompiler_alias_NULL$$),$goog$array$ARRAY_PROTOTYPE_$$.splice.call($proxy$$2_sourcesArray$$,$i$$inline_105$$,1));0==$proxy$$2_sourcesArray$$.length&&delete $goog$events$sources_$$[$src$$13_srcUid$$1$$]}$listener$$40_listenerArray$$2$$.$removed$=
|
||||
$JSCompiler_alias_TRUE$$;if($listener$$40_listenerArray$$2$$=$goog$events$listenerTree_$$[$type$$66$$][$capture$$3$$][$src$$13_srcUid$$1$$])$listener$$40_listenerArray$$2$$.$needsCleanup_$=$JSCompiler_alias_TRUE$$,$goog$events$cleanUp_$$($type$$66$$,$capture$$3$$,$src$$13_srcUid$$1$$,$listener$$40_listenerArray$$2$$);delete $goog$events$listeners_$$[$key$$46$$];return $JSCompiler_alias_TRUE$$}
|
||||
function $goog$events$cleanUp_$$($type$$67$$,$capture$$4$$,$srcUid$$2$$,$listenerArray$$3$$){if(!$listenerArray$$3$$.$locked_$&&$listenerArray$$3$$.$needsCleanup_$){for(var $oldIndex$$=0,$newIndex$$=0;$oldIndex$$<$listenerArray$$3$$.length;$oldIndex$$++)$listenerArray$$3$$[$oldIndex$$].$removed$?$listenerArray$$3$$[$oldIndex$$].$proxy$.src=$JSCompiler_alias_NULL$$:($oldIndex$$!=$newIndex$$&&($listenerArray$$3$$[$newIndex$$]=$listenerArray$$3$$[$oldIndex$$]),$newIndex$$++);$listenerArray$$3$$.length=
|
||||
$newIndex$$;$listenerArray$$3$$.$needsCleanup_$=$JSCompiler_alias_FALSE$$;0==$newIndex$$&&(delete $goog$events$listenerTree_$$[$type$$67$$][$capture$$4$$][$srcUid$$2$$],$goog$events$listenerTree_$$[$type$$67$$][$capture$$4$$].$count_$--,0==$goog$events$listenerTree_$$[$type$$67$$][$capture$$4$$].$count_$&&(delete $goog$events$listenerTree_$$[$type$$67$$][$capture$$4$$],$goog$events$listenerTree_$$[$type$$67$$].$count_$--),0==$goog$events$listenerTree_$$[$type$$67$$].$count_$&&delete $goog$events$listenerTree_$$[$type$$67$$])}}
|
||||
function $goog$events$removeAll$$($opt_obj$$27_sourcesArray$$1_srcUid$$3$$){var $count$$9$$=0;if($opt_obj$$27_sourcesArray$$1_srcUid$$3$$!=$JSCompiler_alias_NULL$$){if($opt_obj$$27_sourcesArray$$1_srcUid$$3$$=$goog$getUid$$($opt_obj$$27_sourcesArray$$1_srcUid$$3$$),$goog$events$sources_$$[$opt_obj$$27_sourcesArray$$1_srcUid$$3$$]){$opt_obj$$27_sourcesArray$$1_srcUid$$3$$=$goog$events$sources_$$[$opt_obj$$27_sourcesArray$$1_srcUid$$3$$];for(var $i$$65$$=$opt_obj$$27_sourcesArray$$1_srcUid$$3$$.length-
|
||||
1;0<=$i$$65$$;$i$$65$$--)$goog$events$unlistenByKey$$($opt_obj$$27_sourcesArray$$1_srcUid$$3$$[$i$$65$$].key),$count$$9$$++}}else $goog$object$forEach$$($goog$events$listeners_$$,function($listener$$43$$,$key$$47$$){$goog$events$unlistenByKey$$($key$$47$$);$count$$9$$++})}
|
||||
function $goog$events$fireListeners_$$($map$$4$$,$obj$$73_objUid$$2$$,$type$$73$$,$capture$$9$$,$eventObject$$4$$){var $retval$$=1;$obj$$73_objUid$$2$$=$goog$getUid$$($obj$$73_objUid$$2$$);if($map$$4$$[$obj$$73_objUid$$2$$]){var $remaining$$=--$map$$4$$.$remaining_$,$listenerArray$$5$$=$map$$4$$[$obj$$73_objUid$$2$$];$listenerArray$$5$$.$locked_$?$listenerArray$$5$$.$locked_$++:$listenerArray$$5$$.$locked_$=1;try{for(var $length$$16$$=$listenerArray$$5$$.length,$i$$67$$=0;$i$$67$$<$length$$16$$;$i$$67$$++){var $listener$$46$$=
|
||||
$listenerArray$$5$$[$i$$67$$];$listener$$46$$&&!$listener$$46$$.$removed$&&($retval$$&=$goog$events$fireListener$$($listener$$46$$,$eventObject$$4$$)!==$JSCompiler_alias_FALSE$$)}}finally{$map$$4$$.$remaining_$=Math.max($remaining$$,$map$$4$$.$remaining_$),$listenerArray$$5$$.$locked_$--,$goog$events$cleanUp_$$($type$$73$$,$capture$$9$$,$obj$$73_objUid$$2$$,$listenerArray$$5$$)}}return Boolean($retval$$)}
|
||||
function $goog$events$fireListener$$($listener$$47$$,$eventObject$$5$$){$listener$$47$$.$callOnce$&&$goog$events$unlistenByKey$$($listener$$47$$.key);return $listener$$47$$.handleEvent($eventObject$$5$$)}
|
||||
function $goog$events$handleBrowserEvent_$$($key$$49$$,$opt_evt$$){if(!$goog$events$listeners_$$[$key$$49$$])return $JSCompiler_alias_TRUE$$;var $listener$$48$$=$goog$events$listeners_$$[$key$$49$$],$be$$1_type$$75$$=$listener$$48$$.type,$map$$6$$=$goog$events$listenerTree_$$;if(!($be$$1_type$$75$$ in $map$$6$$))return $JSCompiler_alias_TRUE$$;var $map$$6$$=$map$$6$$[$be$$1_type$$75$$],$ieEvent_part$$inline_111_retval$$1$$,$targetsMap$$1$$;if(!$goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$){var $JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$;
|
||||
if(!($JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$=$opt_evt$$))a:{$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$=["window","event"];for(var $cur$$inline_110_hasBubble$$1$$=$goog$global$$;$ieEvent_part$$inline_111_retval$$1$$=$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$.shift();)if($cur$$inline_110_hasBubble$$1$$[$ieEvent_part$$inline_111_retval$$1$$]!=$JSCompiler_alias_NULL$$)$cur$$inline_110_hasBubble$$1$$=$cur$$inline_110_hasBubble$$1$$[$ieEvent_part$$inline_111_retval$$1$$];
|
||||
else{$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$=$JSCompiler_alias_NULL$$;break a}$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$=$cur$$inline_110_hasBubble$$1$$}$ieEvent_part$$inline_111_retval$$1$$=$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$;$JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$=$JSCompiler_alias_TRUE$$ in $map$$6$$;$cur$$inline_110_hasBubble$$1$$=$JSCompiler_alias_FALSE$$ in $map$$6$$;if($JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$){if(0>
|
||||
$ieEvent_part$$inline_111_retval$$1$$.keyCode||$ieEvent_part$$inline_111_retval$$1$$.returnValue!=$JSCompiler_alias_VOID$$)return $JSCompiler_alias_TRUE$$;a:{var $evt$$16_useReturnValue$$inline_114$$=$JSCompiler_alias_FALSE$$;if(0==$ieEvent_part$$inline_111_retval$$1$$.keyCode)try{$ieEvent_part$$inline_111_retval$$1$$.keyCode=-1;break a}catch($ex$$inline_115$$){$evt$$16_useReturnValue$$inline_114$$=$JSCompiler_alias_TRUE$$}if($evt$$16_useReturnValue$$inline_114$$||$ieEvent_part$$inline_111_retval$$1$$.returnValue==
|
||||
$JSCompiler_alias_VOID$$)$ieEvent_part$$inline_111_retval$$1$$.returnValue=$JSCompiler_alias_TRUE$$}}$evt$$16_useReturnValue$$inline_114$$=new $goog$events$BrowserEvent$$;$evt$$16_useReturnValue$$inline_114$$.$init$($ieEvent_part$$inline_111_retval$$1$$,this);$ieEvent_part$$inline_111_retval$$1$$=$JSCompiler_alias_TRUE$$;try{if($JSCompiler_temp$$19_hasCapture$$2_parts$$inline_109$$){for(var $ancestors$$2$$=[],$parent$$19$$=$evt$$16_useReturnValue$$inline_114$$.currentTarget;$parent$$19$$;$parent$$19$$=
|
||||
$parent$$19$$.parentNode)$ancestors$$2$$.push($parent$$19$$);$targetsMap$$1$$=$map$$6$$[$JSCompiler_alias_TRUE$$];$targetsMap$$1$$.$remaining_$=$targetsMap$$1$$.$count_$;for(var $i$$69$$=$ancestors$$2$$.length-1;!$evt$$16_useReturnValue$$inline_114$$.$propagationStopped_$&&0<=$i$$69$$&&$targetsMap$$1$$.$remaining_$;$i$$69$$--)$evt$$16_useReturnValue$$inline_114$$.currentTarget=$ancestors$$2$$[$i$$69$$],$ieEvent_part$$inline_111_retval$$1$$&=$goog$events$fireListeners_$$($targetsMap$$1$$,$ancestors$$2$$[$i$$69$$],
|
||||
$be$$1_type$$75$$,$JSCompiler_alias_TRUE$$,$evt$$16_useReturnValue$$inline_114$$);if($cur$$inline_110_hasBubble$$1$$){$targetsMap$$1$$=$map$$6$$[$JSCompiler_alias_FALSE$$];$targetsMap$$1$$.$remaining_$=$targetsMap$$1$$.$count_$;for($i$$69$$=0;!$evt$$16_useReturnValue$$inline_114$$.$propagationStopped_$&&$i$$69$$<$ancestors$$2$$.length&&$targetsMap$$1$$.$remaining_$;$i$$69$$++)$evt$$16_useReturnValue$$inline_114$$.currentTarget=$ancestors$$2$$[$i$$69$$],$ieEvent_part$$inline_111_retval$$1$$&=$goog$events$fireListeners_$$($targetsMap$$1$$,
|
||||
$ancestors$$2$$[$i$$69$$],$be$$1_type$$75$$,$JSCompiler_alias_FALSE$$,$evt$$16_useReturnValue$$inline_114$$)}}else $ieEvent_part$$inline_111_retval$$1$$=$goog$events$fireListener$$($listener$$48$$,$evt$$16_useReturnValue$$inline_114$$)}finally{$ancestors$$2$$&&($ancestors$$2$$.length=0)}return $ieEvent_part$$inline_111_retval$$1$$}$be$$1_type$$75$$=new $goog$events$BrowserEvent$$($opt_evt$$,this);return $ieEvent_part$$inline_111_retval$$1$$=$goog$events$fireListener$$($listener$$48$$,$be$$1_type$$75$$)}
|
||||
;function $goog$events$EventHandler$$($opt_handler$$8$$){$goog$Disposable$$.call(this);this.$handler_$=$opt_handler$$8$$;this.$keys_$=[]}$goog$inherits$$($goog$events$EventHandler$$,$goog$Disposable$$);var $goog$events$EventHandler$typeArray_$$=[];
|
||||
function $JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$self$$,$src$$17$$,$type$$76$$,$opt_fn$$,$opt_capture$$1$$,$opt_handler$$9$$){$goog$isArray$$($type$$76$$)||($goog$events$EventHandler$typeArray_$$[0]=$type$$76$$,$type$$76$$=$goog$events$EventHandler$typeArray_$$);for(var $i$$70$$=0;$i$$70$$<$type$$76$$.length;$i$$70$$++){var $key$$50$$=$goog$events$listen$$($src$$17$$,$type$$76$$[$i$$70$$],$opt_fn$$||$JSCompiler_StaticMethods_listen$self$$,$opt_capture$$1$$||$JSCompiler_alias_FALSE$$,
|
||||
$opt_handler$$9$$||$JSCompiler_StaticMethods_listen$self$$.$handler_$||$JSCompiler_StaticMethods_listen$self$$);$JSCompiler_StaticMethods_listen$self$$.$keys_$.push($key$$50$$)}}$goog$events$EventHandler$$.prototype.$disposeInternal$=function $$goog$events$EventHandler$$$$$disposeInternal$$(){$goog$events$EventHandler$$.$superClass_$.$disposeInternal$.call(this);$goog$array$forEach$$(this.$keys_$,$goog$events$unlistenByKey$$);this.$keys_$.length=0};
|
||||
$goog$events$EventHandler$$.prototype.handleEvent=function $$goog$events$EventHandler$$$$handleEvent$(){$JSCompiler_alias_THROW$$(Error("EventHandler.handleEvent not implemented"))};function $goog$events$EventTarget$$(){$goog$Disposable$$.call(this)}$goog$inherits$$($goog$events$EventTarget$$,$goog$Disposable$$);$JSCompiler_prototypeAlias$$=$goog$events$EventTarget$$.prototype;$JSCompiler_prototypeAlias$$.$customEvent_$=$JSCompiler_alias_TRUE$$;$JSCompiler_prototypeAlias$$.$parentEventTarget_$=$JSCompiler_alias_NULL$$;
|
||||
$JSCompiler_prototypeAlias$$.addEventListener=function $$JSCompiler_prototypeAlias$$$addEventListener$($type$$79$$,$handler$$3$$,$opt_capture$$4$$,$opt_handlerScope$$){$goog$events$listen$$(this,$type$$79$$,$handler$$3$$,$opt_capture$$4$$,$opt_handlerScope$$)};
|
||||
$JSCompiler_prototypeAlias$$.removeEventListener=function $$JSCompiler_prototypeAlias$$$removeEventListener$($type$$80$$,$handler$$4$$,$opt_capture$$5$$,$opt_handlerScope$$1$$){$goog$events$unlisten$$(this,$type$$80$$,$handler$$4$$,$opt_capture$$5$$,$opt_handlerScope$$1$$)};
|
||||
$JSCompiler_prototypeAlias$$.dispatchEvent=function $$JSCompiler_prototypeAlias$$$dispatchEvent$($JSCompiler_inline_result$$20_e$$23_e$$inline_121$$){var $hasCapture$$inline_127_type$$inline_122$$=$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.type||$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$,$map$$inline_123$$=$goog$events$listenerTree_$$;if($hasCapture$$inline_127_type$$inline_122$$ in $map$$inline_123$$){if($goog$isString$$($JSCompiler_inline_result$$20_e$$23_e$$inline_121$$))$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$=
|
||||
new $goog$events$Event$$($JSCompiler_inline_result$$20_e$$23_e$$inline_121$$,this);else if($JSCompiler_inline_result$$20_e$$23_e$$inline_121$$ instanceof $goog$events$Event$$)$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.target=$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.target||this;else{var $oldEvent$$inline_124_rv$$inline_125$$=$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$;$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$=new $goog$events$Event$$($hasCapture$$inline_127_type$$inline_122$$,
|
||||
this);$goog$object$extend$$($JSCompiler_inline_result$$20_e$$23_e$$inline_121$$,$oldEvent$$inline_124_rv$$inline_125$$)}var $oldEvent$$inline_124_rv$$inline_125$$=1,$ancestors$$inline_126_current$$inline_131$$,$map$$inline_123$$=$map$$inline_123$$[$hasCapture$$inline_127_type$$inline_122$$],$hasCapture$$inline_127_type$$inline_122$$=$JSCompiler_alias_TRUE$$ in $map$$inline_123$$,$parent$$inline_129_targetsMap$$inline_128$$;if($hasCapture$$inline_127_type$$inline_122$$){$ancestors$$inline_126_current$$inline_131$$=
|
||||
[];for($parent$$inline_129_targetsMap$$inline_128$$=this;$parent$$inline_129_targetsMap$$inline_128$$;$parent$$inline_129_targetsMap$$inline_128$$=$parent$$inline_129_targetsMap$$inline_128$$.$parentEventTarget_$)$ancestors$$inline_126_current$$inline_131$$.push($parent$$inline_129_targetsMap$$inline_128$$);$parent$$inline_129_targetsMap$$inline_128$$=$map$$inline_123$$[$JSCompiler_alias_TRUE$$];$parent$$inline_129_targetsMap$$inline_128$$.$remaining_$=$parent$$inline_129_targetsMap$$inline_128$$.$count_$;
|
||||
for(var $i$$inline_130$$=$ancestors$$inline_126_current$$inline_131$$.length-1;!$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$propagationStopped_$&&0<=$i$$inline_130$$&&$parent$$inline_129_targetsMap$$inline_128$$.$remaining_$;$i$$inline_130$$--)$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.currentTarget=$ancestors$$inline_126_current$$inline_131$$[$i$$inline_130$$],$oldEvent$$inline_124_rv$$inline_125$$&=$goog$events$fireListeners_$$($parent$$inline_129_targetsMap$$inline_128$$,$ancestors$$inline_126_current$$inline_131$$[$i$$inline_130$$],
|
||||
$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.type,$JSCompiler_alias_TRUE$$,$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$)&&$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$returnValue_$!=$JSCompiler_alias_FALSE$$}if($JSCompiler_alias_FALSE$$ in $map$$inline_123$$)if($parent$$inline_129_targetsMap$$inline_128$$=$map$$inline_123$$[$JSCompiler_alias_FALSE$$],$parent$$inline_129_targetsMap$$inline_128$$.$remaining_$=$parent$$inline_129_targetsMap$$inline_128$$.$count_$,$hasCapture$$inline_127_type$$inline_122$$)for($i$$inline_130$$=
|
||||
0;!$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$propagationStopped_$&&$i$$inline_130$$<$ancestors$$inline_126_current$$inline_131$$.length&&$parent$$inline_129_targetsMap$$inline_128$$.$remaining_$;$i$$inline_130$$++)$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.currentTarget=$ancestors$$inline_126_current$$inline_131$$[$i$$inline_130$$],$oldEvent$$inline_124_rv$$inline_125$$&=$goog$events$fireListeners_$$($parent$$inline_129_targetsMap$$inline_128$$,$ancestors$$inline_126_current$$inline_131$$[$i$$inline_130$$],
|
||||
$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.type,$JSCompiler_alias_FALSE$$,$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$)&&$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$returnValue_$!=$JSCompiler_alias_FALSE$$;else for($ancestors$$inline_126_current$$inline_131$$=this;!$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$propagationStopped_$&&$ancestors$$inline_126_current$$inline_131$$&&$parent$$inline_129_targetsMap$$inline_128$$.$remaining_$;$ancestors$$inline_126_current$$inline_131$$=
|
||||
$ancestors$$inline_126_current$$inline_131$$.$parentEventTarget_$)$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.currentTarget=$ancestors$$inline_126_current$$inline_131$$,$oldEvent$$inline_124_rv$$inline_125$$&=$goog$events$fireListeners_$$($parent$$inline_129_targetsMap$$inline_128$$,$ancestors$$inline_126_current$$inline_131$$,$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.type,$JSCompiler_alias_FALSE$$,$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$)&&$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$.$returnValue_$!=
|
||||
$JSCompiler_alias_FALSE$$;$JSCompiler_inline_result$$20_e$$23_e$$inline_121$$=Boolean($oldEvent$$inline_124_rv$$inline_125$$)}else $JSCompiler_inline_result$$20_e$$23_e$$inline_121$$=$JSCompiler_alias_TRUE$$;return $JSCompiler_inline_result$$20_e$$23_e$$inline_121$$};
|
||||
$JSCompiler_prototypeAlias$$.$disposeInternal$=function $$JSCompiler_prototypeAlias$$$$disposeInternal$$(){$goog$events$EventTarget$$.$superClass_$.$disposeInternal$.call(this);$goog$events$removeAll$$(this);this.$parentEventTarget_$=$JSCompiler_alias_NULL$$};function $pn$app$EventHandlerTarget$$(){$goog$Disposable$$.call(this);this.$eh_$=new $goog$events$EventHandler$$(this);$JSCompiler_StaticMethods_registerDisposable$$(this,this.$eh_$)}$goog$inherits$$($pn$app$EventHandlerTarget$$,$goog$events$EventTarget$$);function $pn$ui$DelayedThrottleInputListener$$($delay$$3$$){$pn$assNum$$($delay$$3$$);$pn$app$EventHandlerTarget$$.call(this);this.$delay_$=$delay$$3$$;this.$currentValues_$={};this.$lastValues_$={};this.$timerId_$=this.$lastInputTime_$=0}$goog$inherits$$($pn$ui$DelayedThrottleInputListener$$,$pn$app$EventHandlerTarget$$);
|
||||
function $JSCompiler_StaticMethods_addInput$$($JSCompiler_StaticMethods_addInput$self$$,$inp$$){$pn$ass$$($inp$$);$pn$ass$$($JSCompiler_alias_TRUE$$);var $type$$inline_135$$=$inp$$.options?"select-one":$inp$$.getAttribute("type");$JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_addInput$self$$.$eh_$,$inp$$,"text"===$type$$inline_135$$?"keyup":"checkbox"===$type$$inline_135$$?"click":"change",$JSCompiler_StaticMethods_addInput$self$$.$onInputEvent_$)}
|
||||
$pn$ui$DelayedThrottleInputListener$$.prototype.$onInputEvent_$=function $$pn$ui$DelayedThrottleInputListener$$$$$onInputEvent_$$($e$$25$$){$pn$ass$$($e$$25$$&&$e$$25$$.target);this.$currentValues_$[$e$$25$$.target.id||"default"]=$e$$25$$.target.value;this.$lastInputTime_$=(new Date).getTime();this.$timerId_$&&($goog$global$$.clearTimeout(this.$timerId_$),this.$timerId_$=0);this.$checkTimer_$()};
|
||||
$pn$ui$DelayedThrottleInputListener$$.prototype.$checkTimer_$=function $$pn$ui$DelayedThrottleInputListener$$$$$checkTimer_$$(){var $curtime_listener$$inline_146$$=(new Date).getTime();if(!this.$delay_$||$curtime_listener$$inline_146$$-this.$lastInputTime_$>=this.$delay_$)clearTimeout(this.$timerId_$),(!$goog$object$getKeys$$(this.$currentValues_$).$pnequals$($goog$object$getKeys$$(this.$lastValues_$))||!$goog$object$getValues$$(this.$currentValues_$).$pnequals$($goog$object$getValues$$(this.$lastValues_$)))&&
|
||||
this.dispatchEvent(new $goog$events$Event$$("input-changed")),this.$timerId_$=0;else{var $curtime_listener$$inline_146$$=this.$checkTimer_$,$opt_delay$$inline_147$$=this.$delay_$/3;$goog$isFunction$$($curtime_listener$$inline_146$$)?this&&($curtime_listener$$inline_146$$=$goog$bind$$($curtime_listener$$inline_146$$,this)):$curtime_listener$$inline_146$$&&"function"==typeof $curtime_listener$$inline_146$$.handleEvent?$curtime_listener$$inline_146$$=$goog$bind$$($curtime_listener$$inline_146$$.handleEvent,
|
||||
$curtime_listener$$inline_146$$):$JSCompiler_alias_THROW$$(Error("Invalid listener argument"));this.$timerId_$=2147483647<$opt_delay$$inline_147$$?-1:$goog$global$$.setTimeout($curtime_listener$$inline_146$$,$opt_delay$$inline_147$$||0)}};function $pn$toarr$$($args$$8$$){return $goog$array$toArray$$($args$$8$$)}function $pn$ass$$($condition$$2$$,$opt_message$$17$$,$var_args$$67$$){$goog$asserts$assert$$.apply($JSCompiler_alias_NULL$$,arguments)}function $pn$assStr$$($val$$23$$,$opt_message$$18$$,$var_args$$68$$){$pn$assType_$$($goog$isString$$,arguments,"string")}function $pn$assNum$$($val$$24$$,$opt_message$$19$$,$var_args$$69$$){$pn$assType_$$($goog$isNumber$$,arguments,"number")}
|
||||
function $pn$assArr$$($val$$29$$,$opt_message$$22$$,$var_args$$72$$){$pn$assType_$$($goog$isArray$$,arguments,"array")}
|
||||
function $pn$assType_$$($predicate_success$$,$args$$9$$,$typeName$$){0===$args$$9$$.length&&($args$$9$$=[$JSCompiler_alias_VOID$$]);var $target$$45$$=$args$$9$$[0];$predicate_success$$=$predicate_success$$($target$$45$$);$args$$9$$[0]=$predicate_success$$;!$predicate_success$$&&1===$args$$9$$.length&&($args$$9$$=$goog$array$toArray$$($args$$9$$),$args$$9$$.push("Expected %s but was %s".$pnsubs$($typeName$$,$goog$typeOf$$($target$$45$$))));$pn$ass$$.apply($JSCompiler_alias_NULL$$,$args$$9$$)}
|
||||
function $pn$aargs_$$($thiso$$,$args$$10$$){for(var $arr$$58$$=[$thiso$$],$i$$81$$=0,$len$$2$$=$args$$10$$.length;$i$$81$$<$len$$2$$;$i$$81$$++)$arr$$58$$.push($args$$10$$[$i$$81$$]);return $arr$$58$$}String.prototype.$pnsubs$=function $String$$$pnsubs$$($var_args$$77$$){return $goog$string$subs$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments))};$JSCompiler_prototypeAlias$$=Array.prototype;
|
||||
$JSCompiler_prototypeAlias$$.$pnmap$=function $$JSCompiler_prototypeAlias$$$$pnmap$$($f$$30$$,$opt_obj$$28$$){return $goog$array$map$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments))};$JSCompiler_prototypeAlias$$.$pnforEach$=function $$JSCompiler_prototypeAlias$$$$pnforEach$$($f$$32$$,$opt_obj$$30$$){$goog$array$forEach$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments));return this};
|
||||
$JSCompiler_prototypeAlias$$.$pnequals$=function $$JSCompiler_prototypeAlias$$$$pnequals$$($arr2$$13$$,$opt_equalsFn$$2$$){return $goog$array$equals$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments))};$JSCompiler_prototypeAlias$$.$pnfindIndex$=function $$JSCompiler_prototypeAlias$$$$pnfindIndex$$($f$$41$$,$opt_obj$$43$$){return $goog$array$findIndex$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments))};
|
||||
$JSCompiler_prototypeAlias$$.$pnindexOf$=function $$JSCompiler_prototypeAlias$$$$pnindexOf$$($obj$$76$$,$opt_fromIndex$$10$$){return $goog$array$indexOf$$.apply($JSCompiler_alias_NULL$$,$pn$aargs_$$(this,arguments))};function $goog$net$Cookies$$($context$$){this.$document_$=$context$$}var $goog$net$Cookies$SPLIT_RE_$$=/\s*;\s*/;
|
||||
$goog$net$Cookies$$.prototype.set=function $$goog$net$Cookies$$$$set$($name$$65$$,$value$$71$$,$expiresStr_opt_maxAge$$,$opt_path_pathStr$$,$domainStr_opt_domain$$,$opt_secure_secureStr$$){/[;=\s]/.test($name$$65$$)&&$JSCompiler_alias_THROW$$(Error('Invalid cookie name "'+$name$$65$$+'"'));/[;\r\n]/.test($value$$71$$)&&$JSCompiler_alias_THROW$$(Error('Invalid cookie value "'+$value$$71$$+'"'));$expiresStr_opt_maxAge$$!==$JSCompiler_alias_VOID$$||($expiresStr_opt_maxAge$$=-1);$domainStr_opt_domain$$=
|
||||
$domainStr_opt_domain$$?";domain="+$domainStr_opt_domain$$:"";$opt_path_pathStr$$=$opt_path_pathStr$$?";path="+$opt_path_pathStr$$:"";$opt_secure_secureStr$$=$opt_secure_secureStr$$?";secure":"";$expiresStr_opt_maxAge$$=0>$expiresStr_opt_maxAge$$?"":0==$expiresStr_opt_maxAge$$?";expires="+(new Date(1970,1,1)).toUTCString():";expires="+(new Date($goog$now$$()+1E3*$expiresStr_opt_maxAge$$)).toUTCString();this.$document_$.cookie=$name$$65$$+"="+$value$$71$$+$domainStr_opt_domain$$+$opt_path_pathStr$$+
|
||||
$expiresStr_opt_maxAge$$+$opt_secure_secureStr$$};$goog$net$Cookies$$.prototype.get=function $$goog$net$Cookies$$$$get$($name$$66$$,$opt_default$$){for(var $nameEq$$=$name$$66$$+"=",$parts$$3$$=(this.$document_$.cookie||"").split($goog$net$Cookies$SPLIT_RE_$$),$i$$83$$=0,$part$$2$$;$part$$2$$=$parts$$3$$[$i$$83$$];$i$$83$$++){if(0==$part$$2$$.lastIndexOf($nameEq$$,0))return $part$$2$$.substr($nameEq$$.length);if($part$$2$$==$name$$66$$)return""}return $opt_default$$};var $goog$net$cookies$$=new $goog$net$Cookies$$(document);
|
||||
$goog$net$cookies$$.$MAX_COOKIE_LENGTH$=3950;function $pn$ui$filter$SearchEngine$$(){this.$precedences_$={or:1,and:2,not:3}}
|
||||
function $JSCompiler_StaticMethods_doesTextMatchTokens$$($JSCompiler_StaticMethods_doesTextMatchTokens$self$$,$textToMatch$$,$postFixTokens$$,$exactMatch$$){$pn$assArr$$($textToMatch$$);return!$postFixTokens$$||0<=$textToMatch$$.$pnfindIndex$(function($textToMatch$$inline_154_txt$$){$pn$assStr$$($textToMatch$$inline_154_txt$$);$textToMatch$$inline_154_txt$$=$exactMatch$$?$textToMatch$$inline_154_txt$$:$textToMatch$$inline_154_txt$$.toLowerCase();for(var $stackResult$$inline_157$$=[],$stackResult1$$inline_158_token$$inline_161$$,
|
||||
$stackResult2$$inline_159$$,$i$$inline_160$$=0;$i$$inline_160$$<$postFixTokens$$.length;$i$$inline_160$$++)$stackResult1$$inline_158_token$$inline_161$$=$postFixTokens$$[$i$$inline_160$$],"and"!==$stackResult1$$inline_158_token$$inline_161$$&&"or"!==$stackResult1$$inline_158_token$$inline_161$$&&"not"!==$stackResult1$$inline_158_token$$inline_161$$?0===$stackResult1$$inline_158_token$$inline_161$$.indexOf(">")||0===$stackResult1$$inline_158_token$$inline_161$$.indexOf("<")||0===$stackResult1$$inline_158_token$$inline_161$$.indexOf("=")||
|
||||
0===$stackResult1$$inline_158_token$$inline_161$$.indexOf("!=")?$stackResult$$inline_157$$.push($JSCompiler_StaticMethods_doesNumberMatchToken_$$($stackResult1$$inline_158_token$$inline_161$$,$textToMatch$$inline_154_txt$$)):$stackResult$$inline_157$$.push($exactMatch$$?$textToMatch$$inline_154_txt$$===$stackResult1$$inline_158_token$$inline_161$$:0<=$textToMatch$$inline_154_txt$$.indexOf($stackResult1$$inline_158_token$$inline_161$$)):"and"===$stackResult1$$inline_158_token$$inline_161$$?($stackResult1$$inline_158_token$$inline_161$$=
|
||||
$stackResult$$inline_157$$.pop(),$stackResult2$$inline_159$$=$stackResult$$inline_157$$.pop(),$stackResult$$inline_157$$.push($stackResult1$$inline_158_token$$inline_161$$&&$stackResult2$$inline_159$$)):"or"===$stackResult1$$inline_158_token$$inline_161$$?($stackResult1$$inline_158_token$$inline_161$$=$stackResult$$inline_157$$.pop(),$stackResult2$$inline_159$$=$stackResult$$inline_157$$.pop(),$stackResult$$inline_157$$.push($stackResult1$$inline_158_token$$inline_161$$||$stackResult2$$inline_159$$)):
|
||||
"not"===$stackResult1$$inline_158_token$$inline_161$$&&($stackResult1$$inline_158_token$$inline_161$$=$stackResult$$inline_157$$.pop(),$stackResult$$inline_157$$.push(!$stackResult1$$inline_158_token$$inline_161$$));return 1===$stackResult$$inline_157$$.length&&$stackResult$$inline_157$$.pop()},$JSCompiler_StaticMethods_doesTextMatchTokens$self$$)}
|
||||
function $JSCompiler_StaticMethods_doesNumberMatchToken_$$($token$$5$$,$text$$12$$){var $op_txt$$inline_163$$,$exp$$,$actual$$;$op_txt$$inline_163$$=$text$$12$$;"$"===$op_txt$$inline_163$$.charAt(0)&&($op_txt$$inline_163$$=$op_txt$$inline_163$$.substring(1));$actual$$=parseFloat($op_txt$$inline_163$$);if(0===$token$$5$$.indexOf("="))$op_txt$$inline_163$$="=",$exp$$=parseFloat($token$$5$$.substring(1));else if(0===$token$$5$$.indexOf("!="))$op_txt$$inline_163$$="!=",$exp$$=parseFloat($token$$5$$.substring(2));
|
||||
else if(0===$token$$5$$.indexOf(">="))$op_txt$$inline_163$$=">=",$exp$$=parseFloat($token$$5$$.substring(2));else if(0===$token$$5$$.indexOf(">"))$op_txt$$inline_163$$=">",$exp$$=parseFloat($token$$5$$.substring(1));else if(0===$token$$5$$.indexOf("<="))$op_txt$$inline_163$$="<=",$exp$$=parseFloat($token$$5$$.substring(2));else if(0===$token$$5$$.indexOf("<"))$op_txt$$inline_163$$="<",$exp$$=parseFloat($token$$5$$.substring(1));else return $JSCompiler_alias_TRUE$$;switch($op_txt$$inline_163$$){case "!=":return $actual$$!==
|
||||
$exp$$;case "=":return $actual$$===$exp$$;case ">=":return $actual$$>=$exp$$;case ">":return $actual$$>$exp$$;case "<=":return $actual$$<=$exp$$;case "<":return $actual$$<$exp$$}$JSCompiler_alias_THROW$$(Error("Could not find a number operation: "+$op_txt$$inline_163$$))}
|
||||
function $JSCompiler_StaticMethods_normaliseTerm_$$($tokens$$1$$,$token$$7$$,$term$$){for(var $idx$$5$$=$token$$7$$.indexOf($term$$);-1!==$idx$$5$$;)0<$idx$$5$$&&$tokens$$1$$.push($token$$7$$.substring(0,$idx$$5$$)),$tokens$$1$$.push($term$$),$token$$7$$=$token$$7$$.substring($idx$$5$$+1),$idx$$5$$=$token$$7$$.indexOf($term$$);return $token$$7$$};function $pn$ui$filter$GenericListFilter$$($input$$,$list$$,$options$$3$$){$goog$events$EventHandler$$.call(this);this.list=$list$$;this.options=$options$$3$$;$JSCompiler_StaticMethods_registerDisposable$$(this,this.options);this.$input_$=$input$$;this.$listItems$=[];this.filters=[this.$input_$];this.$inputListener_$=new $pn$ui$DelayedThrottleInputListener$$(parseInt(this.options.filterDelay,10)||200);$JSCompiler_StaticMethods_registerDisposable$$(this,this.$inputListener_$);this.$filterKey_$="";
|
||||
this.$search_$=new $pn$ui$filter$SearchEngine$$;this.$initialiseFilters$()}$goog$inherits$$($pn$ui$filter$GenericListFilter$$,$goog$events$EventHandler$$);var $pn$ui$filter$GenericListFilter$filteridx_$$=0;$JSCompiler_prototypeAlias$$=$pn$ui$filter$GenericListFilter$$.prototype;
|
||||
$JSCompiler_prototypeAlias$$.$resetList$=function $$JSCompiler_prototypeAlias$$$$resetList$$($list$$1$$){$goog$dispose$$(this.list);this.$listItems$.$pnforEach$($goog$dispose$$);this.list=$list$$1$$;this.$initialiseControlCaches$();$JSCompiler_StaticMethods_registerListenersOnFilters_$$(this);$JSCompiler_StaticMethods_loadFiltersFromCookie_$$(this)};
|
||||
function $JSCompiler_StaticMethods_getListId$$($JSCompiler_StaticMethods_getListId$self$$){return $JSCompiler_StaticMethods_getListId$self$$.list.getAttribute("id")||$JSCompiler_StaticMethods_getListId$self$$.list.getAttribute("name")||""}
|
||||
$JSCompiler_prototypeAlias$$.$initialiseFilters$=function $$JSCompiler_prototypeAlias$$$$initialiseFilters$$(){this.$filterKey_$=$JSCompiler_StaticMethods_getListId$$(this)+"_"+ ++$pn$ui$filter$GenericListFilter$filteridx_$$+"_filters";this.$initialiseControlCaches$();$JSCompiler_StaticMethods_registerListenersOnFilters_$$(this);$JSCompiler_StaticMethods_loadFiltersFromCookie_$$(this)};
|
||||
function $JSCompiler_StaticMethods_registerListenersOnFilters_$$($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$){$JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$,$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.$inputListener_$,"input-changed",$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.refresh);$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.filters.$pnforEach$(function($filter$$){$JSCompiler_StaticMethods_addInput$$(this.$inputListener_$,
|
||||
$filter$$)},$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$);if($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls)for(var $i$$91$$=0;$i$$91$$<$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls.length;$i$$91$$++)$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls[$i$$91$$].length&&($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls[$i$$91$$]=
|
||||
$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls[$i$$91$$][0]),$JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$,$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.clearFiltersControls[$i$$91$$],"click",$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.$clearAllFilters$,$JSCompiler_alias_FALSE$$,$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$);if($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.additionalFilterTriggers)for($i$$91$$=
|
||||
0;$i$$91$$<$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.additionalFilterTriggers.length;$i$$91$$++){var $trigger$$=$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.additionalFilterTriggers[$i$$91$$];$trigger$$.length&&($trigger$$=$JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.options.additionalFilterTriggers[$i$$91$$]=$trigger$$[0]);$JSCompiler_StaticMethods_addInput$$($JSCompiler_StaticMethods_registerListenersOnFilters_$self$$.$inputListener_$,
|
||||
$trigger$$)}}$JSCompiler_prototypeAlias$$.$clearAllFilters$=function $$JSCompiler_prototypeAlias$$$$clearAllFilters$$(){this.filters.$pnforEach$(this.$clearFilterValue$,this);var $additional$$=this.options.additionalFilterTriggers;$additional$$&&$additional$$.$pnforEach$(this.$clearFilterValue$,this);this.refresh()};
|
||||
$JSCompiler_prototypeAlias$$.$clearFilterValue$=function $$JSCompiler_prototypeAlias$$$$clearFilterValue$$($f$$44$$){var $type$$93$$=$f$$44$$.options?"select-one":$f$$44$$.getAttribute("type");switch($type$$93$$){case "select-one":$f$$44$$.selectedIndex=0;break;case "text":$f$$44$$.value="";break;case "checkbox":$f$$44$$.checked=$JSCompiler_alias_FALSE$$;break;default:$JSCompiler_alias_THROW$$("Filter type "+$type$$93$$+" is not supported")}};
|
||||
$JSCompiler_prototypeAlias$$.$initialiseControlCaches$=function $$JSCompiler_prototypeAlias$$$$initialiseControlCaches$$(){this.$listItems$=$goog$array$toArray$$(this.list.childNodes)};
|
||||
function $JSCompiler_StaticMethods_loadFiltersFromCookie_$$($JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$){var $additionalStates_filterState_sharedCookieId$$=$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.options.enableCookies&&$goog$net$cookies$$.get($JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.$filterKey_$),$states$$=[];if($additionalStates_filterState_sharedCookieId$$)for(var $additionalStates_filterState_sharedCookieId$$=$additionalStates_filterState_sharedCookieId$$.split("|"),
|
||||
$i$$92_k$$1$$=0;$i$$92_k$$1$$<$additionalStates_filterState_sharedCookieId$$.length;$i$$92_k$$1$$++){var $additionalFilterStates_found$$2_s$$18$$=$additionalStates_filterState_sharedCookieId$$[$i$$92_k$$1$$].split(","),$fid_fs_header$$2_headerText$$=new $pn$ui$filter$FilterState$$($additionalFilterStates_found$$2_s$$18$$[0],$additionalFilterStates_found$$2_s$$18$$[3],parseInt($additionalFilterStates_found$$2_s$$18$$[1],10),$additionalFilterStates_found$$2_s$$18$$[2]);$states$$.push($fid_fs_header$$2_headerText$$)}if($additionalStates_filterState_sharedCookieId$$=
|
||||
$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.options.sharedCookieId){$additionalFilterStates_found$$2_s$$18$$=$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.options.enableCookies&&$goog$net$cookies$$.get($additionalStates_filterState_sharedCookieId$$);if(!$additionalFilterStates_found$$2_s$$18$$)return;$additionalFilterStates_found$$2_s$$18$$=$additionalFilterStates_found$$2_s$$18$$.split("|");$additionalStates_filterState_sharedCookieId$$=[];for($i$$92_k$$1$$=0;$i$$92_k$$1$$<
|
||||
$additionalFilterStates_found$$2_s$$18$$.length;$i$$92_k$$1$$++){var $j$$7_state$$=$additionalFilterStates_found$$2_s$$18$$[$i$$92_k$$1$$].split(","),$stateHeaderTextOrAdditionalFilterId$$=$j$$7_state$$[0];if("#"==$stateHeaderTextOrAdditionalFilterId$$.charAt(0))$fid_fs_header$$2_headerText$$=new $pn$ui$filter$FilterState$$($stateHeaderTextOrAdditionalFilterId$$.substr(1),$j$$7_state$$[3],-1,$j$$7_state$$[2]),$additionalStates_filterState_sharedCookieId$$.push($fid_fs_header$$2_headerText$$);else for(var $hidx$$=
|
||||
0;$hidx$$<$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.$headers_$.length;$hidx$$++){var $fid_fs_header$$2_headerText$$=$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.$headers_$[$hidx$$],$visible$$="none"!=$fid_fs_header$$2_headerText$$.style.display;if(($fid_fs_header$$2_headerText$$="false"===$fid_fs_header$$2_headerText$$.getAttribute("filter")||!$visible$$?$JSCompiler_alias_NULL$$:$goog$dom$getTextContent$$($fid_fs_header$$2_headerText$$))&&$fid_fs_header$$2_headerText$$==$stateHeaderTextOrAdditionalFilterId$$)$fid_fs_header$$2_headerText$$=
|
||||
$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.filters[$JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$.$filterIndexes_$.indexOf($hidx$$)].getAttribute("id"),$fid_fs_header$$2_headerText$$=new $pn$ui$filter$FilterState$$($fid_fs_header$$2_headerText$$,$j$$7_state$$[3],$hidx$$,$j$$7_state$$[2]),$additionalStates_filterState_sharedCookieId$$.push($fid_fs_header$$2_headerText$$)}}for($i$$92_k$$1$$=0;$i$$92_k$$1$$<$additionalStates_filterState_sharedCookieId$$.length;$i$$92_k$$1$$++){$additionalFilterStates_found$$2_s$$18$$=
|
||||
$JSCompiler_alias_FALSE$$;for($j$$7_state$$=0;$j$$7_state$$<$states$$.length;$j$$7_state$$++)$additionalStates_filterState_sharedCookieId$$[$i$$92_k$$1$$].id==$states$$[$j$$7_state$$].id&&($states$$[$j$$7_state$$].value=$additionalStates_filterState_sharedCookieId$$[$i$$92_k$$1$$].value,$additionalFilterStates_found$$2_s$$18$$=$JSCompiler_alias_TRUE$$);$additionalFilterStates_found$$2_s$$18$$||$states$$.push($additionalStates_filterState_sharedCookieId$$[$i$$92_k$$1$$])}}$JSCompiler_StaticMethods_applyFilterStates_$$($JSCompiler_StaticMethods_loadFiltersFromCookie_$self$$,
|
||||
$states$$,$JSCompiler_alias_TRUE$$)}
|
||||
$JSCompiler_prototypeAlias$$.refresh=function $$JSCompiler_prototypeAlias$$$refresh$(){var $filterStates$$=this.$getFilterStates$();$JSCompiler_StaticMethods_applyFilterStates_$$(this,$filterStates$$,$JSCompiler_alias_FALSE$$);if(this.options.enableCookies){for(var $filterStatesById$$inline_172$$=[],$filterStatesByHeaderText$$inline_173$$=[],$sharedCookieId$$inline_174$$=$JSCompiler_alias_NULL$$,$i$$inline_175$$=0;$i$$inline_175$$<$filterStates$$.length;$i$$inline_175$$++){var $state$$inline_176$$=$filterStates$$[$i$$inline_175$$];
|
||||
$JSCompiler_StaticMethods_addFilterStateToStringArray_$$($filterStatesById$$inline_172$$,$state$$inline_176$$);if($sharedCookieId$$inline_174$$=this.options.sharedCookieId){var $header$$inline_178_headerText$$inline_177$$;if(0<=$state$$inline_176$$.$idx$){$header$$inline_178_headerText$$inline_177$$=this.$headers_$[$state$$inline_176$$.$idx$];var $visible$$inline_179$$="none"!=$header$$inline_178_headerText$$inline_177$$.style.display;$header$$inline_178_headerText$$inline_177$$="false"===$header$$inline_178_headerText$$inline_177$$.getAttribute("filter")||
|
||||
!$visible$$inline_179$$?$JSCompiler_alias_NULL$$:$goog$dom$getTextContent$$($header$$inline_178_headerText$$inline_177$$)}else $header$$inline_178_headerText$$inline_177$$="#"+$state$$inline_176$$.id;$header$$inline_178_headerText$$inline_177$$&&($filterStatesByHeaderText$$inline_173$$=$JSCompiler_StaticMethods_addFilterStateToStringArray_$$($filterStatesByHeaderText$$inline_173$$,new $pn$ui$filter$FilterState$$($header$$inline_178_headerText$$inline_177$$,$state$$inline_176$$.value,$state$$inline_176$$.$idx$,
|
||||
$state$$inline_176$$.type)))}}$goog$net$cookies$$.set(this.$filterKey_$,$filterStatesById$$inline_172$$.join(""),999999);$sharedCookieId$$inline_174$$&&$goog$net$cookies$$.set($sharedCookieId$$inline_174$$,$filterStatesByHeaderText$$inline_173$$.join(""),999999)}};$JSCompiler_prototypeAlias$$.$getFilterStates$=function $$JSCompiler_prototypeAlias$$$$getFilterStates$$(){var $state$$1$$=this.$getFilterStateForFilter$(this.$input_$);return $state$$1$$?[$state$$1$$]:[]};
|
||||
$JSCompiler_prototypeAlias$$.$getFilterStateForFilter$=function $$JSCompiler_prototypeAlias$$$$getFilterStateForFilter$$($filter$$2_id$$5$$){var $type$$94$$=$filter$$2_id$$5$$.options?"select-one":$filter$$2_id$$5$$.getAttribute("type"),$value$$73$$;switch($type$$94$$){case "text":$value$$73$$=$filter$$2_id$$5$$.value===$JSCompiler_alias_NULL$$?$JSCompiler_alias_NULL$$:$filter$$2_id$$5$$.value.toLowerCase();break;case "select-one":$value$$73$$=0===$filter$$2_id$$5$$.selectedIndex?$JSCompiler_alias_NULL$$:
|
||||
$filter$$2_id$$5$$.options[$filter$$2_id$$5$$.selectedIndex].value;break;case "checkbox":$value$$73$$=$filter$$2_id$$5$$.checked;break;default:$JSCompiler_alias_THROW$$("Filter type "+$type$$94$$+" is not supported")}if($value$$73$$===$JSCompiler_alias_NULL$$||0>=$value$$73$$.length)return $JSCompiler_alias_NULL$$;$filter$$2_id$$5$$=$filter$$2_id$$5$$.getAttribute("id");return new $pn$ui$filter$FilterState$$($filter$$2_id$$5$$,$value$$73$$,0,$type$$94$$)};
|
||||
function $JSCompiler_StaticMethods_addFilterStateToStringArray_$$($arr$$67$$,$state$$3$$){0<$arr$$67$$.length&&$arr$$67$$.push("|");$arr$$67$$.push($state$$3$$.id);$arr$$67$$.push(",");$arr$$67$$.push($state$$3$$.$idx$);$arr$$67$$.push(",");$arr$$67$$.push($state$$3$$.type);$arr$$67$$.push(",");$arr$$67$$.push($state$$3$$.value)}
|
||||
function $JSCompiler_StaticMethods_applyFilterStates_$$($JSCompiler_StaticMethods_applyFilterStates_$self$$,$filterStates$$1$$,$setValueOnFilter$$){$JSCompiler_StaticMethods_applyFilterStates_$self$$.options.filteringElements&&$JSCompiler_StaticMethods_applyFilterStates_$self$$.options.filteringElements($filterStates$$1$$);$JSCompiler_StaticMethods_applyFilterStatesImpl_$$($JSCompiler_StaticMethods_applyFilterStates_$self$$,$filterStates$$1$$,$setValueOnFilter$$);$JSCompiler_StaticMethods_applyFilterStates_$self$$.options.filteredElements&&
|
||||
$JSCompiler_StaticMethods_applyFilterStates_$self$$.options.filteredElements($filterStates$$1$$)}
|
||||
function $JSCompiler_StaticMethods_applyFilterStatesImpl_$$($JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$,$filterStates$$2$$,$setValueOnFilter$$1$$){$JSCompiler_StaticMethods_clearElementFilteredStates_$$($JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$);if(!(0===(!$filterStates$$2$$||$filterStates$$2$$.length)&&$JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$.options.matchingElement))if($filterStates$$2$$===$JSCompiler_alias_NULL$$||0===$filterStates$$2$$.length)$JSCompiler_StaticMethods_applyStateToElements_$$($JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$,
|
||||
$JSCompiler_alias_NULL$$);else for(var $i$$94$$=0;$i$$94$$<$filterStates$$2$$.length;$i$$94$$++){var $state$$4$$=$filterStates$$2$$[$i$$94$$];if($setValueOnFilter$$1$$&&$state$$4$$.type&&$state$$4$$.id){var $filter$$3$$=$goog$isString$$($state$$4$$.id)?document.getElementById($state$$4$$.id):$state$$4$$.id;if(!$filter$$3$$||0===$filter$$3$$.length)continue;switch($state$$4$$.type){case "select-one":pntoarr($filter$$3$$.options).$pnforEach$(function($o$$1$$,$idx$$7$$){$o$$1$$.value===$state$$4$$.value?
|
||||
($o$$1$$.setAttribute("selected","selected"),$filter$$3$$.selectedIndex=$idx$$7$$):$o$$1$$.removeAttribute("selected")});break;case "text":$filter$$3$$.value=$state$$4$$.value;break;case "checkbox":$filter$$3$$.checked="true"===$state$$4$$.value;break;default:$JSCompiler_alias_THROW$$("Filter type "+$state$$4$$.type+" is not supported")}}$JSCompiler_StaticMethods_applyStateToElements_$$($JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$,$state$$4$$)}$JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$$($JSCompiler_StaticMethods_applyFilterStatesImpl_$self$$)}
|
||||
function $JSCompiler_StaticMethods_clearElementFilteredStates_$$($JSCompiler_StaticMethods_clearElementFilteredStates_$self$$){$JSCompiler_StaticMethods_clearElementFilteredStates_$self$$.$listItems$.$pnforEach$(function($r$$1$$){$r$$1$$.removeAttribute("filtermatch")})}
|
||||
function $JSCompiler_StaticMethods_applyStateToElements_$$($JSCompiler_StaticMethods_applyStateToElements_$self$$,$filterState$$1$$){for(var $normalisedTokens$$3$$=$JSCompiler_StaticMethods_getNormalisedSearchTokensForState_$$($JSCompiler_StaticMethods_applyStateToElements_$self$$,$filterState$$1$$),$i$$95$$=0;$i$$95$$<$JSCompiler_StaticMethods_applyStateToElements_$self$$.$listItems$.length&&!$JSCompiler_StaticMethods_applyStateToElements_$self$$.$cancelQuickFind_$;$i$$95$$++){var $item$$2$$=$JSCompiler_StaticMethods_applyStateToElements_$self$$.$listItems$[$i$$95$$];
|
||||
$item$$2$$.getAttribute("filtermatch")||$JSCompiler_StaticMethods_applyStateToElements_$self$$.$doesElementContainText$($filterState$$1$$,$item$$2$$,$normalisedTokens$$3$$)||$item$$2$$.setAttribute("filtermatch","false")}}
|
||||
function $JSCompiler_StaticMethods_getNormalisedSearchTokensForState_$$($JSCompiler_StaticMethods_getNormalisedSearchTokensForState_$self$$,$state$$5$$){if($state$$5$$===$JSCompiler_alias_NULL$$)return $JSCompiler_alias_NULL$$;switch($state$$5$$.type){case "select-one":return[-1!=$state$$5$$.value.indexOf("&")?"document"in $goog$global$$?$goog$string$unescapeEntitiesUsingDom_$$($state$$5$$.value):$goog$string$unescapePureXmlEntities_$$($state$$5$$.value):$state$$5$$.value];case "text":var $JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$;
|
||||
$JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$=$JSCompiler_StaticMethods_getNormalisedSearchTokensForState_$self$$.$search_$;var $matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=$state$$5$$.value;if($matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$){var $matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.toLowerCase(),
|
||||
$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$;$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.replace(/>= /g,">=").replace(/> /g,">").replace(/<= /g,"<=").replace(/< /g,"<").replace(/!= /g,"!=").replace(/= /g,"=");for(var $i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=/([^"^\s]+)\s*|"([^"]+)"\s*/g,$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=
|
||||
[],$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=$JSCompiler_alias_NULL$$;$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$.exec($exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$);)$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.push($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$[1]||
|
||||
$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$[2]);$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$=[];for($i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=0;$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$<$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.length;$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$++)$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=
|
||||
$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$[$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$],$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=$JSCompiler_StaticMethods_normaliseTerm_$$($exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$,$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$,"("),$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=
|
||||
$JSCompiler_StaticMethods_normaliseTerm_$$($exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$,$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$,")"),0<$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$.length&&$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.push($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$);$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=
|
||||
$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$;$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$=[];for(var $lastToken$$inline_248_normalisedTokens$$inline_253$$,$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=0;$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$<$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.length;$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$++)if(($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=
|
||||
$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$[$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$])&&0!==$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$.length)0===$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$.indexOf("-")&&($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$="not",$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$[$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$]=
|
||||
$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$[$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$].substring(1),$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$--),$lastToken$$inline_248_normalisedTokens$$inline_253$$&&"("!==$lastToken$$inline_248_normalisedTokens$$inline_253$$&&("not"!==$lastToken$$inline_248_normalisedTokens$$inline_253$$&&"and"!==$lastToken$$inline_248_normalisedTokens$$inline_253$$&&"or"!==$lastToken$$inline_248_normalisedTokens$$inline_253$$&&
|
||||
"and"!==$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$&&"or"!==$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$&&")"!==$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$)&&$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.push("and"),$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.push($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$),
|
||||
$lastToken$$inline_248_normalisedTokens$$inline_253$$=$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$;$lastToken$$inline_248_normalisedTokens$$inline_253$$=$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$;$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$="";$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$=[];for($i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$=
|
||||
0;$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$<$lastToken$$inline_248_normalisedTokens$$inline_253$$.length;$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$++){var $token$$inline_258$$=$lastToken$$inline_248_normalisedTokens$$inline_253$$[$i$$inline_257_match$$inline_241_token$$inline_244_token$$inline_250$$];if(0!==$token$$inline_258$$.length)if("and"!==$token$$inline_258$$&&"or"!==$token$$inline_258$$&&"not"!==$token$$inline_258$$&&"("!==$token$$inline_258$$&&
|
||||
")"!==$token$$inline_258$$)$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$+"|"+$token$$inline_258$$;else if(0===$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length||"("===$token$$inline_258$$)$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.push($token$$inline_258$$);else if(")"===$token$$inline_258$$)for($i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=
|
||||
$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.pop();"("!==$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$&&0<$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length;)$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$+"|"+$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$,
|
||||
$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.pop();else{if("("!==$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$[$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length-1])for(;0!==$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length&&"("!==$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$[$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length-
|
||||
1];)if($JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$.$precedences_$[$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$[$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length-1]]>$JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$.$precedences_$[$token$$inline_258$$])$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$=
|
||||
$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.pop(),$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$+"|"+$i$$inline_243_i$$inline_249_regex$$inline_239_stackOperator$$inline_256$$;else break;$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.push($token$$inline_258$$)}}for(;0<$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.length;)$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$=
|
||||
$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$+"|"+$exp$$inline_238_newTokens$$inline_247_normalisedTokens$$inline_242_stackOps$$inline_255$$.pop();$JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$=$matches$$inline_240_postFix$$inline_254_text$$inline_182_tokens$$inline_246$$.substring(1).split("|")}else $JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$=$JSCompiler_alias_NULL$$;return $JSCompiler_StaticMethods_parseSearchTokens$self$$inline_181_JSCompiler_inline_result$$11$$;
|
||||
case "checkbox":return $JSCompiler_alias_NULL$$;default:$JSCompiler_alias_THROW$$("State type "+$state$$5$$.type+" is not supported")}}
|
||||
function $JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$$($JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$self$$){for(var $i$$96$$=0;$i$$96$$<$JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$self$$.$listItems$.length&&!$JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$self$$.$cancelQuickFind_$;$i$$96$$++){var $item$$3$$=$JSCompiler_StaticMethods_hideElementsThatDoNotMatchAnyFiltres_$self$$.$listItems$[$i$$96$$],$show$$="false"!==$item$$3$$.getAttribute("filtermatch");
|
||||
$item$$3$$.style.display=$show$$?"":"none"}}
|
||||
$JSCompiler_prototypeAlias$$.$doesElementContainText$=function $$JSCompiler_prototypeAlias$$$$doesElementContainText$$($state$$6$$,$item$$4$$,$textTokens$$1$$,$opt_txt_text$$inline_189$$){$pn$ass$$($opt_txt_text$$inline_189$$===$JSCompiler_alias_VOID$$||$goog$isArray$$($opt_txt_text$$inline_189$$));var $JSCompiler_temp$$12_exact_object$$inline_197$$=$state$$6$$!=$JSCompiler_alias_NULL$$&&"select-one"===$state$$6$$.type;$opt_txt_text$$inline_189$$=$opt_txt_text$$inline_189$$||[$goog$string$trim$$($goog$dom$getTextContent$$($item$$4$$))];
|
||||
$pn$assArr$$($opt_txt_text$$inline_189$$);if($JSCompiler_temp$$12_exact_object$$inline_197$$=$JSCompiler_StaticMethods_doesTextMatchTokens$$(this.$search_$,$opt_txt_text$$inline_189$$,$textTokens$$1$$,$JSCompiler_temp$$12_exact_object$$inline_197$$))this.options.matchingElement?($JSCompiler_temp$$12_exact_object$$inline_197$$=$item$$4$$,window.jQuery&&($JSCompiler_temp$$12_exact_object$$inline_197$$=window.jQuery($item$$4$$)),$JSCompiler_temp$$12_exact_object$$inline_197$$=this.options.matchingElement($state$$6$$,
|
||||
$JSCompiler_temp$$12_exact_object$$inline_197$$,$textTokens$$1$$)):$JSCompiler_temp$$12_exact_object$$inline_197$$=$JSCompiler_alias_TRUE$$;return $JSCompiler_temp$$12_exact_object$$inline_197$$};function $pn$ui$filter$TableFilter$$($grid$$,$opts$$){$opts$$.matchingRow&&($opts$$.matchingElement=$opts$$.matchingRow);$opts$$.filteringRows&&($opts$$.filteringElements=$opts$$.filteringRows);$opts$$.filteredRows&&($opts$$.filteredElements=$opts$$.filteredRows);$pn$ui$filter$GenericListFilter$$.call(this,$JSCompiler_alias_NULL$$,$grid$$,$opts$$)}$goog$inherits$$($pn$ui$filter$TableFilter$$,$pn$ui$filter$GenericListFilter$$);$JSCompiler_prototypeAlias$$=$pn$ui$filter$TableFilter$$.prototype;
|
||||
$JSCompiler_prototypeAlias$$.$initialiseFilters$=function $$JSCompiler_prototypeAlias$$$$initialiseFilters$$(){this.$tbody_$=$goog$dom$getElementsByTagNameAndClass_$$("tbody",$JSCompiler_alias_NULL$$,this.list)[0];this.$thead_$=$goog$dom$getElementsByTagNameAndClass_$$("thead",$JSCompiler_alias_NULL$$,this.options.frozenHeaderTable||this.list)[0];if(!this.$thead_$){var $tdCells_trTableRow$$=$goog$dom$getElementsByTagNameAndClass_$$("tr",$JSCompiler_alias_NULL$$,this.$tbody_$)[0],$tdCells_trTableRow$$=
|
||||
$goog$dom$getElementsByTagNameAndClass_$$("td",$JSCompiler_alias_NULL$$,$tdCells_trTableRow$$),$thead$$=$goog$dom$createDom$$("thead",$JSCompiler_alias_NULL$$),$parent$$inline_199_tr$$=this.list;$parent$$inline_199_tr$$.insertBefore($thead$$,$parent$$inline_199_tr$$.childNodes[0]||$JSCompiler_alias_NULL$$);$parent$$inline_199_tr$$=$goog$dom$createDom$$("tr",$JSCompiler_alias_NULL$$);$thead$$.appendChild($parent$$inline_199_tr$$);for(var $i$$97$$=0;$i$$97$$<$tdCells_trTableRow$$.length;$i$$97$$++){var $th$$=
|
||||
$goog$dom$createDom$$("th",$JSCompiler_alias_NULL$$);$th$$.innerHTML="col"+$i$$97$$;$parent$$inline_199_tr$$.appendChild($th$$)}this.$thead_$=$thead$$}$pn$ui$filter$TableFilter$$.$superClass_$.$initialiseFilters$.call(this)};
|
||||
$JSCompiler_prototypeAlias$$.$initialiseControlCaches$=function $$JSCompiler_prototypeAlias$$$$initialiseControlCaches$$(){var $headerRows_tHeadFilters$$=$goog$dom$getElementsByTagNameAndClass_$$("tr",$JSCompiler_alias_NULL$$,this.$thead_$),$filterRow$$=$goog$dom$getElementsByTagNameAndClass_$$("tr","filters",this.$thead_$);1<$headerRows_tHeadFilters$$.length&&0<$filterRow$$.length?this.$headers_$=$goog$dom$getElementsByTagNameAndClass_$$("th",$JSCompiler_alias_NULL$$,$headerRows_tHeadFilters$$[$headerRows_tHeadFilters$$.length-
|
||||
2]):0<$headerRows_tHeadFilters$$.length&&(this.$headers_$=$goog$dom$getElementsByTagNameAndClass_$$("th",$JSCompiler_alias_NULL$$,$headerRows_tHeadFilters$$[$headerRows_tHeadFilters$$.length-1]));this.$listItems$=$pn$toarr$$($goog$dom$getElementsByTagNameAndClass_$$("tr",$JSCompiler_alias_NULL$$,this.$tbody_$));$JSCompiler_StaticMethods_buildFiltersRow_$$(this);$headerRows_tHeadFilters$$=$goog$dom$getElementsByTagNameAndClass_$$("tr","filters",this.$thead_$)[0];this.filters=$goog$array$concat$$($goog$array$map$$($goog$dom$getElementsByTagNameAndClass_$$("input",
|
||||
$JSCompiler_alias_NULL$$,$headerRows_tHeadFilters$$),function($ctl$$){return $ctl$$}),$goog$array$map$$($goog$dom$getElementsByTagNameAndClass_$$("select",$JSCompiler_alias_NULL$$,$headerRows_tHeadFilters$$),function($ctl$$1$$){return $ctl$$1$$}));this.$filterIndexes_$=this.filters.$pnmap$(this.$getColumnIndexOfFilter_$,this)};
|
||||
$JSCompiler_prototypeAlias$$.$getColumnIndexOfFilter_$=function $$JSCompiler_prototypeAlias$$$$getColumnIndexOfFilter_$$($f$$45_td$$){$f$$45_td$$=$goog$dom$getAncestorByTagNameAndClass$$($f$$45_td$$,"TD");if(!$f$$45_td$$||0>=$f$$45_td$$.length)return-1;var $tr$$1$$=$goog$dom$getAncestorByTagNameAndClass$$($f$$45_td$$,"TR");return $goog$array$toArray$$($tr$$1$$.getElementsByTagName("td")).$pnindexOf$($f$$45_td$$)};
|
||||
function $JSCompiler_StaticMethods_buildFiltersRow_$$($JSCompiler_StaticMethods_buildFiltersRow_$self$$){var $filterRow$$1_node$$inline_209_tr$$2$$=$goog$dom$getElementsByTagNameAndClass_$$("tr","filters",$JSCompiler_StaticMethods_buildFiltersRow_$self$$.$thead_$);0<$filterRow$$1_node$$inline_209_tr$$2$$.length&&($filterRow$$1_node$$inline_209_tr$$2$$=$filterRow$$1_node$$inline_209_tr$$2$$[0])&&$filterRow$$1_node$$inline_209_tr$$2$$.parentNode&&$filterRow$$1_node$$inline_209_tr$$2$$.parentNode.removeChild($filterRow$$1_node$$inline_209_tr$$2$$);
|
||||
for(var $filterRow$$1_node$$inline_209_tr$$2$$=$goog$dom$createDom$$("tr",{"class":"filters"}),$i$$98$$=0;$i$$98$$<$JSCompiler_StaticMethods_buildFiltersRow_$self$$.$headers_$.length;$i$$98$$++){var $element$$inline_216_filterType$$inline_214_header$$4_td$$1$$=$JSCompiler_StaticMethods_buildFiltersRow_$self$$.$headers_$[$i$$98$$],$filterClass_visible$$2$$="none"!=$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$.style.display;if($filterClass_visible$$2$$){var $JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$=
|
||||
"false"===$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$.getAttribute("filter")||!$filterClass_visible$$2$$?"":$goog$dom$getTextContent$$($element$$inline_216_filterType$$inline_214_header$$4_td$$1$$),$filterClass_visible$$2$$=$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$.getAttribute("filter-class");if($JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$&&0<$JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$.length){var $filter$$4$$;
|
||||
a:{var $JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$=$JSCompiler_StaticMethods_buildFiltersRow_$self$$,$colIdx$$inline_212$$=$i$$98$$,$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$=$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$.getAttribute("filter-type")||"text";switch($element$$inline_216_filterType$$inline_214_header$$4_td$$1$$){case "text":$filter$$4$$=$goog$dom$createDom$$("input",{type:"text",id:$JSCompiler_StaticMethods_getListId$$($JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$)+
|
||||
"_filter_"+$colIdx$$inline_212$$,"class":"filter",title:$JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$.options.filterToolTipMessage});break a;case "ddl":$filter$$4$$=$JSCompiler_StaticMethods_getSelectFilter_$$($JSCompiler_StaticMethods_getFilterDom_$self$$inline_211_headerText$$2$$,$colIdx$$inline_212$$);break a;default:$JSCompiler_alias_THROW$$("filter-type: "+$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$+" is not supported")}}$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$=
|
||||
$filter$$4$$;$goog$isString$$("width")?$goog$style$setStyle_$$($element$$inline_216_filterType$$inline_214_header$$4_td$$1$$,"95%","width"):$goog$object$forEach$$("width",$goog$partial$$($goog$style$setStyle_$$,$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$));$element$$inline_216_filterType$$inline_214_header$$4_td$$1$$=$goog$dom$createDom$$("td",$JSCompiler_alias_NULL$$,$filter$$4$$)}else $element$$inline_216_filterType$$inline_214_header$$4_td$$1$$=$goog$dom$createDom$$("td",{},"");
|
||||
$filterClass_visible$$2$$&&$goog$dom$classes$add$$($element$$inline_216_filterType$$inline_214_header$$4_td$$1$$,$filterClass_visible$$2$$);$filterRow$$1_node$$inline_209_tr$$2$$.appendChild($element$$inline_216_filterType$$inline_214_header$$4_td$$1$$)}}$JSCompiler_StaticMethods_buildFiltersRow_$self$$.$thead_$.appendChild($filterRow$$1_node$$inline_209_tr$$2$$)}
|
||||
function $JSCompiler_StaticMethods_getSelectFilter_$$($JSCompiler_StaticMethods_getSelectFilter_$self$$,$colIdx$$1$$){var $select$$=$goog$dom$createDom$$("select",{id:$JSCompiler_StaticMethods_getListId$$($JSCompiler_StaticMethods_getSelectFilter_$self$$)+"_filter_"+$colIdx$$1$$,"class":"filter"},$goog$dom$createDom$$("option",{},$JSCompiler_StaticMethods_getSelectFilter_$self$$.options.selectOptionLabel)),$values$$7$$=[];$JSCompiler_StaticMethods_getSelectFilter_$self$$.$listItems$.$pnmap$(function($r$$2$$){return $r$$2$$.cells[$colIdx$$1$$]}).$pnforEach$(function($td$$2_txt$$3$$){($td$$2_txt$$3$$=
|
||||
$goog$string$trim$$($goog$dom$getTextContent$$($td$$2_txt$$3$$)))&&!(" "===$td$$2_txt$$3$$||0<=$values$$7$$.$pnindexOf$($td$$2_txt$$3$$))&&$values$$7$$.push($td$$2_txt$$3$$)});$values$$7$$.sort();$values$$7$$.$pnforEach$(function($child$$inline_227_txt$$4$$){$child$$inline_227_txt$$4$$=$goog$dom$createDom$$("option",{value:$child$$inline_227_txt$$4$$.replace('"',""")},$child$$inline_227_txt$$4$$);$select$$.appendChild($child$$inline_227_txt$$4$$)});return $select$$}
|
||||
$JSCompiler_prototypeAlias$$.$getFilterStates$=function $$JSCompiler_prototypeAlias$$$$getFilterStates$$(){for(var $filterStates$$3$$=[],$i$$99$$=0;$i$$99$$<this.filters.length;$i$$99$$++){var $state$$8$$=this.$getFilterStateForFilter$(this.filters[$i$$99$$]);$state$$8$$&&$filterStates$$3$$.push($state$$8$$)}if(!this.options.additionalFilterTriggers)return $filterStates$$3$$;for($i$$99$$=0;$i$$99$$<this.options.additionalFilterTriggers.length;$i$$99$$++)($state$$8$$=this.$getFilterStateForFilter$(this.options.additionalFilterTriggers[$i$$99$$]))&&
|
||||
$filterStates$$3$$.push($state$$8$$);return $filterStates$$3$$};$JSCompiler_prototypeAlias$$.$getFilterStateForFilter$=function $$JSCompiler_prototypeAlias$$$$getFilterStateForFilter$$($filter$$5$$){var $state$$9$$=$pn$ui$filter$TableFilter$$.$superClass_$.$getFilterStateForFilter$.call(this,$filter$$5$$);$state$$9$$&&($state$$9$$.$idx$=this.$getColumnIndexOfFilter_$($filter$$5$$));return $state$$9$$};
|
||||
$JSCompiler_prototypeAlias$$.$doesElementContainText$=function $$JSCompiler_prototypeAlias$$$$doesElementContainText$$($state$$10$$,$tr$$3$$,$textTokens$$4$$){var $cells$$2$$=$tr$$3$$.getElementsByTagName("td"),$columnIdx_txt$$5$$=$state$$10$$===$JSCompiler_alias_NULL$$?-1:$state$$10$$.$idx$;if(0>$columnIdx_txt$$5$$){for(var $columnIdx_txt$$5$$=[],$i$$100$$=0;$i$$100$$<$cells$$2$$.length;$i$$100$$++){var $header$$6$$=this.$headers_$[$i$$100$$];"none"!=$header$$6$$.style.display&&"false"!==$header$$6$$.getAttribute("filter")&&
|
||||
$columnIdx_txt$$5$$.push($goog$string$trim$$($goog$dom$getTextContent$$($cells$$2$$[$i$$100$$])))}return $pn$ui$filter$TableFilter$$.$superClass_$.$doesElementContainText$.call(this,$state$$10$$,$tr$$3$$,$textTokens$$4$$,$columnIdx_txt$$5$$)}return $pn$ui$filter$TableFilter$$.$superClass_$.$doesElementContainText$.call(this,$state$$10$$,$cells$$2$$[$columnIdx_txt$$5$$],$textTokens$$4$$)};var $jq$$=window.jQuery;
|
||||
$jq$$&&function($jq$$1$$){$jq$$1$$.$tableFilter$=function $$jq$$1$$$$tableFilter$$($element$$70$$,$opts$$1$$){var $tf$$;this.$init$=function $this$$init$$(){var $options$$4$$=$jq$$1$$.extend({},new $pn$ui$filter$TableFilterOptions$$,$opts$$1$$);$tf$$=new $pn$ui$filter$TableFilter$$($element$$70$$,$options$$4$$)};this.refresh=function $this$refresh$(){$pn$ui$filter$TableFilter$$.$superClass_$.refresh.call($tf$$)};this.reset=function $this$reset$($list$$2$$){$pn$ui$filter$TableFilter$$.$superClass_$.$resetList$.call($tf$$,$list$$2$$)};
|
||||
this.$clearFilters$=function $this$$clearFilters$$(){$pn$ui$filter$TableFilter$$.$superClass_$.$clearAllFilters$.call($tf$$)};this.$init$()};$jq$$1$$.fn.tableFilter=function $$jq$$1$$$fn$tableFilter$($options$$5$$){return $goog$array$toArray$$(this).$pnforEach$(function($t$$){if($JSCompiler_alias_VOID$$===$jq$$1$$($t$$).data("tableFilter")||$jq$$1$$($t$$).data("tableFilter")===$JSCompiler_alias_NULL$$){var $plugin$$1$$=new $jq$$1$$.$tableFilter$($t$$,$options$$5$$);$jq$$1$$($t$$).data("tableFilter",
|
||||
$plugin$$1$$)}})};$jq$$1$$.fn.tableFilterApplyFilterValues=function $$jq$$1$$$fn$tableFilterApplyFilterValues$(){return $goog$array$toArray$$(this).$pnforEach$(function($t$$1$$){$JSCompiler_alias_VOID$$!==$jq$$1$$($t$$1$$).data("tableFilter")&&$jq$$1$$($t$$1$$).data("tableFilter")!==$JSCompiler_alias_NULL$$&&$jq$$1$$($t$$1$$).data("tableFilter").refresh()})};$jq$$1$$.fn.tableFilterRefresh=function $$jq$$1$$$fn$tableFilterRefresh$(){return $goog$array$toArray$$(this).$pnforEach$(function($t$$2$$){$JSCompiler_alias_VOID$$!==
|
||||
$jq$$1$$($t$$2$$).data("tableFilter")&&$jq$$1$$($t$$2$$).data("tableFilter")!==$JSCompiler_alias_NULL$$&&$jq$$1$$($t$$2$$).data("tableFilter").reset($t$$2$$)})};$jq$$1$$.fn.tableFilterClearFilters=function $$jq$$1$$$fn$tableFilterClearFilters$(){return $goog$array$toArray$$(this).$pnforEach$(function($t$$3$$){$JSCompiler_alias_VOID$$!==$jq$$1$$($t$$3$$).data("tableFilter")&&$jq$$1$$($t$$3$$).data("tableFilter")!==$JSCompiler_alias_NULL$$&&$jq$$1$$($t$$3$$).data("tableFilter").$clearFilters$()})}}($jq$$);
|
|
@ -1,495 +0,0 @@
|
|||
/*
|
||||
SortTable
|
||||
version 2
|
||||
7th April 2007
|
||||
Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
|
||||
|
||||
Instructions:
|
||||
Download this file
|
||||
Add <script src="sorttable.js"></script> to your HTML
|
||||
Add class="sortable" to any table you'd like to make sortable
|
||||
Click on the headers to sort
|
||||
|
||||
Thanks to many, many people for contributions and suggestions.
|
||||
Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
|
||||
This basically means: do what you want with it.
|
||||
*/
|
||||
|
||||
|
||||
var stIsIE = /*@cc_on!@*/false;
|
||||
|
||||
sorttable = {
|
||||
init: function() {
|
||||
// quit if this function has already been called
|
||||
if (arguments.callee.done) return;
|
||||
// flag this function so we don't do the same thing twice
|
||||
arguments.callee.done = true;
|
||||
// kill the timer
|
||||
if (_timer) clearInterval(_timer);
|
||||
|
||||
if (!document.createElement || !document.getElementsByTagName) return;
|
||||
|
||||
sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
|
||||
|
||||
forEach(document.getElementsByTagName('table'), function(table) {
|
||||
if (table.className.search(/\bsortable\b/) != -1) {
|
||||
sorttable.makeSortable(table);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
makeSortable: function(table) {
|
||||
if (table.getElementsByTagName('thead').length == 0) {
|
||||
// table doesn't have a tHead. Since it should have, create one and
|
||||
// put the first table row in it.
|
||||
the = document.createElement('thead');
|
||||
the.appendChild(table.rows[0]);
|
||||
table.insertBefore(the,table.firstChild);
|
||||
}
|
||||
// Safari doesn't support table.tHead, sigh
|
||||
if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
|
||||
|
||||
if (table.tHead.rows.length != 1) return; // can't cope with two header rows
|
||||
|
||||
// Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
|
||||
// "total" rows, for example). This is B&R, since what you're supposed
|
||||
// to do is put them in a tfoot. So, if there are sortbottom rows,
|
||||
// for backwards compatibility, move them to tfoot (creating it if needed).
|
||||
sortbottomrows = [];
|
||||
for (var i=0; i<table.rows.length; i++) {
|
||||
if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
|
||||
sortbottomrows[sortbottomrows.length] = table.rows[i];
|
||||
}
|
||||
}
|
||||
if (sortbottomrows) {
|
||||
if (table.tFoot == null) {
|
||||
// table doesn't have a tfoot. Create one.
|
||||
tfo = document.createElement('tfoot');
|
||||
table.appendChild(tfo);
|
||||
}
|
||||
for (var i=0; i<sortbottomrows.length; i++) {
|
||||
tfo.appendChild(sortbottomrows[i]);
|
||||
}
|
||||
delete sortbottomrows;
|
||||
}
|
||||
|
||||
// work through each column and calculate its type
|
||||
headrow = table.tHead.rows[0].cells;
|
||||
for (var i=0; i<headrow.length; i++) {
|
||||
// manually override the type with a sorttable_type attribute
|
||||
if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
|
||||
mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
|
||||
if (mtch) { override = mtch[1]; }
|
||||
if (mtch && typeof sorttable["sort_"+override] == 'function') {
|
||||
headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
|
||||
} else {
|
||||
headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
|
||||
}
|
||||
// make it clickable to sort
|
||||
headrow[i].sorttable_columnindex = i;
|
||||
headrow[i].sorttable_tbody = table.tBodies[0];
|
||||
dean_addEvent(headrow[i],"click", sorttable.innerSortFunction = function(e) {
|
||||
|
||||
if (this.className.search(/\bsorttable_sorted\b/) != -1) {
|
||||
// if we're already sorted by this column, just
|
||||
// reverse the table, which is quicker
|
||||
sorttable.reverse(this.sorttable_tbody);
|
||||
this.className = this.className.replace('sorttable_sorted',
|
||||
'sorttable_sorted_reverse');
|
||||
this.removeChild(document.getElementById('sorttable_sortfwdind'));
|
||||
sortrevind = document.createElement('span');
|
||||
sortrevind.id = "sorttable_sortrevind";
|
||||
sortrevind.innerHTML = stIsIE ? ' <font face="webdings">5</font>' : ' ▴';
|
||||
this.appendChild(sortrevind);
|
||||
return;
|
||||
}
|
||||
if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
|
||||
// if we're already sorted by this column in reverse, just
|
||||
// re-reverse the table, which is quicker
|
||||
sorttable.reverse(this.sorttable_tbody);
|
||||
this.className = this.className.replace('sorttable_sorted_reverse',
|
||||
'sorttable_sorted');
|
||||
this.removeChild(document.getElementById('sorttable_sortrevind'));
|
||||
sortfwdind = document.createElement('span');
|
||||
sortfwdind.id = "sorttable_sortfwdind";
|
||||
sortfwdind.innerHTML = stIsIE ? ' <font face="webdings">6</font>' : ' ▾';
|
||||
this.appendChild(sortfwdind);
|
||||
return;
|
||||
}
|
||||
|
||||
// remove sorttable_sorted classes
|
||||
theadrow = this.parentNode;
|
||||
forEach(theadrow.childNodes, function(cell) {
|
||||
if (cell.nodeType == 1) { // an element
|
||||
cell.className = cell.className.replace('sorttable_sorted_reverse','');
|
||||
cell.className = cell.className.replace('sorttable_sorted','');
|
||||
}
|
||||
});
|
||||
sortfwdind = document.getElementById('sorttable_sortfwdind');
|
||||
if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
|
||||
sortrevind = document.getElementById('sorttable_sortrevind');
|
||||
if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
|
||||
|
||||
this.className += ' sorttable_sorted';
|
||||
sortfwdind = document.createElement('span');
|
||||
sortfwdind.id = "sorttable_sortfwdind";
|
||||
sortfwdind.innerHTML = stIsIE ? ' <font face="webdings">6</font>' : ' ▾';
|
||||
this.appendChild(sortfwdind);
|
||||
|
||||
// build an array to sort. This is a Schwartzian transform thing,
|
||||
// i.e., we "decorate" each row with the actual sort key,
|
||||
// sort based on the sort keys, and then put the rows back in order
|
||||
// which is a lot faster because you only do getInnerText once per row
|
||||
row_array = [];
|
||||
col = this.sorttable_columnindex;
|
||||
rows = this.sorttable_tbody.rows;
|
||||
for (var j=0; j<rows.length; j++) {
|
||||
row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
|
||||
}
|
||||
/* If you want a stable sort, uncomment the following line */
|
||||
//sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
|
||||
/* and comment out this one */
|
||||
row_array.sort(this.sorttable_sortfunction);
|
||||
|
||||
tb = this.sorttable_tbody;
|
||||
for (var j=0; j<row_array.length; j++) {
|
||||
tb.appendChild(row_array[j][1]);
|
||||
}
|
||||
|
||||
delete row_array;
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
guessType: function(table, column) {
|
||||
// guess the type of a column based on its first non-blank row
|
||||
sortfn = sorttable.sort_alpha;
|
||||
for (var i=0; i<table.tBodies[0].rows.length; i++) {
|
||||
text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
|
||||
if (text != '') {
|
||||
if (text.match(/^-?[£$¤]?[\d,.]+%?$/)) {
|
||||
return sorttable.sort_numeric;
|
||||
}
|
||||
// check for a date: dd/mm/yyyy or dd/mm/yy
|
||||
// can have / or . or - as separator
|
||||
// can be mm/dd as well
|
||||
possdate = text.match(sorttable.DATE_RE)
|
||||
if (possdate) {
|
||||
// looks like a date
|
||||
first = parseInt(possdate[1]);
|
||||
second = parseInt(possdate[2]);
|
||||
if (first > 12) {
|
||||
// definitely dd/mm
|
||||
return sorttable.sort_ddmm;
|
||||
} else if (second > 12) {
|
||||
return sorttable.sort_mmdd;
|
||||
} else {
|
||||
// looks like a date, but we can't tell which, so assume
|
||||
// that it's dd/mm (English imperialism!) and keep looking
|
||||
sortfn = sorttable.sort_ddmm;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return sortfn;
|
||||
},
|
||||
|
||||
getInnerText: function(node) {
|
||||
// gets the text we want to use for sorting for a cell.
|
||||
// strips leading and trailing whitespace.
|
||||
// this is *not* a generic getInnerText function; it's special to sorttable.
|
||||
// for example, you can override the cell text with a customkey attribute.
|
||||
// it also gets .value for <input> fields.
|
||||
|
||||
if (!node) return "";
|
||||
|
||||
hasInputs = (typeof node.getElementsByTagName == 'function') &&
|
||||
node.getElementsByTagName('input').length;
|
||||
|
||||
if (node.getAttribute("sorttable_customkey") != null) {
|
||||
return node.getAttribute("sorttable_customkey");
|
||||
}
|
||||
else if (typeof node.textContent != 'undefined' && !hasInputs) {
|
||||
return node.textContent.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
else if (typeof node.innerText != 'undefined' && !hasInputs) {
|
||||
return node.innerText.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
else if (typeof node.text != 'undefined' && !hasInputs) {
|
||||
return node.text.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
else {
|
||||
switch (node.nodeType) {
|
||||
case 3:
|
||||
if (node.nodeName.toLowerCase() == 'input') {
|
||||
return node.value.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
case 4:
|
||||
return node.nodeValue.replace(/^\s+|\s+$/g, '');
|
||||
break;
|
||||
case 1:
|
||||
case 11:
|
||||
var innerText = '';
|
||||
for (var i = 0; i < node.childNodes.length; i++) {
|
||||
innerText += sorttable.getInnerText(node.childNodes[i]);
|
||||
}
|
||||
return innerText.replace(/^\s+|\s+$/g, '');
|
||||
break;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
reverse: function(tbody) {
|
||||
// reverse the rows in a tbody
|
||||
newrows = [];
|
||||
for (var i=0; i<tbody.rows.length; i++) {
|
||||
newrows[newrows.length] = tbody.rows[i];
|
||||
}
|
||||
for (var i=newrows.length-1; i>=0; i--) {
|
||||
tbody.appendChild(newrows[i]);
|
||||
}
|
||||
delete newrows;
|
||||
},
|
||||
|
||||
/* sort functions
|
||||
each sort function takes two parameters, a and b
|
||||
you are comparing a[0] and b[0] */
|
||||
sort_numeric: function(a,b) {
|
||||
aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
|
||||
if (isNaN(aa)) aa = 0;
|
||||
bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
|
||||
if (isNaN(bb)) bb = 0;
|
||||
return aa-bb;
|
||||
},
|
||||
sort_alpha: function(a,b) {
|
||||
if (a[0]==b[0]) return 0;
|
||||
if (a[0]<b[0]) return -1;
|
||||
return 1;
|
||||
},
|
||||
sort_ddmm: function(a,b) {
|
||||
mtch = a[0].match(sorttable.DATE_RE);
|
||||
y = mtch[3]; m = mtch[2]; d = mtch[1];
|
||||
if (m.length == 1) m = '0'+m;
|
||||
if (d.length == 1) d = '0'+d;
|
||||
dt1 = y+m+d;
|
||||
mtch = b[0].match(sorttable.DATE_RE);
|
||||
y = mtch[3]; m = mtch[2]; d = mtch[1];
|
||||
if (m.length == 1) m = '0'+m;
|
||||
if (d.length == 1) d = '0'+d;
|
||||
dt2 = y+m+d;
|
||||
if (dt1==dt2) return 0;
|
||||
if (dt1<dt2) return -1;
|
||||
return 1;
|
||||
},
|
||||
sort_mmdd: function(a,b) {
|
||||
mtch = a[0].match(sorttable.DATE_RE);
|
||||
y = mtch[3]; d = mtch[2]; m = mtch[1];
|
||||
if (m.length == 1) m = '0'+m;
|
||||
if (d.length == 1) d = '0'+d;
|
||||
dt1 = y+m+d;
|
||||
mtch = b[0].match(sorttable.DATE_RE);
|
||||
y = mtch[3]; d = mtch[2]; m = mtch[1];
|
||||
if (m.length == 1) m = '0'+m;
|
||||
if (d.length == 1) d = '0'+d;
|
||||
dt2 = y+m+d;
|
||||
if (dt1==dt2) return 0;
|
||||
if (dt1<dt2) return -1;
|
||||
return 1;
|
||||
},
|
||||
|
||||
shaker_sort: function(list, comp_func) {
|
||||
// A stable sort function to allow multi-level sorting of data
|
||||
// see: http://en.wikipedia.org/wiki/Cocktail_sort
|
||||
// thanks to Joseph Nahmias
|
||||
var b = 0;
|
||||
var t = list.length - 1;
|
||||
var swap = true;
|
||||
|
||||
while(swap) {
|
||||
swap = false;
|
||||
for(var i = b; i < t; ++i) {
|
||||
if ( comp_func(list[i], list[i+1]) > 0 ) {
|
||||
var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
|
||||
swap = true;
|
||||
}
|
||||
} // for
|
||||
t--;
|
||||
|
||||
if (!swap) break;
|
||||
|
||||
for(var i = t; i > b; --i) {
|
||||
if ( comp_func(list[i], list[i-1]) < 0 ) {
|
||||
var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
|
||||
swap = true;
|
||||
}
|
||||
} // for
|
||||
b++;
|
||||
|
||||
} // while(swap)
|
||||
}
|
||||
}
|
||||
|
||||
/* ******************************************************************
|
||||
Supporting functions: bundled here to avoid depending on a library
|
||||
****************************************************************** */
|
||||
|
||||
// Dean Edwards/Matthias Miller/John Resig
|
||||
|
||||
/* for Mozilla/Opera9 */
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener("DOMContentLoaded", sorttable.init, false);
|
||||
}
|
||||
|
||||
/* for Internet Explorer */
|
||||
/*@cc_on @*/
|
||||
/*@if (@_win32)
|
||||
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
|
||||
var script = document.getElementById("__ie_onload");
|
||||
script.onreadystatechange = function() {
|
||||
if (this.readyState == "complete") {
|
||||
sorttable.init(); // call the onload handler
|
||||
}
|
||||
};
|
||||
/*@end @*/
|
||||
|
||||
/* for Safari */
|
||||
if (/WebKit/i.test(navigator.userAgent)) { // sniff
|
||||
var _timer = setInterval(function() {
|
||||
if (/loaded|complete/.test(document.readyState)) {
|
||||
sorttable.init(); // call the onload handler
|
||||
}
|
||||
}, 10);
|
||||
}
|
||||
|
||||
/* for other browsers */
|
||||
window.onload = sorttable.init;
|
||||
|
||||
// written by Dean Edwards, 2005
|
||||
// with input from Tino Zijdel, Matthias Miller, Diego Perini
|
||||
|
||||
// http://dean.edwards.name/weblog/2005/10/add-event/
|
||||
|
||||
function dean_addEvent(element, type, handler) {
|
||||
if (element.addEventListener) {
|
||||
element.addEventListener(type, handler, false);
|
||||
} else {
|
||||
// assign each event handler a unique ID
|
||||
if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
|
||||
// create a hash table of event types for the element
|
||||
if (!element.events) element.events = {};
|
||||
// create a hash table of event handlers for each element/event pair
|
||||
var handlers = element.events[type];
|
||||
if (!handlers) {
|
||||
handlers = element.events[type] = {};
|
||||
// store the existing event handler (if there is one)
|
||||
if (element["on" + type]) {
|
||||
handlers[0] = element["on" + type];
|
||||
}
|
||||
}
|
||||
// store the event handler in the hash table
|
||||
handlers[handler.$$guid] = handler;
|
||||
// assign a global event handler to do all the work
|
||||
element["on" + type] = handleEvent;
|
||||
}
|
||||
};
|
||||
// a counter used to create unique IDs
|
||||
dean_addEvent.guid = 1;
|
||||
|
||||
function removeEvent(element, type, handler) {
|
||||
if (element.removeEventListener) {
|
||||
element.removeEventListener(type, handler, false);
|
||||
} else {
|
||||
// delete the event handler from the hash table
|
||||
if (element.events && element.events[type]) {
|
||||
delete element.events[type][handler.$$guid];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function handleEvent(event) {
|
||||
var returnValue = true;
|
||||
// grab the event object (IE uses a global event object)
|
||||
event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
|
||||
// get a reference to the hash table of event handlers
|
||||
var handlers = this.events[event.type];
|
||||
// execute each event handler
|
||||
for (var i in handlers) {
|
||||
this.$$handleEvent = handlers[i];
|
||||
if (this.$$handleEvent(event) === false) {
|
||||
returnValue = false;
|
||||
}
|
||||
}
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
function fixEvent(event) {
|
||||
// add W3C standard event methods
|
||||
event.preventDefault = fixEvent.preventDefault;
|
||||
event.stopPropagation = fixEvent.stopPropagation;
|
||||
return event;
|
||||
};
|
||||
fixEvent.preventDefault = function() {
|
||||
this.returnValue = false;
|
||||
};
|
||||
fixEvent.stopPropagation = function() {
|
||||
this.cancelBubble = true;
|
||||
}
|
||||
|
||||
// Dean's forEach: http://dean.edwards.name/base/forEach.js
|
||||
/*
|
||||
forEach, version 1.0
|
||||
Copyright 2006, Dean Edwards
|
||||
License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
// array-like enumeration
|
||||
if (!Array.forEach) { // mozilla already supports this
|
||||
Array.forEach = function(array, block, context) {
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
block.call(context, array[i], i, array);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// generic enumeration
|
||||
Function.prototype.forEach = function(object, block, context) {
|
||||
for (var key in object) {
|
||||
if (typeof this.prototype[key] == "undefined") {
|
||||
block.call(context, object[key], key, object);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// character enumeration
|
||||
String.forEach = function(string, block, context) {
|
||||
Array.forEach(string.split(""), function(chr, index) {
|
||||
block.call(context, chr, index, string);
|
||||
});
|
||||
};
|
||||
|
||||
// globally resolve forEach enumeration
|
||||
var forEach = function(object, block, context) {
|
||||
if (object) {
|
||||
var resolve = Object; // default
|
||||
if (object instanceof Function) {
|
||||
// functions have a "length" property
|
||||
resolve = Function;
|
||||
} else if (object.forEach instanceof Function) {
|
||||
// the object implements a custom forEach method so use that
|
||||
object.forEach(block, context);
|
||||
return;
|
||||
} else if (typeof object == "string") {
|
||||
// the object is a string
|
||||
resolve = String;
|
||||
} else if (typeof object.length == "number") {
|
||||
// the object is array-like
|
||||
resolve = Array;
|
||||
}
|
||||
resolve.forEach(object, block, context);
|
||||
}
|
||||
};
|
||||
|
File diff suppressed because one or more lines are too long
|
@ -1,26 +0,0 @@
|
|||
Copyright (c) 2004-2007, Ryan Parman and Geoffrey Sneddon.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are
|
||||
permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
of conditions and the following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
* Neither the name of the SimplePie Team nor the names of its contributors may be used
|
||||
to endorse or promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
|
||||
AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
|
@ -1,117 +0,0 @@
|
|||
SimplePie
|
||||
=========
|
||||
|
||||
SimplePie is a very fast and easy-to-use class, written in PHP, that puts the
|
||||
'simple' back into 'really simple syndication'. Flexible enough to suit
|
||||
beginners and veterans alike, SimplePie is focused on [speed, ease of use,
|
||||
compatibility and standards compliance][what_is].
|
||||
|
||||
[what_is]: http://simplepie.org/wiki/faq/what_is_simplepie
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
* PHP 5.2.0 or newer
|
||||
* libxml2 (certain 2.7.x releases are too buggy for words, and will crash)
|
||||
* Either the iconv or mbstring extension
|
||||
* cURL or fsockopen()
|
||||
* PCRE support
|
||||
|
||||
If you're looking for PHP 4.x support, pull the "one-dot-two" branch, as that's
|
||||
the last version to support PHP 4.x.
|
||||
|
||||
|
||||
What comes in the package?
|
||||
--------------------------
|
||||
1. `library/` - SimplePie classes for use with the autoloader
|
||||
2. `autoloader.php` - The SimplePie Autoloader if you want to use the separate
|
||||
file version.
|
||||
3. `README.markdown` - This document.
|
||||
4. `LICENSE.txt` - A copy of the BSD license.
|
||||
5. `compatibility_test/` - The SimplePie compatibility test that checks your
|
||||
server for required settings.
|
||||
6. `demo/` - A basic feed reader demo that shows off some of SimplePie's more
|
||||
noticeable features.
|
||||
7. `idn/` - A third-party library that SimplePie can optionally use to
|
||||
understand Internationalized Domain Names (IDNs).
|
||||
8. `build/` - Scripts related to generating pieces of SimplePie
|
||||
9. `test/` - SimplePie's unit test suite.
|
||||
|
||||
### Where's `simplepie.inc`?
|
||||
For SimplePie 1.3, we've split the classes into separate files to make it easier
|
||||
to maintain and use.
|
||||
|
||||
If you'd like a single monolithic file, you can run `php build/compile.php` to
|
||||
generate `SimplePie.compiled.php`, or grab a copy from
|
||||
[dev.simplepie.org][dev_compiled] (this is kept up-to-date with the latest
|
||||
code from Git).
|
||||
|
||||
[dev_compiled]: http://dev.simplepie.org/SimplePie.compiled.php
|
||||
|
||||
|
||||
To start the demo
|
||||
-----------------
|
||||
1. Upload this package to your webserver.
|
||||
2. Make sure that the cache folder inside of the demo folder is server-writable.
|
||||
3. Navigate your browser to the demo folder.
|
||||
|
||||
|
||||
Need support?
|
||||
-------------
|
||||
For further setup and install documentation, function references, etc., visit
|
||||
[the wiki][wiki]. If you're using the latest version off GitHub, you can also
|
||||
check out the [API documentation][].
|
||||
|
||||
If you can't find an answer to your question in the documentation, head on over
|
||||
to one of our [support channels][]. For bug reports and feature requests, visit
|
||||
the [issue tracker][].
|
||||
|
||||
[API documentation]: http://dev.simplepie.org/api/
|
||||
[wiki]: http://simplepie.org/wiki/
|
||||
[support channels]: http://simplepie.org/support/
|
||||
[issue tracker]: http://github.com/simplepie/simplepie/issues
|
||||
|
||||
|
||||
Project status
|
||||
--------------
|
||||
SimplePie is currently maintained by Ryan McCue.
|
||||
|
||||
As an open source project, SimplePie is maintained on a somewhat sporadic basis.
|
||||
This means that feature requests may not be fulfilled straight away, as time has
|
||||
to be prioritized.
|
||||
|
||||
If you'd like to contribute to SimplePie, the best way to get started is to fork
|
||||
the project on GitHub and send pull requests for patches. When doing so, please
|
||||
be aware of our [coding standards][].
|
||||
|
||||
[coding standards]: http://simplepie.org/wiki/misc/coding_standards
|
||||
|
||||
|
||||
Authors and contributors
|
||||
------------------------
|
||||
### Current
|
||||
* [Ryan McCue][] (Maintainer, support)
|
||||
|
||||
### Alumni
|
||||
* [Ryan Parman][] (Creator, developer, evangelism, support)
|
||||
* [Geoffrey Sneddon][] (Lead developer)
|
||||
* [Michael Shipley][] (Submitter of patches, support)
|
||||
* [Steve Minutillo][] (Submitter of patches)
|
||||
|
||||
[Ryan McCue]: http://ryanmccue.info
|
||||
[Ryan Parman]: http://ryanparman.com
|
||||
[Geoffrey Sneddon]: http://gsnedders.com
|
||||
[Michael Shipley]: http://michaelpshipley.com
|
||||
[Steve Minutillo]: http://minutillo.com/steve/
|
||||
|
||||
|
||||
### Contributors
|
||||
For a complete list of contributors:
|
||||
|
||||
1. Pull down the latest SimplePie code
|
||||
2. In the `simplepie` directory, run `git shortlog -ns`
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
[New BSD license](http://www.opensource.org/licenses/BSD-3-Clause)
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue