Integrating phpMyAdmin
34
.devilbox/www/htdocs/vendor/phpmyadmin/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Contributing to phpMyAdmin
|
||||||
|
|
||||||
|
As an open source project, phpMyAdmin welcomes contributions of many forms.
|
||||||
|
|
||||||
|
## Bug reporting
|
||||||
|
|
||||||
|
We appreciate your effort to improve phpMyAdmin by submitting a bug report. Before doing so, please check the following things:
|
||||||
|
|
||||||
|
1. Check whether the bug you face **hasn't been already reported**. Duplicate reports takes us time, that we could be used to fix other bugs or make improvements.
|
||||||
|
2. Specify the phpMyAdmin, server, PHP, MySQL and browser information that may be helpful to fix the problem, especially exact **version numbers**.
|
||||||
|
3. If you got some error, please **describe what happened** and add error message. Reports like "I get error when I clicked on some link." are useless.
|
||||||
|
4. Provide easy steps to reproduce and if possible include your table structure (``SHOW CREATE TABLE `tbl_name```); if your problem implies specific data, attach a small export file for sample rows.
|
||||||
|
5. **Security problems** should not be reported here. See [our security page](https://www.phpmyadmin.net/security/).
|
||||||
|
Thanks for your help!
|
||||||
|
|
||||||
|
Please report [bugs on GitHub][1].
|
||||||
|
|
||||||
|
[1]: https://github.com/phpmyadmin/phpmyadmin/issues/new
|
||||||
|
|
||||||
|
## Patches submission
|
||||||
|
|
||||||
|
Patches are welcome as [pull requests on GitHub][2]. Please include a
|
||||||
|
Signed-off-by tag. Note that by submitting patches with the Signed-off-by
|
||||||
|
tag, you are giving permission to license the patch as GPLv2-or-later. See
|
||||||
|
[the DCO file][3] for details.
|
||||||
|
|
||||||
|
[2]: https://github.com/phpmyadmin/phpmyadmin/pulls
|
||||||
|
[3]: https://github.com/phpmyadmin/phpmyadmin/blob/master/DCO
|
||||||
|
|
||||||
|
## More information
|
||||||
|
|
||||||
|
You can find more information on our website:
|
||||||
|
|
||||||
|
https://www.phpmyadmin.net/contribute/
|
302
.devilbox/www/htdocs/vendor/phpmyadmin/ChangeLog
vendored
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
phpMyAdmin - ChangeLog
|
||||||
|
======================
|
||||||
|
|
||||||
|
4.6.4 (2016-08-16)
|
||||||
|
- issue [security] Weaknesses with cookie encryption, see PMASA-2016-29
|
||||||
|
- issue [security] Improve session cookie code for openid.php and signon.php example files
|
||||||
|
- issue [security] Full path disclosure in openid.php and signon.php example files
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-30
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-31
|
||||||
|
- issue [security] Unsafe generation of BlowfishSecret (when not supplied by the user)
|
||||||
|
- issue [security] Referrer leak when phpinfo is enabled
|
||||||
|
- issue [security] PHP code injection, see PMASA-2016-32
|
||||||
|
- issue [security] Full path disclosure, see PMASA-2016-33
|
||||||
|
- issue [security] SQL injection attack, see PMASA-2016-34
|
||||||
|
- issue [security] Local file exposure through LOAD DATA LOCAL INFILE, see PMASA-2016-35
|
||||||
|
- issue [security] Local file exposure through symlinks with UploadDir, see PMASA-2016-36
|
||||||
|
- issue [security] Path traversal with SaveDir and UploadDir, see PMASA-2016-37
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-38
|
||||||
|
- issue [security] SQL injection vulnerability as control user, see PMASA-2016-39
|
||||||
|
- issue [security] SQL injection vulnerability, see PMASA-2016-40
|
||||||
|
- issue [security] Denial-of-service attack through transformation feature, see PMASA-2016-41
|
||||||
|
- issue [security] SQL injection vulnerability as control user, see PMASA-2016-42
|
||||||
|
- issue [security] Verify data before unserializing, see PMASA-2016-43
|
||||||
|
- issue [security] Use HTTPS for wiki links
|
||||||
|
- issue Remove Swekey support
|
||||||
|
- issue [security] SSRF in setup script, see PMASA-2016-44
|
||||||
|
- issue [security] Denial-of-service attack with $cfg['AllowArbitraryServer'] = true and persistent connections, see PMASA-2016-45
|
||||||
|
- issue [security] Improve SSL certificate handling
|
||||||
|
- issue [security] Fix full path disclosure in debugging code
|
||||||
|
- issue [security] Possible circumvention of IP-based allow/deny rules with IPv6 and proxy server, see PMASA-2016-47
|
||||||
|
- issue [security] Detect if user is logged in, see PMASA-2016-48
|
||||||
|
- issue [security] Bypass URL redirection protection, see PMASA-2016-49
|
||||||
|
- issue [security] Referrer leak, see PMASA-2016-50
|
||||||
|
- issue [security] Reflected File Download, see PMASA-2016-51
|
||||||
|
- issue [security] ArbitraryServerRegexp bypass, see PMASA-2016-52
|
||||||
|
- issue [security] Denial-of-service attack by entering long password, see PMASA-2016-53
|
||||||
|
- issue [security] Remote code execution vulnerability when running as CGI, see PMASA-2016-054
|
||||||
|
- issue [security] Administrators could trigger SQL injection attack against users
|
||||||
|
- issue [security] Denial-of-service attack when PHP uses dbase extension, see PMASA-2016-55
|
||||||
|
- issue [security] Remove tode execution vulnerability when PHP uses dbase extension, see PMASA-2016-56
|
||||||
|
- issue [security] Denial-of-service attack by using for loops, see PMASA-2016-46
|
||||||
|
- issue Include X-Robots-Tag header in responses
|
||||||
|
- issue Enforce numeric field length when creating table
|
||||||
|
- issue Fixed invalid Content-Length in some HTTP responses
|
||||||
|
- issue #12394 Create view should require a view name
|
||||||
|
- issue #12391 Message with 'Change password successfully' displayed, but does not take effect
|
||||||
|
- issue Tighten control on PHP sessions and session cookies
|
||||||
|
- issue #12409 Re-enable overhead on server databases view
|
||||||
|
- issue #12414 Fixed rendering of Original theme
|
||||||
|
- issue #12413 Fixed deleting users in non English locales
|
||||||
|
- issue #12416 Fixed replication status output in Databases listing
|
||||||
|
- issue #12303 Avoid typecasting to float when not needed
|
||||||
|
- issue #12425 Duplicate message variable names in messages.inc.php
|
||||||
|
- issue #12399 Adding index to table shows wrong top navigation
|
||||||
|
- issue #12424 Fixed password change on MariaDB without auth plugin
|
||||||
|
- issue #12339 Do not error on unset server port
|
||||||
|
- issue #12422 Improvements to the original theme
|
||||||
|
- issue #12395 Do not try to load old transformation plugins
|
||||||
|
- issue #12423 Fixed replication status in database listing
|
||||||
|
- issue #12433 Copy table with prefix does not copy the indexes
|
||||||
|
- issue #12375 Search in database: Window content is not scrolling down when clicking first time on Browse link
|
||||||
|
- issue #12346 SQL Editor textareas can have their size increased from the top, distorting the page view
|
||||||
|
|
||||||
|
4.6.3 (2016-06-23)
|
||||||
|
- issue #12249 Fixed cookie path on Windows
|
||||||
|
- issue #12279 Fixed error reporting on connect problems
|
||||||
|
- issue #12290 Fixed export of tables without explicitly set engine
|
||||||
|
- issue #12285 Designer JavaScript error: Show/Hide tables list
|
||||||
|
- issue #12293 Fix MySQL SSL connection with some PHP versions
|
||||||
|
- issue #12279 Fix MySQL connection error on version mismatch
|
||||||
|
- issue #12281 Keep user attributes (privileges, authentication mode, etc) when copying a user
|
||||||
|
- issue #12308 Fix division by zero in case of misconfigured MySQL server
|
||||||
|
- issue #12317 Fix editing server variables
|
||||||
|
- issue #12303 Fix table size calculation in some circumstances
|
||||||
|
- issue #12310 Fix listing routines for non privileged user
|
||||||
|
- issue Escape generated query in exporting a database
|
||||||
|
- issue Setup script doesn't use input type 'password' in all relevant locations
|
||||||
|
- issue [security] BBCode injection in setup script, see PMASA-2016-17
|
||||||
|
- issue [security] Cookie attribute injection attack, see PMASA-2016-18
|
||||||
|
- issue Redirect loop when directly calling url.php
|
||||||
|
- issue [security] SQL injection attack, see PMASA-2016-19
|
||||||
|
- issue [security] XSS attack in Table Structure page, see PMASA-2016-20
|
||||||
|
- issue [security] XSS attack in Server Privileges page, see PMASA-2016-21
|
||||||
|
- issue [security] DOS attack vulnerability, see PMASA-2016-22
|
||||||
|
- issue [security] Multiple full path disclosure vulnerabilities, see PMASA-2016-23
|
||||||
|
- issue [security] Full path disclosure when running in debug mode
|
||||||
|
- issue [security] XSS attack with partition range and table structure, see PMASA-2016-25
|
||||||
|
- issue [security] XSS attack when checking database privileges, see PMASA-2016-26
|
||||||
|
- issue [security] XSS attack when MySQL server is using a specific payload log_bin directive, see PMASA-2016-26
|
||||||
|
- issue [security] XSS vulnerabilities in Transformation feature, see PMASA-2016-26
|
||||||
|
|
||||||
|
4.6.2 (2016-05-25)
|
||||||
|
- issue [security] User SQL queries can be revealed through URL GET parameters, see PMASA-2016-14
|
||||||
|
- issue [security] Self XSS vulneratbility, see PMASA-2016-16
|
||||||
|
- issue #12225 Use https for documentation links
|
||||||
|
- issue #12234 Fix schema export with too many tables
|
||||||
|
- issue #12240 Avoid parsing non JSON responses as JSON
|
||||||
|
- issue #12244 Avoid using too log URLs when getting javascripts
|
||||||
|
- issue #12118 Fixed setting mixed case languages
|
||||||
|
- issue #12229 Avoid storing objects in session when debugging SQL
|
||||||
|
- issue #12249 Fix cookie path on IIS
|
||||||
|
- issue #11705 Fix occassional 200 errors on Windows
|
||||||
|
- issue #12219 Fix locking issues when importing SQL
|
||||||
|
- issue #12231 Avoid confusing warning when mysql extension is missing
|
||||||
|
- issue Improve handling of logout
|
||||||
|
- issue Safer handling of sessions during authentication
|
||||||
|
- issue #12209 Fix server selection on main page
|
||||||
|
- issue #12192 Avoid storing full error data in session
|
||||||
|
- issue #12082 Fixed export of ARCHIVE tables with keys
|
||||||
|
- issue #11565 Add session reload for config authentication
|
||||||
|
- issue #12229 Do not fail on errors stored in session
|
||||||
|
- issue #12248 Fix loading of APC based upload progress bar
|
||||||
|
|
||||||
|
4.6.1 (2016-05-02)
|
||||||
|
- issue #12120 PMA_Util not found in insert_edit.lib.php
|
||||||
|
- issue #12118 Fixed activation of some languages
|
||||||
|
- issue #12121 Fixed error in 3NF step of normalization
|
||||||
|
- issue #12135 Fix offering JSON datatype in incompatible MySQL versions
|
||||||
|
- issue #12132 Can not open table with JSON field
|
||||||
|
- issue #12125 Cannot highlight a column if I scroll down from the top of the table
|
||||||
|
- issue #12154 Fixed possible PHP error in SQL parser
|
||||||
|
- issue #12029 Fixed SQL quoting in SQL export
|
||||||
|
- issue #12129 Improve performance of database structure page
|
||||||
|
- issue #12159 Fix PHP error if user did unpack new version over old one
|
||||||
|
- issue #12165 Fix parsing of expression 0
|
||||||
|
- issue #12146 Document setup with Google Cloud SQL
|
||||||
|
- issue #12197 Fix parsing of queries with double \
|
||||||
|
- issue #12202 Fixed setting of language from user configuration
|
||||||
|
- issue #12200 Fixed check for ndb version
|
||||||
|
- issue #12206 Fixed loading of configuration file
|
||||||
|
- issue #12204 Check if sessions are working and report failures
|
||||||
|
- issue #12211 non-clickable initial letter for users / and can't modify users with MySQL 5.7.12
|
||||||
|
- issue #12215 Fixed config tab persistence errors
|
||||||
|
- issue #12217 Fixed javascript erros on user creation
|
||||||
|
- issue #12144 Fixed parsing of some AS clauses
|
||||||
|
- issue #12205 Fixed parsing of FULL OUTER JOIN queries
|
||||||
|
- issue #12171 Fixed editing of VIEW structure
|
||||||
|
- issue #12208 Avoid printing executed queries on import
|
||||||
|
|
||||||
|
4.6.0.0 (2016-03-22)
|
||||||
|
+ issue #11456 Disabled storage engines
|
||||||
|
+ issue #11479 Allow setting routine wise privileges
|
||||||
|
- issue Hide Insert tab for non-updatable views
|
||||||
|
+ issue #11490 UI for defining partitioning in create table window
|
||||||
|
+ issue #11438 Support JSON data type
|
||||||
|
+ issue Editing partitions in table Structure
|
||||||
|
- issue Tracking does not make sense for information_schema
|
||||||
|
- issue #11550 Regression in Find and replace
|
||||||
|
+ issue #11619 TokuDB Tables Show Size as "unknown"
|
||||||
|
+ issue #11654 Use a slider for Internal relations
|
||||||
|
+ issue #11641 Ability to disable the navigationhiding Feature
|
||||||
|
- issue #11647 Restrict configuration NavigationTreeDbSeparator to strings
|
||||||
|
- issue #11667 Disable the tooltip in the navigation panel's filter box
|
||||||
|
+ issue Copy results to clipboard
|
||||||
|
+ issue #11504 Reactivate cut&paste possibility in print view
|
||||||
|
- issue #11702 Extraneous message after edit + grid-edit
|
||||||
|
- issue #11668 Table header is empty with browsing an empty table
|
||||||
|
+ issue #11701 Allow changing parameter order of routines
|
||||||
|
- issue #11708 Remove no password warning
|
||||||
|
+ issue #11711 Clarify the meaning of "Stand-in structure for view" in SQL export
|
||||||
|
- issue HTML line break shown after a MySQL connection error message
|
||||||
|
- issue #11728 CSV import skip row count after
|
||||||
|
- issue Fixed displaying of SQL query on table operations
|
||||||
|
- issue #6321 Display binary strings as text if they are valid UTF-8
|
||||||
|
+ issue #11743 Display routine specific privileges
|
||||||
|
+ issue #11538 Copy multiple tables to database
|
||||||
|
+ issue Support Cloudflare Flexible SSL
|
||||||
|
- issue Handle empty TABLE_COMMENT
|
||||||
|
+ issue #11833 Drop support for old Internet Explorer versions
|
||||||
|
+ issue #11796 Use modals for displaying forms in db structure page
|
||||||
|
+ issue #11789 Show MySQL error messages in user language
|
||||||
|
+ issue Add 'ssl_verify' configuration directive for self-signed certificates with mysqlnd and PHP >= 5.6
|
||||||
|
+ issue #11874 Show more used PHP extensions
|
||||||
|
- issue #11874 Report when version check and error reporting are disabled
|
||||||
|
- issue #11849 Fix PDF schema export
|
||||||
|
- issue #11412 Remove ForceSSL configuration directive
|
||||||
|
- issue Remove support for Mozilla Prism
|
||||||
|
- issue #11412 Remove PmaAbsoluteUri configuration directive
|
||||||
|
- issue #11914 Fix autoloading of phpseclib
|
||||||
|
- issue #11880 Fixed rendering of missing extension error
|
||||||
|
- issue #11923 Errors on Structure tab when user only has select access on certain columns
|
||||||
|
- issue #11972 Missing documentation for $cfg['Servers'][$i]['favorite'] and $cfg['NumFavoriteTables']
|
||||||
|
- issue #11907 Avoid displaying UPDATE query twice
|
||||||
|
- issue #11850 Fixed CSV import
|
||||||
|
- issue Fix SQL syntax highlighting in database search page
|
||||||
|
- issue #12056 Fix error when we can not generate random string
|
||||||
|
- issue #12055 Fixed PHP syntax error in templates
|
||||||
|
- issue #12054 Fixed processing of queries with escaped quotes
|
||||||
|
- issue #12041 Fixed exporting tables with fields DEFAULT and COMMENT
|
||||||
|
- issue #12073 Hide edit and delete buttons when the results are not related to a table
|
||||||
|
- issue #12083 Fixed parsing of field definition
|
||||||
|
- issue #12081 Fixed rendering of table stats
|
||||||
|
- issue #11705 Fixed problems with PHP on Windows on table structure
|
||||||
|
- issue #12085 Like search strings being escaped incorrectly
|
||||||
|
- issue #12092 Rename exported databases/tables doesn't seem to work
|
||||||
|
- issue #12099 Undefined index: controllink
|
||||||
|
- issue #12094 PHP Fatal error: Call to undefined function __()
|
||||||
|
- issue #12098 Fix login after logout with http authentication
|
||||||
|
- issue #12074 Fixed possible invalid SQL export
|
||||||
|
- issue #12026 Fixed parsing of UNION SELECT with brackets
|
||||||
|
- issue #12109 Fixed parsing of CREATE TABLE [AS] SELECT
|
||||||
|
- issue #12105 Multi-server drap-and-drop import always fails
|
||||||
|
- issue #12116 Fulltext indexes are not copied when using copy database function
|
||||||
|
|
||||||
|
4.5.5.1 (2016-02-29)
|
||||||
|
- issue #11971 CREATE UNIQUE INDEX index type is not recognized by parser.
|
||||||
|
- issue #11982 Row count wrong when grouping joined tables.
|
||||||
|
- issue #12012 Column definition with default value and comment in CREATE TABLE expoerted faulty.
|
||||||
|
- issue #12020 New statement but no delimiter and unexpected token with REPLACE.
|
||||||
|
- issue #12029 Fixed incorrect usage of SQL parser context in SQL export
|
||||||
|
- issue [security] XSS vulnerability in SQL parser, see PMASA-2016-10.
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-11.
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-12.
|
||||||
|
- issue [security] Vulnerability allowing man-in-the-middle attack on API call to GitHub, see PMASA-2016-13.
|
||||||
|
- issue #12048 Fixed inclusion of gettext library from SQL parser
|
||||||
|
|
||||||
|
4.5.5.0 (2016-02-22)
|
||||||
|
- issue Undefined index: is_ajax_request
|
||||||
|
- issue #11855 Fix password change on MariaDB 10.1 and newer
|
||||||
|
- issue #11874 Validate version information before further processing it
|
||||||
|
- issue #11881 Full processlist lost on refresh
|
||||||
|
- issue #11834 Adjust privileges fails if database name contains underscores
|
||||||
|
- issue #11906 'Loading...' banner shows on login screen
|
||||||
|
- issue #11930 Fixed changing of table parameters, eg. AUTO_INCREMENT
|
||||||
|
- issue #11885 Call to undefined function SqlParser\ctype_alnum()
|
||||||
|
- issue #11879 4.5.3.1 - NOW() function not recognized by parser
|
||||||
|
- issue #11867 Gracefully handle the DESC statement
|
||||||
|
- issue #11843 Fractional timestamp causes corrupted SQL export
|
||||||
|
- issue #11836 Static analysis error for valid WHERE condition with IF keyword
|
||||||
|
- issue #11800 Syntax Verifier error using REGEXP in SQL statement
|
||||||
|
- issue #11799 Backslashes in comments are being interpreted as escape characters
|
||||||
|
- issue #11909 Can't insert row into table that contains generated column
|
||||||
|
- issue #11677 sql-parser and php-gettext collide.
|
||||||
|
- issue #11920 Can't disable backquotes in export
|
||||||
|
- issue #11911 Inserts via tbl_change.php in VARBINARY columns does not allow using HEX() and MD5()
|
||||||
|
- issue #11939 Correct content type for uploaded error reports
|
||||||
|
- issue #11940 Silent errors from checking local documentation
|
||||||
|
- issue #11944 Fixed error on servers with disabled php_uname
|
||||||
|
- issue #11946 Correctly store and report file upload errors
|
||||||
|
- issue #11948 Avoid javascript errors on invalid location hash
|
||||||
|
- issue #11950 Fix PHP warning on configuration errors
|
||||||
|
- issue #11951 Silent errors on checking for writable folders
|
||||||
|
- issue #11952 Silent warning on invalid file upload
|
||||||
|
- issue #11953 Do not fail getting filename with open_basedir limitations
|
||||||
|
- issue #11956 unrecognized keyword interval
|
||||||
|
- issue Field names and aliases are being correctly parsed now.
|
||||||
|
- issue #11959 Fix javascript error in setup
|
||||||
|
- issue #11964 Undefined index: TABLE_COMMENT in database structure page
|
||||||
|
- issue #11967 Fix PHP error on loading invalid XML or ODS file
|
||||||
|
- issue #11969 Missing confirmation while dropping a view in view_operations.php
|
||||||
|
- issue #11968 Fix export of index comments in SQL
|
||||||
|
- issue #11979 DECLARE not accepted as valid SQL
|
||||||
|
|
||||||
|
4.5.4.1 (2016-01-29)
|
||||||
|
- issue #11892 Error with PMA 4.4.15.3
|
||||||
|
- issue #11896 Remove hard dependency on phpseclib
|
||||||
|
|
||||||
|
4.5.4.0 (2016-01-28)
|
||||||
|
- issue #11724 live data edit of big sets is not working
|
||||||
|
- issue Table list not saved in db QBE bookmarked search
|
||||||
|
- issue #11777 While 'changing a column', query fails with a syntax error after the 'CHARSET=' keyword
|
||||||
|
- issue #11783 Avoid syntax error in javascript messages on invalid PHP setting for max_input_vars
|
||||||
|
- issue #11784 Properly handle errors in upacking zip archive
|
||||||
|
- issue #11785 Set PHP's internal encoding to UTF-8
|
||||||
|
- issue #11786 Fixed Kanji encoding in some specific cases
|
||||||
|
- issue #11787 Check whether iconv works before using it
|
||||||
|
- issue #11788 Avoid conversion of MySQL error messages
|
||||||
|
- issue #11792 Undefined index: parameters
|
||||||
|
- issue #11802 Undefined index: field_name_orig
|
||||||
|
- issue Undefined index: host
|
||||||
|
- issue #11810 'Add to central columns' (per column button) does nothing
|
||||||
|
- issue #11727 SQL duplicate entry error trying to INSERT in designer_settings table
|
||||||
|
- issue #11798 Fix handling of databases with dot in a name
|
||||||
|
- issue #11820 Fix hiding of page content behind menu
|
||||||
|
- issue #11780 FROM clause not generated after loading search bookmark
|
||||||
|
- issue #11826 Fix creating/editing VIEW with DEFINER containing special chars
|
||||||
|
- issue #11828 Do not invoke FLUSH PRIVILEGES when server in --skip-grant-tables
|
||||||
|
- issue #11804 Misleading message for configuration storage
|
||||||
|
- issue #11772 Table pagination does nothing when session expired
|
||||||
|
- issue #11840 Index comments not working properly
|
||||||
|
- issue #11791 Better handle local storage errors
|
||||||
|
- issue #11752 Improve detection of privileges for privilege adjusting
|
||||||
|
- issue #11854 Undefined property: stdClass::$releases at version check when disabled in config
|
||||||
|
- issue #11814 SQL comment and variable stripped from bookmark on save
|
||||||
|
- issue Gracefully handle errors in regex based javascript search
|
||||||
|
- issue [security] Multiple full path disclosure vulnerabilities, see PMASA-2016-1
|
||||||
|
- issue [security] Unsafe generation of CSRF token, see PMASA-2016-2
|
||||||
|
- issue [security] Multiple XSS vulnerabilities, see PMASA-2016-3
|
||||||
|
- issue [security] Insecure password generation in JavaScript, see PMASA-2016-4
|
||||||
|
- issue [security] Unsafe comparison of CSRF token, see PMASA-2016-5
|
||||||
|
- issue [security] Multiple full path disclosure vulnerabilities, see PMASA-2016-6
|
||||||
|
- issue [security] XSS vulnerability in normalization page, see PMASA-2016-7
|
||||||
|
- issue [security] Full path disclosure vulnerability in SQL parser, see PMASA-2016-8
|
||||||
|
- issue [security] XSS vulnerability in SQL editor, see PMASA-2016-9
|
||||||
|
|
||||||
|
--- Older ChangeLogs can be found on our project website ---
|
||||||
|
https://www.phpmyadmin.net/old-stuff/ChangeLogs/
|
||||||
|
|
||||||
|
# vim: et ts=4 sw=4 sts=4
|
||||||
|
# vim: ft=changelog fenc=utf-8
|
||||||
|
# vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>4&&getline(v\:lnum)!~'^#'
|
||||||
|
# vim: fdn=1 fdm=expr
|
44
.devilbox/www/htdocs/vendor/phpmyadmin/DCO
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
If you would like to make a contribution to the phpMyAdmin Project, please
|
||||||
|
certify to the following:
|
||||||
|
***
|
||||||
|
phpMyAdmin Developer's Certificate of Origin. Version 1.0
|
||||||
|
|
||||||
|
By making a contribution to this project, I certify that:
|
||||||
|
|
||||||
|
(a) The contribution was created in whole or in part by me and I have the
|
||||||
|
right to submit it under the license of "GNU General Public License or
|
||||||
|
any later version" ("GPLv2-or-later"); or
|
||||||
|
|
||||||
|
(b) The contribution is based upon previous work that, to the best of my
|
||||||
|
knowledge, is covered under an appropriate open source license and I have
|
||||||
|
the right under that license to submit that work with modifications,
|
||||||
|
whether created in whole or in part by me, under GPLv2-or-later; or
|
||||||
|
|
||||||
|
(c) The contribution was provided directly to me by some other person who
|
||||||
|
certified (a) or (b) and I have not modified it.
|
||||||
|
|
||||||
|
(d) I understand and agree that this project and the contribution are public
|
||||||
|
and that a record of the contribution (including all metadata and
|
||||||
|
personal information I submit with it, including my sign-off) is
|
||||||
|
maintained indefinitely and may be redistributed consistent with
|
||||||
|
phpMyAdmin's policies and the requirements of the GPLv2-or-later where
|
||||||
|
they are relevant.
|
||||||
|
|
||||||
|
(e) I am granting this work to this project under the terms of the
|
||||||
|
GPLv2-or-later.
|
||||||
|
|
||||||
|
https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
|
||||||
|
***
|
||||||
|
***
|
||||||
|
And please confirm your certification to the above by adding the following
|
||||||
|
line to your patch:
|
||||||
|
|
||||||
|
Signed-off-by: Jane Developer <jane@example.org>
|
||||||
|
|
||||||
|
using your real name (sorry, no pseudonyms or anonymous contributions).
|
||||||
|
|
||||||
|
If you are a developer who is authorized to contribute to phpMyAdmin on
|
||||||
|
behalf of your employer, then please use your corporate email address in the
|
||||||
|
Signed-off-by tag. If not, then please use a personal email address.
|
||||||
|
|
339
.devilbox/www/htdocs/vendor/phpmyadmin/LICENSE
vendored
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
52
.devilbox/www/htdocs/vendor/phpmyadmin/README
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
phpMyAdmin - Readme
|
||||||
|
===================
|
||||||
|
|
||||||
|
Version 4.6.4
|
||||||
|
|
||||||
|
A web interface for MySQL and MariaDB.
|
||||||
|
|
||||||
|
https://www.phpmyadmin.net/
|
||||||
|
|
||||||
|
Summary
|
||||||
|
-------
|
||||||
|
|
||||||
|
phpMyAdmin is intended to handle the administration of MySQL over the web.
|
||||||
|
For a summary of features, list of requirements, and installation instructions,
|
||||||
|
please see the documentation in the ./doc/ folder or at https://docs.phpmyadmin.net/
|
||||||
|
|
||||||
|
Copyright
|
||||||
|
---------
|
||||||
|
|
||||||
|
Copyright © 1998 onwards -- the phpMyAdmin team
|
||||||
|
|
||||||
|
Certain libraries are copyrighted by their respective authors;
|
||||||
|
see the full copyright list for details.
|
||||||
|
|
||||||
|
For full copyright information, please see ./doc/copyright.rst
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License version 2, as published by the
|
||||||
|
Free Software Foundation.
|
||||||
|
|
||||||
|
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 <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Licensing of current contributions
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Beginning on 2013-12-01, new contributions to this codebase are all licensed
|
||||||
|
under terms compatible with GPLv2-or-later. phpMyAdmin is currently
|
||||||
|
transitioning older code to GPLv2-or-later, but work is not yet complete.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
------
|
||||||
|
|
||||||
|
The phpMyAdmin team
|
1
.devilbox/www/htdocs/vendor/phpmyadmin/RELEASE-DATE-4.6.4
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Tue Aug 16 20:58:45 UTC 2016
|
60
.devilbox/www/htdocs/vendor/phpmyadmin/browse_foreigners.php
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* display selection for relational field values
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/transformations.lib.php';
|
||||||
|
require_once 'libraries/browse_foreigners.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets globals from $_REQUEST
|
||||||
|
*/
|
||||||
|
$request_params = array(
|
||||||
|
'data',
|
||||||
|
'field'
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($request_params as $one_request_param) {
|
||||||
|
if (isset($_REQUEST[$one_request_param])) {
|
||||||
|
$GLOBALS[$one_request_param] = $_REQUEST[$one_request_param];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PMA\libraries\Util::checkParameters(array('db', 'table', 'field'));
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->getFooter()->setMinimal();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$header->disableMenuAndConsole();
|
||||||
|
$header->setBodyId('body_browse_foreigners');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the frame
|
||||||
|
*/
|
||||||
|
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
$foreigners = ($cfgRelation['relwork'] ? PMA_getForeigners($db, $table) : false);
|
||||||
|
$foreign_limit = PMA_getForeignLimit(
|
||||||
|
isset($_REQUEST['foreign_showAll']) ? $_REQUEST['foreign_showAll'] : null
|
||||||
|
);
|
||||||
|
|
||||||
|
$foreignData = PMA_getForeignData(
|
||||||
|
$foreigners, $_REQUEST['field'], true,
|
||||||
|
isset($_REQUEST['foreign_filter'])
|
||||||
|
? $_REQUEST['foreign_filter']
|
||||||
|
: '',
|
||||||
|
isset($foreign_limit) ? $foreign_limit : null
|
||||||
|
);
|
||||||
|
|
||||||
|
// HTML output
|
||||||
|
$html = PMA_getHtmlForRelationalFieldSelection(
|
||||||
|
$db, $table, $_REQUEST['field'], $foreignData,
|
||||||
|
isset($fieldkey) ? $fieldkey : null,
|
||||||
|
isset($data) ? $data : null
|
||||||
|
);
|
||||||
|
|
||||||
|
$response->addHtml($html);
|
171
.devilbox/www/htdocs/vendor/phpmyadmin/build.xml
vendored
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<project name="phpMyAdmin" default="build" basedir=".">
|
||||||
|
<property name="source" value="."/>
|
||||||
|
<property name="source_comma_sep" value="."/>
|
||||||
|
<property environment="env"/>
|
||||||
|
<property name="env.PHPUNIT_XML" value="phpunit.xml.dist"/>
|
||||||
|
<property name="env.PHPUNIT_XML_NOCOVERAGE" value="phpunit.xml.nocoverage"/>
|
||||||
|
<property name="env.PHPUNIT_XML_HHVM" value="phpunit.xml.hhvm"/>
|
||||||
|
<property name="env.PHPUNIT_ARGS" value=""/>
|
||||||
|
|
||||||
|
<target name="clean" description="Clean up and create artifact directories">
|
||||||
|
<delete dir="${basedir}/build/api"/>
|
||||||
|
<delete dir="${basedir}/build/code-browser"/>
|
||||||
|
<delete dir="${basedir}/build/coverage"/>
|
||||||
|
<delete dir="${basedir}/build/logs"/>
|
||||||
|
<delete dir="${basedir}/build/pdepend"/>
|
||||||
|
|
||||||
|
<mkdir dir="${basedir}/build/api"/>
|
||||||
|
<mkdir dir="${basedir}/build/code-browser"/>
|
||||||
|
<mkdir dir="${basedir}/build/coverage"/>
|
||||||
|
<mkdir dir="${basedir}/build/logs"/>
|
||||||
|
<mkdir dir="${basedir}/build/pdepend"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
|
||||||
|
<exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
|
||||||
|
<arg line="--configuration ${env.PHPUNIT_XML} ${env.PHPUNIT_ARGS}"/>
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpunit-nocoverage" description="Run unit tests using PHPUnit and generates junit.xml">
|
||||||
|
<exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
|
||||||
|
<arg line="--configuration ${env.PHPUNIT_XML_NOCOVERAGE} ${env.PHPUNIT_ARGS}"/>
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpunit-hhvm" description="Run unit tests using PHPUnit with HHVM specific config">
|
||||||
|
<exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
|
||||||
|
<arg line="--configuration ${env.PHPUNIT_XML_HHVM} ${env.PHPUNIT_ARGS}"/>
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
|
||||||
|
<exec executable="pdepend">
|
||||||
|
<arg line="'--jdepend-xml=${basedir}/build/logs/jdepend.xml'
|
||||||
|
'--jdepend-chart=${basedir}/build/pdepend/dependencies.svg'
|
||||||
|
'--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg'
|
||||||
|
${source_comma_sep}" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpmd" description="Generate pmd.xml using PHPMD">
|
||||||
|
<exec executable="phpmd">
|
||||||
|
<arg line="${source_comma_sep}
|
||||||
|
xml
|
||||||
|
codesize,design,naming,unusedcode
|
||||||
|
--exclude test,build,tcpdf,php-gettext,bfShapeFiles,phpseclib,recaptchalib.php,vendor,sql-parser
|
||||||
|
--reportfile '${basedir}/build/logs/pmd.xml'" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpcpd" description="Generate pmd-cpd.xml using PHPCPD">
|
||||||
|
<exec executable="phpcpd">
|
||||||
|
<arg line="--log-pmd '${basedir}/build/logs/pmd-cpd.xml'
|
||||||
|
--exclude test
|
||||||
|
--exclude build
|
||||||
|
--exclude vendor
|
||||||
|
--exclude libraries/tcpdf
|
||||||
|
--exclude libraries/php-gettext
|
||||||
|
--exclude libraries/bfShapeFiles
|
||||||
|
--exclude libraries/phpseclib
|
||||||
|
--exclude libraries/plugins/auth/recaptcha/recaptchalib.php
|
||||||
|
--exclude libraries/sql-parser
|
||||||
|
${source}" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phploc" description="Generate phploc.csv">
|
||||||
|
<exec executable="phploc">
|
||||||
|
<arg line="--log-csv '${basedir}/build/logs/phploc.csv'
|
||||||
|
--exclude test
|
||||||
|
--exclude build
|
||||||
|
--exclude vendor
|
||||||
|
--exclude libraries/tcpdf
|
||||||
|
--exclude libraries/php-gettext
|
||||||
|
--exclude libraries/bfShapeFiles
|
||||||
|
--exclude libraries/phpseclib
|
||||||
|
--exclude libraries/plugins/auth/recaptcha/recaptchalib.php
|
||||||
|
--exclude libraries/sql-parser
|
||||||
|
${source}" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpcs-config" description="PHPCS configuration tweaking">
|
||||||
|
<exec executable="phpcs">
|
||||||
|
<arg line="--config-set installed_paths ${basedir}/vendor/phpmyadmin/coding-standard" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer excluding third party libraries" depends="phpcs-config">
|
||||||
|
<exec executable="phpcs">
|
||||||
|
<arg line="
|
||||||
|
--ignore=*/php-gettext/*,*/vendor/*,*/tcpdf/*,*/canvg/*,*/codemirror/*,*/openlayers/*,*/jquery/*,*/jqplot/*,*/build/*,*/bfShapeFiles/*,*/phpseclib/*,*/recaptcha/*,*/sql-parser/*
|
||||||
|
--report=checkstyle
|
||||||
|
--extensions=php
|
||||||
|
--report-file='${basedir}/build/logs/checkstyle.xml'
|
||||||
|
--standard=PMAStandard
|
||||||
|
${source}" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpdoc" description="Generate API documentation using PHPDocumentor">
|
||||||
|
<exec executable="phpdoc">
|
||||||
|
<arg line="-d ${source} -t '${basedir}/build/api'" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
|
||||||
|
<exec executable="phpcb">
|
||||||
|
<arg line="--log '${basedir}/build/logs'
|
||||||
|
--source '${source}'
|
||||||
|
--output '${basedir}/build/code-browser'" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="jshint" description="Javascript checks">
|
||||||
|
<apply executable="jshint" output="${basedir}/build/logs/jshint-jslint.xml" parallel="true">
|
||||||
|
<arg line="--config ./.jshintrc --reporter=jslint" />
|
||||||
|
<fileset dir="${basedir}">
|
||||||
|
<include name="js/pmd/*.js" />
|
||||||
|
<include name="js/*.js" />
|
||||||
|
<include name="setup/*.js" />
|
||||||
|
</fileset>
|
||||||
|
</apply>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="jshint-checkstyle" description="Javascript checks">
|
||||||
|
<apply executable="jshint" output="${basedir}/build/logs/jshint-checkstyle.xml" parallel="true">
|
||||||
|
<arg line="--config ./.jshintrc --reporter=checkstyle" />
|
||||||
|
<fileset dir="${basedir}">
|
||||||
|
<include name="js/pmd/*.js" />
|
||||||
|
<include name="js/*.js" />
|
||||||
|
<include name="setup/*.js" />
|
||||||
|
</fileset>
|
||||||
|
</apply>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="locales" description="Generate locales">
|
||||||
|
<exec executable="./scripts/generate-mo" failonerror="true">
|
||||||
|
<arg line="--quiet" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="lint" description="Perform syntax check of sourcecode files">
|
||||||
|
<apply executable="php" failonerror="true">
|
||||||
|
<arg value="-l" />
|
||||||
|
|
||||||
|
<fileset dir="${basedir}">
|
||||||
|
<include name="libraries/**/*.php" />
|
||||||
|
<include name="templates/**/*.phtml" />
|
||||||
|
<include name="setup/**/*.php" />
|
||||||
|
<include name="test/**/*.php" />
|
||||||
|
<include name="*.php" />
|
||||||
|
<modified />
|
||||||
|
</fileset>
|
||||||
|
</apply>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="build" depends="clean,phpunit,pdepend,phpmd,phpcpd,phpcs,phpdoc,phploc,phpcb,lint,jshint,locales"/>
|
||||||
|
</project>
|
162
.devilbox/www/htdocs/vendor/phpmyadmin/changelog.php
vendored
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Simple script to set correct charset for changelog
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets core libraries and defines some variables
|
||||||
|
*/
|
||||||
|
require 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->disable();
|
||||||
|
$response->getHeader()->sendHttpHeaders();
|
||||||
|
|
||||||
|
$filename = CHANGELOG_FILE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read changelog.
|
||||||
|
*/
|
||||||
|
// Check if the file is available, some distributions remove these.
|
||||||
|
if (@is_readable($filename)) {
|
||||||
|
|
||||||
|
// Test if the if is in a compressed format
|
||||||
|
if (substr($filename, -3) == '.gz') {
|
||||||
|
ob_start();
|
||||||
|
readgzfile($filename);
|
||||||
|
$changelog = ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
} else {
|
||||||
|
$changelog = file_get_contents($filename);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
printf(
|
||||||
|
__(
|
||||||
|
'The %s file is not available on this system, please visit '
|
||||||
|
. 'www.phpmyadmin.net for more information.'
|
||||||
|
),
|
||||||
|
$filename
|
||||||
|
);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whole changelog in variable.
|
||||||
|
*/
|
||||||
|
$changelog = htmlspecialchars($changelog);
|
||||||
|
|
||||||
|
$tracker_url = 'https://sourceforge.net/support/tracker.php?aid=\\1';
|
||||||
|
$tracker_url_bug = 'https://sourceforge.net/p/phpmyadmin/bugs/\\1/';
|
||||||
|
$tracker_url_rfe = 'https://sourceforge.net/p/phpmyadmin/feature-requests/\\1/';
|
||||||
|
$tracker_url_patch = 'https://sourceforge.net/p/phpmyadmin/patches/\\1/';
|
||||||
|
$github_url = 'https://github.com/phpmyadmin/phpmyadmin/';
|
||||||
|
$faq_url = 'https://docs.phpmyadmin.net/en/latest/faq.html';
|
||||||
|
|
||||||
|
$replaces = array(
|
||||||
|
'@(https?://[./a-zA-Z0-9.-_-]*[/a-zA-Z0-9_])@'
|
||||||
|
=> '<a href="url.php?url=\\1">\\1</a>',
|
||||||
|
|
||||||
|
// sourceforge users
|
||||||
|
'/([0-9]{4}-[0-9]{2}-[0-9]{2}) (.+[^ ]) +<(.*)@users.sourceforge.net>/i'
|
||||||
|
=> '\\1 <a href="url.php?url=https://sourceforge.net/users/\\3/">\\2</a>',
|
||||||
|
'/thanks to ([^\(\r\n]+) \(([-\w]+)\)/i'
|
||||||
|
=> 'thanks to <a href="url.php?url=https://sourceforge.net/users/\\2/">\\1</a>',
|
||||||
|
'/thanks to ([^\(\r\n]+) -\s+([-\w]+)/i'
|
||||||
|
=> 'thanks to <a href="url.php?url=https://sourceforge.net/users/\\2/">\\1</a>',
|
||||||
|
|
||||||
|
// mail address
|
||||||
|
'/([0-9]{4}-[0-9]{2}-[0-9]{2}) (.+[^ ]) +<(.*@.*)>/i'
|
||||||
|
=> '\\1 <a href="mailto:\\3">\\2</a>',
|
||||||
|
|
||||||
|
// linking patches
|
||||||
|
'/patch\s*#?([0-9]{6,})/i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url . '">patch #\\1</a>',
|
||||||
|
|
||||||
|
// linking RFE
|
||||||
|
'/(?:rfe|feature)\s*#?([0-9]{6,})/i'
|
||||||
|
=> '<a href="url.php?url=https://sourceforge.net/support/tracker.php?aid=\\1">RFE #\\1</a>',
|
||||||
|
|
||||||
|
// linking files
|
||||||
|
'/(\s+)([\\/a-z_0-9\.]+\.(?:php3?|html|pl|js|sh))/i'
|
||||||
|
=> '\\1<a href="url.php?url=' . $github_url . 'commits/HEAD/\\2">\\2</a>',
|
||||||
|
|
||||||
|
// FAQ entries
|
||||||
|
'/FAQ ([0-9]+)\.([0-9a-z]+)/i'
|
||||||
|
=> '<a href="url.php?url=' . $faq_url . '#faq\\1-\\2">FAQ \\1.\\2</a>',
|
||||||
|
|
||||||
|
// linking bugs
|
||||||
|
'/bug\s*#?([0-9]{6,})/i'
|
||||||
|
=> '<a href="url.php?url=https://sourceforge.net/support/tracker.php?aid=\\1">bug #\\1</a>',
|
||||||
|
|
||||||
|
// all other 6+ digit numbers are treated as bugs
|
||||||
|
'/(?<!bug|RFE|patch) #?([0-9]{6,})/i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url . '">bug #\\1</a>',
|
||||||
|
|
||||||
|
// GitHub issues
|
||||||
|
'/issue\s*#?([0-9]{4,5}) /i'
|
||||||
|
=> '<a href="url.php?url=' . $github_url . 'issues/\\1">issue #\\1</a> ',
|
||||||
|
|
||||||
|
// transitioned SF.net project bug/rfe/patch links
|
||||||
|
// by the time we reach 6-digit numbers, we can probably retire the above links
|
||||||
|
'/patch\s*#?([0-9]{4,5}) /i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url_patch . '">patch #\\1</a> ',
|
||||||
|
'/(?:rfe|feature)\s*#?([0-9]{4,5}) /i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url_rfe . '">RFE #\\1</a> ',
|
||||||
|
'/bug\s*#?([0-9]{4,5}) /i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url_bug . '">bug #\\1</a> ',
|
||||||
|
'/(?<!bug|RFE|patch) #?([0-9]{4,5}) /i'
|
||||||
|
=> '<a href="url.php?url=' . $tracker_url_bug . '">bug #\\1</a> ',
|
||||||
|
|
||||||
|
// CVE/CAN entries
|
||||||
|
'/((CAN|CVE)-[0-9]+-[0-9]+)/'
|
||||||
|
=> '<a href="url.php?url=https://cve.mitre.org/cgi-bin/cvename.cgi?name=\\1">\\1</a>',
|
||||||
|
|
||||||
|
// PMASAentries
|
||||||
|
'/(PMASA-[0-9]+-[0-9]+)/'
|
||||||
|
=> '<a href="url.php?url=https://www.phpmyadmin.net/security/\\1/">\\1</a>',
|
||||||
|
|
||||||
|
// Highlight releases (with links)
|
||||||
|
'/([0-9]+)\.([0-9]+)\.([0-9]+)\.0 (\([0-9-]+\))/'
|
||||||
|
=> '<a name="\\1_\\2_\\3"></a>'
|
||||||
|
. '<a href="url.php?url=' . $github_url . 'commits/RELEASE_\\1_\\2_\\3">'
|
||||||
|
. '\\1.\\2.\\3.0 \\4</a>',
|
||||||
|
'/([0-9]+)\.([0-9]+)\.([0-9]+)\.([1-9][0-9]*) (\([0-9-]+\))/'
|
||||||
|
=> '<a name="\\1_\\2_\\3_\\4"></a>'
|
||||||
|
. '<a href="url.php?url=' . $github_url . 'commits/RELEASE_\\1_\\2_\\3_\\4">'
|
||||||
|
. '\\1.\\2.\\3.\\4 \\5</a>',
|
||||||
|
|
||||||
|
// Highlight releases (not linkable)
|
||||||
|
'/( ### )(.*)/'
|
||||||
|
=> '\\1<b>\\2</b>',
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
?>
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<link rel="icon" href="favicon.ico" type="image/x-icon" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||||
|
<title>phpMyAdmin - ChangeLog</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>phpMyAdmin - ChangeLog</h1>
|
||||||
|
<?php
|
||||||
|
echo '<pre>';
|
||||||
|
echo preg_replace(array_keys($replaces), $replaces, $changelog);
|
||||||
|
echo '</pre>';
|
||||||
|
?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var links = document.getElementsByTagName("a");
|
||||||
|
for(var i = 0; i < links.length; i++) {
|
||||||
|
links[i].target = "_blank";
|
||||||
|
links[i].rel = "noopener noreferrer";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
32
.devilbox/www/htdocs/vendor/phpmyadmin/chk_rel.php
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Displays status of phpMyAdmin configuration storage
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
// If request for creating the pmadb
|
||||||
|
if (isset($_REQUEST['create_pmadb'])) {
|
||||||
|
if (PMA_createPMADatabase()) {
|
||||||
|
PMA_fixPMATables('phpmyadmin');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If request for creating all PMA tables.
|
||||||
|
if (isset($_REQUEST['fixall_pmadb'])) {
|
||||||
|
PMA_fixPMATables($GLOBALS['db']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
// If request for creating missing PMA tables.
|
||||||
|
if (isset($_REQUEST['fix_pmadb'])) {
|
||||||
|
PMA_fixPMATables($cfgRelation['db']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getRelationsParamDiagnostic($cfgRelation)
|
||||||
|
);
|
40
.devilbox/www/htdocs/vendor/phpmyadmin/composer.json
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "phpmyadmin/phpmyadmin",
|
||||||
|
"type": "application",
|
||||||
|
"description": "MySQL web administration tool",
|
||||||
|
"keywords": ["phpmyadmin","mysql","web"],
|
||||||
|
"homepage": "https://www.phpmyadmin.net/",
|
||||||
|
"license": "GPL-2.0+",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "The phpMyAdmin Team",
|
||||||
|
"email": "developers@phpmyadmin.net",
|
||||||
|
"homepage": "https://www.phpmyadmin.net/team/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"forum": "https://www.phpmyadmin.net/support/",
|
||||||
|
"issues": "https://github.com/phpmyadmin/phpmyadmin/issues",
|
||||||
|
"wiki": "https://wiki.phpmyadmin.net/",
|
||||||
|
"docs": "https://docs.phpmyadmin.net/",
|
||||||
|
"source": "https://github.com/phpmyadmin/phpmyadmin"
|
||||||
|
},
|
||||||
|
"non-feature-branches": ["RELEASE_.*"],
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"satooshi/php-coveralls": "~0.6",
|
||||||
|
"phpunit/phpunit": "~4.1",
|
||||||
|
"codacy/coverage": "dev-master",
|
||||||
|
"phpunit/phpunit-selenium": "~1.2",
|
||||||
|
"squizlabs/php_codesniffer": "2.*",
|
||||||
|
"phpmyadmin/coding-standard": ">=0.1.0"
|
||||||
|
},
|
||||||
|
"repositories": [
|
||||||
|
{
|
||||||
|
"type": "composer",
|
||||||
|
"url": "https://www.phpmyadmin.net"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
155
.devilbox/www/htdocs/vendor/phpmyadmin/config.inc.php
vendored
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* phpMyAdmin sample configuration, you can use it as base for
|
||||||
|
* manual configuration. For easier setup you can use setup/
|
||||||
|
*
|
||||||
|
* All directives are explained in documentation in the doc/ folder
|
||||||
|
* or at <https://docs.phpmyadmin.net/>.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is needed for cookie based authentication to encrypt password in
|
||||||
|
* cookie. Needs to be 32 chars long.
|
||||||
|
*/
|
||||||
|
$cfg['blowfish_secret'] = 'GOgot69FCjkfuDU%^8p_h'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Servers configuration
|
||||||
|
*/
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First server
|
||||||
|
*/
|
||||||
|
$i++;
|
||||||
|
/* Authentication type */
|
||||||
|
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
||||||
|
/* Server parameters */
|
||||||
|
$cfg['Servers'][$i]['host'] = 'localhost';
|
||||||
|
$cfg['Servers'][$i]['connect_type'] = 'tcp';
|
||||||
|
$cfg['Servers'][$i]['compress'] = false;
|
||||||
|
$cfg['Servers'][$i]['AllowNoPassword'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phpMyAdmin configuration storage settings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* User used to manipulate with storage */
|
||||||
|
// $cfg['Servers'][$i]['controlhost'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controlport'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controluser'] = 'pma';
|
||||||
|
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
|
||||||
|
|
||||||
|
/* Storage database and tables */
|
||||||
|
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
|
||||||
|
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
|
||||||
|
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
|
||||||
|
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
|
||||||
|
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
|
||||||
|
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
|
||||||
|
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
|
||||||
|
// $cfg['Servers'][$i]['history'] = 'pma__history';
|
||||||
|
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
|
||||||
|
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
|
||||||
|
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
|
||||||
|
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
|
||||||
|
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
|
||||||
|
// $cfg['Servers'][$i]['users'] = 'pma__users';
|
||||||
|
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
|
||||||
|
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
|
||||||
|
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
|
||||||
|
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
|
||||||
|
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
|
||||||
|
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* End of servers configuration
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directories for saving/loading files from server
|
||||||
|
*/
|
||||||
|
$cfg['UploadDir'] = '';
|
||||||
|
$cfg['SaveDir'] = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to display icons or text or both icons and text in table row
|
||||||
|
* action segment. Value can be either of 'icons', 'text' or 'both'.
|
||||||
|
* default = 'both'
|
||||||
|
*/
|
||||||
|
//$cfg['RowActionType'] = 'icons';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines whether a user should be displayed a "show all (records)"
|
||||||
|
* button in browse mode or not.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['ShowAll'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of rows displayed when browsing a result set. If the result
|
||||||
|
* set contains more rows, "Previous" and "Next".
|
||||||
|
* Possible values: 25, 50, 100, 250, 500
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$cfg['MaxRows'] = 50;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disallow editing of binary fields
|
||||||
|
* valid values are:
|
||||||
|
* false allow editing
|
||||||
|
* 'blob' allow editing except for BLOB fields
|
||||||
|
* 'noblob' disallow editing except for BLOB fields
|
||||||
|
* 'all' disallow editing
|
||||||
|
* default = 'blob'
|
||||||
|
*/
|
||||||
|
//$cfg['ProtectBinary'] = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default language to use, if not browser-defined or user-defined
|
||||||
|
* (you find all languages in the locale folder)
|
||||||
|
* uncomment the desired line:
|
||||||
|
* default = 'en'
|
||||||
|
*/
|
||||||
|
//$cfg['DefaultLang'] = 'en';
|
||||||
|
//$cfg['DefaultLang'] = 'de';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* How many columns should be used for table display of a database?
|
||||||
|
* (a value larger than 1 results in some information being hidden)
|
||||||
|
* default = 1
|
||||||
|
*/
|
||||||
|
//$cfg['PropertiesNumColumns'] = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to true if you want DB-based query history.If false, this utilizes
|
||||||
|
* JS-routines to display query history (lost by window close)
|
||||||
|
*
|
||||||
|
* This requires configuration storage enabled, see above.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryDB'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When using DB-based query history, how many entries should be kept?
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryMax'] = 100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not to query the user before sending the error report to
|
||||||
|
* the phpMyAdmin team when a JavaScript error occurs
|
||||||
|
*
|
||||||
|
* Available options
|
||||||
|
* ('ask' | 'always' | 'never')
|
||||||
|
* default = 'ask'
|
||||||
|
*/
|
||||||
|
//$cfg['SendErrorReports'] = 'always';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* You can find more configuration options in the documentation
|
||||||
|
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
|
||||||
|
*/
|
155
.devilbox/www/htdocs/vendor/phpmyadmin/config.sample.inc.php
vendored
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* phpMyAdmin sample configuration, you can use it as base for
|
||||||
|
* manual configuration. For easier setup you can use setup/
|
||||||
|
*
|
||||||
|
* All directives are explained in documentation in the doc/ folder
|
||||||
|
* or at <https://docs.phpmyadmin.net/>.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is needed for cookie based authentication to encrypt password in
|
||||||
|
* cookie. Needs to be 32 chars long.
|
||||||
|
*/
|
||||||
|
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Servers configuration
|
||||||
|
*/
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First server
|
||||||
|
*/
|
||||||
|
$i++;
|
||||||
|
/* Authentication type */
|
||||||
|
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
||||||
|
/* Server parameters */
|
||||||
|
$cfg['Servers'][$i]['host'] = 'localhost';
|
||||||
|
$cfg['Servers'][$i]['connect_type'] = 'tcp';
|
||||||
|
$cfg['Servers'][$i]['compress'] = false;
|
||||||
|
$cfg['Servers'][$i]['AllowNoPassword'] = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phpMyAdmin configuration storage settings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* User used to manipulate with storage */
|
||||||
|
// $cfg['Servers'][$i]['controlhost'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controlport'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controluser'] = 'pma';
|
||||||
|
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
|
||||||
|
|
||||||
|
/* Storage database and tables */
|
||||||
|
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
|
||||||
|
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
|
||||||
|
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
|
||||||
|
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
|
||||||
|
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
|
||||||
|
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
|
||||||
|
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
|
||||||
|
// $cfg['Servers'][$i]['history'] = 'pma__history';
|
||||||
|
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
|
||||||
|
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
|
||||||
|
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
|
||||||
|
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
|
||||||
|
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
|
||||||
|
// $cfg['Servers'][$i]['users'] = 'pma__users';
|
||||||
|
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
|
||||||
|
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
|
||||||
|
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
|
||||||
|
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
|
||||||
|
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
|
||||||
|
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* End of servers configuration
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directories for saving/loading files from server
|
||||||
|
*/
|
||||||
|
$cfg['UploadDir'] = '';
|
||||||
|
$cfg['SaveDir'] = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to display icons or text or both icons and text in table row
|
||||||
|
* action segment. Value can be either of 'icons', 'text' or 'both'.
|
||||||
|
* default = 'both'
|
||||||
|
*/
|
||||||
|
//$cfg['RowActionType'] = 'icons';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines whether a user should be displayed a "show all (records)"
|
||||||
|
* button in browse mode or not.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['ShowAll'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of rows displayed when browsing a result set. If the result
|
||||||
|
* set contains more rows, "Previous" and "Next".
|
||||||
|
* Possible values: 25, 50, 100, 250, 500
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$cfg['MaxRows'] = 50;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disallow editing of binary fields
|
||||||
|
* valid values are:
|
||||||
|
* false allow editing
|
||||||
|
* 'blob' allow editing except for BLOB fields
|
||||||
|
* 'noblob' disallow editing except for BLOB fields
|
||||||
|
* 'all' disallow editing
|
||||||
|
* default = 'blob'
|
||||||
|
*/
|
||||||
|
//$cfg['ProtectBinary'] = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default language to use, if not browser-defined or user-defined
|
||||||
|
* (you find all languages in the locale folder)
|
||||||
|
* uncomment the desired line:
|
||||||
|
* default = 'en'
|
||||||
|
*/
|
||||||
|
//$cfg['DefaultLang'] = 'en';
|
||||||
|
//$cfg['DefaultLang'] = 'de';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* How many columns should be used for table display of a database?
|
||||||
|
* (a value larger than 1 results in some information being hidden)
|
||||||
|
* default = 1
|
||||||
|
*/
|
||||||
|
//$cfg['PropertiesNumColumns'] = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to true if you want DB-based query history.If false, this utilizes
|
||||||
|
* JS-routines to display query history (lost by window close)
|
||||||
|
*
|
||||||
|
* This requires configuration storage enabled, see above.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryDB'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When using DB-based query history, how many entries should be kept?
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryMax'] = 100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not to query the user before sending the error report to
|
||||||
|
* the phpMyAdmin team when a JavaScript error occurs
|
||||||
|
*
|
||||||
|
* Available options
|
||||||
|
* ('ask' | 'always' | 'never')
|
||||||
|
* default = 'ask'
|
||||||
|
*/
|
||||||
|
//$cfg['SendErrorReports'] = 'always';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* You can find more configuration options in the documentation
|
||||||
|
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
|
||||||
|
*/
|
153
.devilbox/www/htdocs/vendor/phpmyadmin/db_central_columns.php
vendored
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Central Columns view/edit
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* Gets some core libraries
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/central_columns.lib.php';
|
||||||
|
|
||||||
|
if (isset($_POST['edit_save']) || isset($_POST['add_new_column'])) {
|
||||||
|
$col_name = $_POST['col_name'];
|
||||||
|
if (isset($_POST['edit_save'])) {
|
||||||
|
$orig_col_name = $_POST['orig_col_name'];
|
||||||
|
}
|
||||||
|
$col_default = $_POST['col_default'];
|
||||||
|
if ($col_default == 'NONE' && $_POST['col_default_sel'] != 'USER_DEFINED') {
|
||||||
|
$col_default = "";
|
||||||
|
}
|
||||||
|
$col_extra = isset($_POST['col_extra']) ? $_POST['col_extra'] : '';
|
||||||
|
$col_isNull = isset($_POST['col_isNull'])?1:0;
|
||||||
|
$col_length = $_POST['col_length'];
|
||||||
|
$col_attribute = $_POST['col_attribute'];
|
||||||
|
$col_type = $_POST['col_type'];
|
||||||
|
$collation = $_POST['collation'];
|
||||||
|
if (isset($orig_col_name) && $orig_col_name) {
|
||||||
|
echo PMA_updateOneColumn(
|
||||||
|
$db, $orig_col_name, $col_name, $col_type, $col_attribute,
|
||||||
|
$col_length, $col_isNull, $collation, $col_extra, $col_default
|
||||||
|
);
|
||||||
|
exit;
|
||||||
|
} else {
|
||||||
|
$tmp_msg = PMA_updateOneColumn(
|
||||||
|
$db, "", $col_name, $col_type, $col_attribute,
|
||||||
|
$col_length, $col_isNull, $collation, $col_extra, $col_default
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($_POST['populateColumns'])) {
|
||||||
|
$selected_tbl = $_POST['selectedTable'];
|
||||||
|
echo PMA_getHTMLforColumnDropdown($db, $selected_tbl);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (isset($_POST['getColumnList'])) {
|
||||||
|
echo PMA_getCentralColumnsListRaw($db, $_POST['cur_table']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (isset($_POST['add_column'])) {
|
||||||
|
$selected_col = array();
|
||||||
|
$selected_tbl = $_POST['table-select'];
|
||||||
|
$selected_col[] = $_POST['column-select'];
|
||||||
|
$tmp_msg = PMA_syncUniqueColumns($selected_col, false, $selected_tbl);
|
||||||
|
}
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('jquery/jquery.uitablefilter.js');
|
||||||
|
$scripts->addFile('jquery/jquery.tablesorter.js');
|
||||||
|
$scripts->addFile('db_central_columns.js');
|
||||||
|
$cfgCentralColumns = PMA_centralColumnsGetParams();
|
||||||
|
$pmadb = $cfgCentralColumns['db'];
|
||||||
|
$pmatable = $cfgCentralColumns['table'];
|
||||||
|
$max_rows = intval($GLOBALS['cfg']['MaxRows']);
|
||||||
|
|
||||||
|
if (isset($_REQUEST['edit_central_columns_page'])) {
|
||||||
|
$selected_fld = $_REQUEST['selected_fld'];
|
||||||
|
$selected_db = $_REQUEST['db'];
|
||||||
|
$edit_central_column_page = PMA_getHTMLforEditingPage(
|
||||||
|
$selected_fld, $selected_db
|
||||||
|
);
|
||||||
|
$response->addHTML($edit_central_column_page);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (isset($_POST['multi_edit_central_column_save'])) {
|
||||||
|
$message = PMA_updateMultipleColumn();
|
||||||
|
if (!is_bool($message)) {
|
||||||
|
$response->setRequestStatus(false);
|
||||||
|
$response->addJSON('message', $message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($_POST['delete_save'])) {
|
||||||
|
$col_name = array();
|
||||||
|
parse_str($_POST['col_name'], $col_name);
|
||||||
|
$tmp_msg = PMA_deleteColumnsFromList($col_name['selected_fld'], false);
|
||||||
|
}
|
||||||
|
if (isset($_REQUEST['total_rows']) && $_REQUEST['total_rows']) {
|
||||||
|
$total_rows = $_REQUEST['total_rows'];
|
||||||
|
} else {
|
||||||
|
$total_rows = PMA_getCentralColumnsCount($db);
|
||||||
|
}
|
||||||
|
if (PMA_isValid($_REQUEST['pos'], 'integer')) {
|
||||||
|
$pos = intval($_REQUEST['pos']);
|
||||||
|
} else {
|
||||||
|
$pos = 0;
|
||||||
|
}
|
||||||
|
$addNewColumn = PMA_getHTMLforAddNewColumn($db);
|
||||||
|
$response->addHTML($addNewColumn);
|
||||||
|
if ($total_rows <= 0) {
|
||||||
|
$response->addHTML(
|
||||||
|
'<fieldset>' . __(
|
||||||
|
'The central list of columns for the current database is empty.'
|
||||||
|
) . '</fieldset>'
|
||||||
|
);
|
||||||
|
$columnAdd = PMA_getHTMLforAddCentralColumn($total_rows, $pos, $db);
|
||||||
|
$response->addHTML($columnAdd);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$table_navigation_html = PMA_getHTMLforTableNavigation($total_rows, $pos, $db);
|
||||||
|
$response->addHTML($table_navigation_html);
|
||||||
|
$columnAdd = PMA_getHTMLforAddCentralColumn($total_rows, $pos, $db);
|
||||||
|
$response->addHTML($columnAdd);
|
||||||
|
$deleteRowForm = '<form method="post" id="del_form" action="db_central_columns.php">'
|
||||||
|
. PMA_URL_getHiddenInputs(
|
||||||
|
$db
|
||||||
|
)
|
||||||
|
. '<input id="del_col_name" type="hidden" name="col_name" value="">'
|
||||||
|
. '<input type="hidden" name="pos" value="' . $pos . '">'
|
||||||
|
. '<input type="hidden" name="delete_save" value="delete"></form>';
|
||||||
|
$response->addHTML($deleteRowForm);
|
||||||
|
$table_struct = '<div id="tableslistcontainer">'
|
||||||
|
. '<form name="tableslistcontainer">'
|
||||||
|
. '<table id="table_columns" class="tablesorter" '
|
||||||
|
. 'style="min-width:100%" class="data">';
|
||||||
|
$response->addHTML($table_struct);
|
||||||
|
$tableheader = PMA_getCentralColumnsTableHeader(
|
||||||
|
'column_heading', __('Click to sort.'), 2
|
||||||
|
);
|
||||||
|
$response->addHTML($tableheader);
|
||||||
|
$result = PMA_getColumnsList($db, $pos, $max_rows);
|
||||||
|
$odd_row = true;
|
||||||
|
$row_num = 0;
|
||||||
|
foreach ($result as $row) {
|
||||||
|
$tableHtmlRow = PMA_getHTMLforCentralColumnsTableRow(
|
||||||
|
$row, $odd_row, $row_num, $db
|
||||||
|
);
|
||||||
|
$response->addHTML($tableHtmlRow);
|
||||||
|
$odd_row = !$odd_row;
|
||||||
|
$row_num++;
|
||||||
|
}
|
||||||
|
$response->addHTML('</table>');
|
||||||
|
$tablefooter = PMA_getCentralColumnsTableFooter($pmaThemeImage, $text_dir);
|
||||||
|
$response->addHTML($tablefooter);
|
||||||
|
$response->addHTML('</form></div>');
|
||||||
|
$message = PMA\libraries\Message::success(
|
||||||
|
sprintf(__('Showing rows %1$s - %2$s.'), ($pos + 1), ($pos + count($result)))
|
||||||
|
);
|
||||||
|
if (isset($tmp_msg) && $tmp_msg !== true) {
|
||||||
|
$message = $tmp_msg;
|
||||||
|
}
|
214
.devilbox/www/htdocs/vendor/phpmyadmin/db_datadict.php
vendored
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Renders data dictionary
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the variables sent or posted to this script, then displays headers
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
if (! isset($selected_tbl)) {
|
||||||
|
include 'libraries/db_common.inc.php';
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$header->enablePrintView();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the relations settings
|
||||||
|
*/
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
|
||||||
|
require_once 'libraries/transformations.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check parameters
|
||||||
|
*/
|
||||||
|
PMA\libraries\Util::checkParameters(array('db'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the url to return to in case of error in a sql statement
|
||||||
|
*/
|
||||||
|
$err_url = 'db_sql.php' . PMA_URL_getCommon(array('db' => $db));
|
||||||
|
|
||||||
|
if ($cfgRelation['commwork']) {
|
||||||
|
$comment = PMA_getDbComment($db);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays DB comment
|
||||||
|
*/
|
||||||
|
if ($comment) {
|
||||||
|
echo '<p>' , __('Database comment')
|
||||||
|
, '<br /><i>' , htmlspecialchars($comment) , '</i></p>';
|
||||||
|
} // end if
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Selects the database and gets tables names
|
||||||
|
*/
|
||||||
|
$GLOBALS['dbi']->selectDb($db);
|
||||||
|
$tables = $GLOBALS['dbi']->getTables($db);
|
||||||
|
|
||||||
|
$count = 0;
|
||||||
|
foreach ($tables as $table) {
|
||||||
|
$comments = PMA_getComments($db, $table);
|
||||||
|
|
||||||
|
echo '<div>' , "\n";
|
||||||
|
|
||||||
|
echo '<h2>' , htmlspecialchars($table) , '</h2>' , "\n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets table information
|
||||||
|
*/
|
||||||
|
$show_comment = $GLOBALS['dbi']->getTable($db, $table)
|
||||||
|
->getStatusInfo('TABLE_COMMENT');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets table keys and retains them
|
||||||
|
*/
|
||||||
|
$GLOBALS['dbi']->selectDb($db);
|
||||||
|
$indexes = $GLOBALS['dbi']->getTableIndexes($db, $table);
|
||||||
|
list($primary, $pk_array, $indexes_info, $indexes_data)
|
||||||
|
= PMA\libraries\Util::processIndexData($indexes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets columns properties
|
||||||
|
*/
|
||||||
|
$columns = $GLOBALS['dbi']->getColumns($db, $table);
|
||||||
|
|
||||||
|
// Check if we can use Relations
|
||||||
|
list($res_rel, $have_rel) = PMA_getRelationsAndStatus(
|
||||||
|
! empty($cfgRelation['relation']), $db, $table
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the comments of the table if MySQL >= 3.23
|
||||||
|
*/
|
||||||
|
if (!empty($show_comment)) {
|
||||||
|
echo __('Table comments:') , ' ';
|
||||||
|
echo htmlspecialchars($show_comment) , '<br /><br />';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the table structure
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo '<table width="100%" class="print">';
|
||||||
|
echo '<tr><th width="50">' , __('Column') , '</th>';
|
||||||
|
echo '<th width="80">' , __('Type') , '</th>';
|
||||||
|
echo '<th width="40">' , __('Null') , '</th>';
|
||||||
|
echo '<th width="70">' , __('Default') , '</th>';
|
||||||
|
if ($have_rel) {
|
||||||
|
echo ' <th>' , __('Links to') , '</th>' , "\n";
|
||||||
|
}
|
||||||
|
echo ' <th>' , __('Comments') , '</th>' , "\n";
|
||||||
|
if ($cfgRelation['mimework']) {
|
||||||
|
echo ' <th>MIME</th>' , "\n";
|
||||||
|
}
|
||||||
|
echo '</tr>';
|
||||||
|
$odd_row = true;
|
||||||
|
foreach ($columns as $row) {
|
||||||
|
|
||||||
|
if ($row['Null'] == '') {
|
||||||
|
$row['Null'] = 'NO';
|
||||||
|
}
|
||||||
|
$extracted_columnspec
|
||||||
|
= PMA\libraries\Util::extractColumnSpec($row['Type']);
|
||||||
|
|
||||||
|
// reformat mysql query output
|
||||||
|
// set or enum types: slashes single quotes inside options
|
||||||
|
|
||||||
|
$type = htmlspecialchars($extracted_columnspec['print_type']);
|
||||||
|
$attribute = $extracted_columnspec['attribute'];
|
||||||
|
if (! isset($row['Default'])) {
|
||||||
|
if ($row['Null'] != 'NO') {
|
||||||
|
$row['Default'] = '<i>NULL</i>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$row['Default'] = htmlspecialchars($row['Default']);
|
||||||
|
}
|
||||||
|
$column_name = $row['Field'];
|
||||||
|
|
||||||
|
echo '<tr class="';
|
||||||
|
echo $odd_row ? 'odd' : 'even'; $odd_row = ! $odd_row;
|
||||||
|
echo '">';
|
||||||
|
echo '<td class="nowrap">';
|
||||||
|
echo htmlspecialchars($column_name);
|
||||||
|
|
||||||
|
if (isset($pk_array[$row['Field']])) {
|
||||||
|
echo ' <em>(' , __('Primary') , ')</em>';
|
||||||
|
}
|
||||||
|
echo '</td>';
|
||||||
|
echo '<td'
|
||||||
|
, PMA\libraries\Util::getClassForType(
|
||||||
|
$extracted_columnspec['type']
|
||||||
|
)
|
||||||
|
, ' lang="en" dir="ltr">' , $type , '</td>';
|
||||||
|
|
||||||
|
echo '<td>';
|
||||||
|
echo (($row['Null'] == 'NO') ? __('No') : __('Yes'));
|
||||||
|
echo '</td>';
|
||||||
|
echo '<td class="nowrap">';
|
||||||
|
if (isset($row['Default'])) {
|
||||||
|
echo $row['Default'];
|
||||||
|
}
|
||||||
|
echo '</td>';
|
||||||
|
|
||||||
|
if ($have_rel) {
|
||||||
|
echo ' <td>';
|
||||||
|
if ($foreigner = PMA_searchColumnInForeigners($res_rel, $column_name)) {
|
||||||
|
echo htmlspecialchars(
|
||||||
|
$foreigner['foreign_table']
|
||||||
|
. ' -> '
|
||||||
|
. $foreigner['foreign_field']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
echo '</td>' , "\n";
|
||||||
|
}
|
||||||
|
echo ' <td>';
|
||||||
|
if (isset($comments[$column_name])) {
|
||||||
|
echo htmlspecialchars($comments[$column_name]);
|
||||||
|
}
|
||||||
|
echo '</td>' , "\n";
|
||||||
|
if ($cfgRelation['mimework']) {
|
||||||
|
$mime_map = PMA_getMIME($db, $table, true);
|
||||||
|
|
||||||
|
echo ' <td>';
|
||||||
|
if (isset($mime_map[$column_name])) {
|
||||||
|
echo htmlspecialchars(
|
||||||
|
str_replace('_', '/', $mime_map[$column_name]['mimetype'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
echo '</td>' , "\n";
|
||||||
|
}
|
||||||
|
echo '</tr>';
|
||||||
|
} // end foreach
|
||||||
|
$count++;
|
||||||
|
echo '</table>';
|
||||||
|
// display indexes information
|
||||||
|
if (count(PMA\libraries\Index::getFromTable($table, $db)) > 0) {
|
||||||
|
echo PMA\libraries\Index::getHtmlForIndexes($table, $db, true);
|
||||||
|
}
|
||||||
|
echo '</div>';
|
||||||
|
} //ends main while
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the footer
|
||||||
|
*/
|
||||||
|
echo PMA\libraries\Util::getButton();
|
190
.devilbox/www/htdocs/vendor/phpmyadmin/db_designer.php
vendored
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* phpMyAdmin designer general code
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin-Designer
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/pmd_common.php';
|
||||||
|
require_once 'libraries/db_designer.lib.php';
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
|
||||||
|
if (isset($_REQUEST['dialog'])) {
|
||||||
|
|
||||||
|
if ($_REQUEST['dialog'] == 'edit') {
|
||||||
|
$html = PMA_getHtmlForEditOrDeletePages($GLOBALS['db'], 'editPage');
|
||||||
|
} else if ($_REQUEST['dialog'] == 'delete') {
|
||||||
|
$html = PMA_getHtmlForEditOrDeletePages($GLOBALS['db'], 'deletePage');
|
||||||
|
} else if ($_REQUEST['dialog'] == 'save_as') {
|
||||||
|
$html = PMA_getHtmlForPageSaveAs($GLOBALS['db']);
|
||||||
|
} else if ($_REQUEST['dialog'] == 'export') {
|
||||||
|
include_once 'libraries/plugin_interface.lib.php';
|
||||||
|
$html = PMA_getHtmlForSchemaExport(
|
||||||
|
$GLOBALS['db'], $_REQUEST['selected_page']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($html)) {
|
||||||
|
$response->addHTML($html);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_REQUEST['operation'])) {
|
||||||
|
|
||||||
|
if ($_REQUEST['operation'] == 'deletePage') {
|
||||||
|
$success = PMA_deletePage($_REQUEST['selected_page']);
|
||||||
|
$response->setRequestStatus($success);
|
||||||
|
} elseif ($_REQUEST['operation'] == 'savePage') {
|
||||||
|
if ($_REQUEST['save_page'] == 'same') {
|
||||||
|
$page = $_REQUEST['selected_page'];
|
||||||
|
} else { // new
|
||||||
|
$page = PMA_createNewPage($_REQUEST['selected_value'], $GLOBALS['db']);
|
||||||
|
$response->addJSON('id', $page);
|
||||||
|
}
|
||||||
|
$success = PMA_saveTablePositions($page);
|
||||||
|
$response->setRequestStatus($success);
|
||||||
|
} elseif ($_REQUEST['operation'] == 'setDisplayField') {
|
||||||
|
PMA_saveDisplayField(
|
||||||
|
$_REQUEST['db'], $_REQUEST['table'], $_REQUEST['field']
|
||||||
|
);
|
||||||
|
$response->setRequestStatus(true);
|
||||||
|
} elseif ($_REQUEST['operation'] == 'addNewRelation') {
|
||||||
|
list($success, $message) = PMA_addNewRelation(
|
||||||
|
$_REQUEST['db'],
|
||||||
|
$_REQUEST['T1'],
|
||||||
|
$_REQUEST['F1'],
|
||||||
|
$_REQUEST['T2'],
|
||||||
|
$_REQUEST['F2'],
|
||||||
|
$_REQUEST['on_delete'],
|
||||||
|
$_REQUEST['on_update']
|
||||||
|
);
|
||||||
|
$response->setRequestStatus($success);
|
||||||
|
$response->addJSON('message', $message);
|
||||||
|
} elseif ($_REQUEST['operation'] == 'removeRelation') {
|
||||||
|
list($success, $message) = PMA_removeRelation(
|
||||||
|
$_REQUEST['T1'],
|
||||||
|
$_REQUEST['F1'],
|
||||||
|
$_REQUEST['T2'],
|
||||||
|
$_REQUEST['F2']
|
||||||
|
);
|
||||||
|
$response->setRequestStatus($success);
|
||||||
|
$response->addJSON('message', $message);
|
||||||
|
} elseif ($_REQUEST['operation'] == 'save_setting_value') {
|
||||||
|
$success = PMA_saveDesignerSetting($_REQUEST['index'], $_REQUEST['value']);
|
||||||
|
$response->setRequestStatus($success);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
|
||||||
|
$script_display_field = PMA_getTablesInfo();
|
||||||
|
$tab_column = PMA_getColumnsInfo();
|
||||||
|
$script_tables = PMA_getScriptTabs();
|
||||||
|
$tables_pk_or_unique_keys = PMA_getPKOrUniqueKeys();
|
||||||
|
$tables_all_keys = PMA_getAllKeys();
|
||||||
|
$classes_side_menu = PMA_returnClassNamesFromMenuButtons();
|
||||||
|
|
||||||
|
$display_page = -1;
|
||||||
|
$selected_page = null;
|
||||||
|
|
||||||
|
if (isset($_REQUEST['query'])) {
|
||||||
|
$display_page = PMA_getDefaultPage($_REQUEST['db']);
|
||||||
|
} else {
|
||||||
|
if (! empty($_REQUEST['page'])) {
|
||||||
|
$display_page = $_REQUEST['page'];
|
||||||
|
} else {
|
||||||
|
$display_page = PMA_getLoadingPage($_REQUEST['db']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($display_page != -1) {
|
||||||
|
$selected_page = PMA_getPageName($display_page);
|
||||||
|
}
|
||||||
|
$tab_pos = PMA_getTablePositions($display_page);
|
||||||
|
$script_contr = PMA_getScriptContr();
|
||||||
|
|
||||||
|
$params = array('lang' => $GLOBALS['lang']);
|
||||||
|
if (isset($_GET['db'])) {
|
||||||
|
$params['db'] = $_GET['db'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->getFooter()->setMinimal();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$header->setBodyId('pmd_body');
|
||||||
|
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('jquery/jquery.fullscreen.js');
|
||||||
|
$scripts->addFile('pmd/designer_db.js');
|
||||||
|
$scripts->addFile('pmd/designer_objects.js');
|
||||||
|
$scripts->addFile('pmd/designer_page.js');
|
||||||
|
$scripts->addFile('pmd/history.js');
|
||||||
|
$scripts->addFile('pmd/move.js');
|
||||||
|
$scripts->addFile('pmd/init.js');
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
// Embed some data into HTML, later it will be read
|
||||||
|
// by pmd/init.js and converted to JS variables.
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getHtmlForJSFields(
|
||||||
|
$script_tables, $script_contr, $script_display_field, $display_page
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getDesignerPageMenu(
|
||||||
|
isset($_REQUEST['query']),
|
||||||
|
$selected_page,
|
||||||
|
$classes_side_menu
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$response->addHTML('<div id="canvas_outer">');
|
||||||
|
$response->addHTML(
|
||||||
|
'<form action="" id="container-form" method="post" name="form1">'
|
||||||
|
);
|
||||||
|
|
||||||
|
$response->addHTML(PMA_getHTMLCanvas());
|
||||||
|
$response->addHTML(PMA_getHTMLTableList($tab_pos, $display_page));
|
||||||
|
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getDatabaseTables(
|
||||||
|
$tab_pos, $display_page, $tab_column,
|
||||||
|
$tables_all_keys, $tables_pk_or_unique_keys
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$response->addHTML('</form>');
|
||||||
|
$response->addHTML('</div>'); // end canvas_outer
|
||||||
|
|
||||||
|
$response->addHTML('<div id="pmd_hint"></div>');
|
||||||
|
|
||||||
|
$response->addHTML(PMA_getNewRelationPanel());
|
||||||
|
$response->addHTML(PMA_getDeleteRelationPanel());
|
||||||
|
|
||||||
|
if (isset($_REQUEST['query'])) {
|
||||||
|
$response->addHTML(PMA_getOptionsPanel());
|
||||||
|
$response->addHTML(PMA_getRenameToPanel());
|
||||||
|
$response->addHTML(PMA_getHavingQueryPanel());
|
||||||
|
$response->addHTML(PMA_getAggregateQueryPanel());
|
||||||
|
$response->addHTML(PMA_getWhereQueryPanel());
|
||||||
|
$response->addHTML(PMA_getQueryDetails());
|
||||||
|
}
|
||||||
|
|
||||||
|
$response->addHTML('<div id="PMA_disable_floating_menubar"></div>');
|
23
.devilbox/www/htdocs/vendor/phpmyadmin/db_events.php
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Events management.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include required files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include all other files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/rte/rte_events.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do the magic
|
||||||
|
*/
|
||||||
|
$_PMA_RTE = 'EVN';
|
||||||
|
require_once 'libraries/rte/rte_main.inc.php';
|
156
.devilbox/www/htdocs/vendor/phpmyadmin/db_export.php
vendored
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* dumps a database
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
use PMA\libraries\config\PageSettings;
|
||||||
|
use PMA\libraries\Response;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets some core libraries
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/config/user_preferences.forms.php';
|
||||||
|
require_once 'libraries/config/page_settings.forms.php';
|
||||||
|
require_once 'libraries/export.lib.php';
|
||||||
|
|
||||||
|
PageSettings::showGroup('Export');
|
||||||
|
|
||||||
|
$response = Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('export.js');
|
||||||
|
|
||||||
|
// $sub_part is used in PMA\libraries\Util::getDbInfo() to see if we are coming from
|
||||||
|
// db_export.php, in which case we don't obey $cfg['MaxTableList']
|
||||||
|
$sub_part = '_export';
|
||||||
|
require_once 'libraries/db_common.inc.php';
|
||||||
|
$url_query .= '&goto=db_export.php';
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the form
|
||||||
|
*/
|
||||||
|
$export_page_title = __('View dump (schema) of database');
|
||||||
|
|
||||||
|
// exit if no tables in db found
|
||||||
|
if ($num_tables < 1) {
|
||||||
|
PMA\libraries\Message::error(__('No tables found in database.'))->display();
|
||||||
|
exit;
|
||||||
|
} // end if
|
||||||
|
|
||||||
|
$multi_values = '<div class="export_table_list_container">';
|
||||||
|
if (isset($_GET['structure_or_data_forced'])) {
|
||||||
|
$force_val = htmlspecialchars($_GET['structure_or_data_forced']);
|
||||||
|
} else {
|
||||||
|
$force_val = 0;
|
||||||
|
}
|
||||||
|
$multi_values .= '<input type="hidden" name="structure_or_data_forced" value="'
|
||||||
|
. $force_val . '">';
|
||||||
|
$multi_values .= '<table class="export_table_select">'
|
||||||
|
. '<thead><tr><th></th>'
|
||||||
|
. '<th>' . __('Tables') . '</th>'
|
||||||
|
. '<th class="export_structure">' . __('Structure') . '</th>'
|
||||||
|
. '<th class="export_data">' . __('Data') . '</th>'
|
||||||
|
. '</tr><tr>'
|
||||||
|
. '<td></td>'
|
||||||
|
. '<td class="export_table_name all">' . __('Select all') . '</td>'
|
||||||
|
. '<td class="export_structure all">'
|
||||||
|
. '<input type="checkbox" id="table_structure_all" /></td>'
|
||||||
|
. '<td class="export_data all"><input type="checkbox" id="table_data_all" />'
|
||||||
|
. '</td>'
|
||||||
|
. '</tr></thead>'
|
||||||
|
. '<tbody>';
|
||||||
|
$multi_values .= "\n";
|
||||||
|
|
||||||
|
// when called by libraries/mult_submits.inc.php
|
||||||
|
if (!empty($_POST['selected_tbl']) && empty($table_select)) {
|
||||||
|
$table_select = $_POST['selected_tbl'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the selected tables are defined in $_GET
|
||||||
|
// (from clicking Back button on export.php)
|
||||||
|
foreach (array('table_select', 'table_structure', 'table_data') as $one_key) {
|
||||||
|
if (isset($_GET[$one_key])) {
|
||||||
|
$_GET[$one_key] = urldecode($_GET[$one_key]);
|
||||||
|
$_GET[$one_key] = explode(",", $_GET[$one_key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($tables as $each_table) {
|
||||||
|
if (isset($_GET['table_select']) && is_array($_GET['table_select'])) {
|
||||||
|
$is_checked = PMA_getCheckedClause(
|
||||||
|
$each_table['Name'], $_GET['table_select']
|
||||||
|
);
|
||||||
|
} elseif (isset($table_select)) {
|
||||||
|
$is_checked = PMA_getCheckedClause(
|
||||||
|
$each_table['Name'], $table_select
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$is_checked = ' checked="checked"';
|
||||||
|
}
|
||||||
|
if (isset($_GET['table_structure']) && is_array($_GET['table_structure'])) {
|
||||||
|
$structure_checked = PMA_getCheckedClause(
|
||||||
|
$each_table['Name'], $_GET['table_structure']
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$structure_checked = $is_checked;
|
||||||
|
}
|
||||||
|
if (isset($_GET['table_data'])) {
|
||||||
|
$data_checked = PMA_getCheckedClause(
|
||||||
|
$each_table['Name'], $_GET['table_data']
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$data_checked = $is_checked;
|
||||||
|
}
|
||||||
|
$table_html = htmlspecialchars($each_table['Name']);
|
||||||
|
$multi_values .= '<tr>';
|
||||||
|
$multi_values .= '<td><input type="checkbox" name="table_select[]"'
|
||||||
|
. ' value="' . $table_html . '"' . $is_checked . ' /></td>';
|
||||||
|
$multi_values .= '<td class="export_table_name">'
|
||||||
|
. str_replace(' ', ' ', $table_html) . '</td>';
|
||||||
|
$multi_values .= '<td class="export_structure">'
|
||||||
|
. '<input type="checkbox" name="table_structure[]"'
|
||||||
|
. ' value="' . $table_html . '"' . $structure_checked . ' /></td>';
|
||||||
|
$multi_values .= '<td class="export_data">'
|
||||||
|
. '<input type="checkbox" name="table_data[]"'
|
||||||
|
. ' value="' . $table_html . '"' . $data_checked . ' /></td>';
|
||||||
|
$multi_values .= '</tr>';
|
||||||
|
} // end for
|
||||||
|
|
||||||
|
$multi_values .= "\n";
|
||||||
|
$multi_values .= '</tbody></table></div>';
|
||||||
|
|
||||||
|
require_once 'libraries/display_export.lib.php';
|
||||||
|
if (! isset($sql_query)) {
|
||||||
|
$sql_query = '';
|
||||||
|
}
|
||||||
|
if (! isset($num_tables)) {
|
||||||
|
$num_tables = 0;
|
||||||
|
}
|
||||||
|
if (! isset($unlim_num_rows)) {
|
||||||
|
$unlim_num_rows = 0;
|
||||||
|
}
|
||||||
|
if (! isset($multi_values)) {
|
||||||
|
$multi_values = '';
|
||||||
|
}
|
||||||
|
$response = Response::getInstance();
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getExportDisplay(
|
||||||
|
'database', $db, $table, $sql_query, $num_tables,
|
||||||
|
$unlim_num_rows, $multi_values
|
||||||
|
)
|
||||||
|
);
|
45
.devilbox/www/htdocs/vendor/phpmyadmin/db_import.php
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Database import page
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
use PMA\libraries\config\PageSettings;
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/config/user_preferences.forms.php';
|
||||||
|
require_once 'libraries/config/page_settings.forms.php';
|
||||||
|
|
||||||
|
PageSettings::showGroup('Import');
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('import.js');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets tables information and displays top links
|
||||||
|
*/
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
require 'libraries/display_import.lib.php';
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getImportDisplay(
|
||||||
|
'database', $db, $table, $max_upload_size
|
||||||
|
)
|
||||||
|
);
|
315
.devilbox/www/htdocs/vendor/phpmyadmin/db_operations.php
vendored
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* handles miscellaneous db operations:
|
||||||
|
* - move/rename
|
||||||
|
* - copy
|
||||||
|
* - changing collation
|
||||||
|
* - changing comment
|
||||||
|
* - adding tables
|
||||||
|
* - viewing PDF schemas
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
use PMA\libraries\plugins\export\ExportSql;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* requirements
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/mysql_charsets.inc.php';
|
||||||
|
require_once 'libraries/display_create_table.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* functions implementation for this script
|
||||||
|
*/
|
||||||
|
require_once 'libraries/check_user_privileges.lib.php';
|
||||||
|
require_once 'libraries/operations.lib.php';
|
||||||
|
|
||||||
|
// add a javascript file for jQuery functions to handle Ajax actions
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('db_operations.js');
|
||||||
|
|
||||||
|
$sql_query = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rename/move or copy database
|
||||||
|
*/
|
||||||
|
if (mb_strlen($GLOBALS['db'])
|
||||||
|
&& (! empty($_REQUEST['db_rename']) || ! empty($_REQUEST['db_copy']))
|
||||||
|
) {
|
||||||
|
if (! empty($_REQUEST['db_rename'])) {
|
||||||
|
$move = true;
|
||||||
|
} else {
|
||||||
|
$move = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! isset($_REQUEST['newname'])
|
||||||
|
|| ! mb_strlen($_REQUEST['newname'])
|
||||||
|
) {
|
||||||
|
$message = PMA\libraries\Message::error(__('The database name is empty!'));
|
||||||
|
} else {
|
||||||
|
$_error = false;
|
||||||
|
if ($move || ! empty($_REQUEST['create_database_before_copying'])) {
|
||||||
|
PMA_createDbBeforeCopy();
|
||||||
|
}
|
||||||
|
|
||||||
|
// here I don't use DELIMITER because it's not part of the
|
||||||
|
// language; I have to send each statement one by one
|
||||||
|
|
||||||
|
// to avoid selecting alternatively the current and new db
|
||||||
|
// we would need to modify the CREATE definitions to qualify
|
||||||
|
// the db name
|
||||||
|
PMA_runProcedureAndFunctionDefinitions($GLOBALS['db']);
|
||||||
|
|
||||||
|
// go back to current db, just in case
|
||||||
|
$GLOBALS['dbi']->selectDb($GLOBALS['db']);
|
||||||
|
|
||||||
|
$tables_full = $GLOBALS['dbi']->getTablesFull($GLOBALS['db']);
|
||||||
|
|
||||||
|
include_once "libraries/plugin_interface.lib.php";
|
||||||
|
// remove all foreign key constraints, otherwise we can get errors
|
||||||
|
/* @var $export_sql_plugin ExportSql */
|
||||||
|
$export_sql_plugin = PMA_getPlugin(
|
||||||
|
"export",
|
||||||
|
"sql",
|
||||||
|
'libraries/plugins/export/',
|
||||||
|
array(
|
||||||
|
'single_table' => isset($single_table),
|
||||||
|
'export_type' => 'database'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// create stand-in tables for views
|
||||||
|
$views = PMA_getViewsAndCreateSqlViewStandIn(
|
||||||
|
$tables_full, $export_sql_plugin, $GLOBALS['db']
|
||||||
|
);
|
||||||
|
|
||||||
|
// copy tables
|
||||||
|
$sqlConstratints = PMA_copyTables(
|
||||||
|
$tables_full, $move, $GLOBALS['db']
|
||||||
|
);
|
||||||
|
|
||||||
|
// handle the views
|
||||||
|
if (! $_error) {
|
||||||
|
PMA_handleTheViews($views, $move, $GLOBALS['db']);
|
||||||
|
}
|
||||||
|
unset($views);
|
||||||
|
|
||||||
|
// now that all tables exist, create all the accumulated constraints
|
||||||
|
if (! $_error && count($sqlConstratints) > 0) {
|
||||||
|
PMA_createAllAccumulatedConstraints($sqlConstratints);
|
||||||
|
}
|
||||||
|
unset($sqlConstratints);
|
||||||
|
|
||||||
|
if (PMA_MYSQL_INT_VERSION >= 50100) {
|
||||||
|
// here DELIMITER is not used because it's not part of the
|
||||||
|
// language; each statement is sent one by one
|
||||||
|
|
||||||
|
PMA_runEventDefinitionsForDb($GLOBALS['db']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// go back to current db, just in case
|
||||||
|
$GLOBALS['dbi']->selectDb($GLOBALS['db']);
|
||||||
|
|
||||||
|
// Duplicate the bookmarks for this db (done once for each db)
|
||||||
|
PMA_duplicateBookmarks($_error, $GLOBALS['db']);
|
||||||
|
|
||||||
|
if (! $_error && $move) {
|
||||||
|
if (isset($_REQUEST['adjust_privileges'])
|
||||||
|
&& ! empty($_REQUEST['adjust_privileges'])
|
||||||
|
) {
|
||||||
|
PMA_AdjustPrivileges_moveDB($GLOBALS['db'], $_REQUEST['newname']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cleanup pmadb stuff for this db
|
||||||
|
*/
|
||||||
|
include_once 'libraries/relation_cleanup.lib.php';
|
||||||
|
PMA_relationsCleanupDatabase($GLOBALS['db']);
|
||||||
|
|
||||||
|
// if someday the RENAME DATABASE reappears, do not DROP
|
||||||
|
$local_query = 'DROP DATABASE '
|
||||||
|
. PMA\libraries\Util::backquote($GLOBALS['db']) . ';';
|
||||||
|
$sql_query .= "\n" . $local_query;
|
||||||
|
$GLOBALS['dbi']->query($local_query);
|
||||||
|
|
||||||
|
$message = PMA\libraries\Message::success(
|
||||||
|
__('Database %1$s has been renamed to %2$s.')
|
||||||
|
);
|
||||||
|
$message->addParam($GLOBALS['db']);
|
||||||
|
$message->addParam($_REQUEST['newname']);
|
||||||
|
} elseif (! $_error) {
|
||||||
|
if (isset($_REQUEST['adjust_privileges'])
|
||||||
|
&& ! empty($_REQUEST['adjust_privileges'])
|
||||||
|
) {
|
||||||
|
PMA_AdjustPrivileges_copyDB($GLOBALS['db'], $_REQUEST['newname']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$message = PMA\libraries\Message::success(
|
||||||
|
__('Database %1$s has been copied to %2$s.')
|
||||||
|
);
|
||||||
|
$message->addParam($GLOBALS['db']);
|
||||||
|
$message->addParam($_REQUEST['newname']);
|
||||||
|
} else {
|
||||||
|
$message = PMA\libraries\Message::error();
|
||||||
|
}
|
||||||
|
$reload = true;
|
||||||
|
|
||||||
|
/* Change database to be used */
|
||||||
|
if (! $_error && $move) {
|
||||||
|
$GLOBALS['db'] = $_REQUEST['newname'];
|
||||||
|
} elseif (! $_error) {
|
||||||
|
if (isset($_REQUEST['switch_to_new'])
|
||||||
|
&& $_REQUEST['switch_to_new'] == 'true'
|
||||||
|
) {
|
||||||
|
$GLOBALS['PMA_Config']->setCookie('pma_switch_to_new', 'true');
|
||||||
|
$GLOBALS['db'] = $_REQUEST['newname'];
|
||||||
|
} else {
|
||||||
|
$GLOBALS['PMA_Config']->setCookie('pma_switch_to_new', '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Database has been successfully renamed/moved. If in an Ajax request,
|
||||||
|
* generate the output with {@link PMA\libraries\Response} and exit
|
||||||
|
*/
|
||||||
|
if ($GLOBALS['is_ajax_request'] == true) {
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->setRequestStatus($message->isSuccess());
|
||||||
|
$response->addJSON('message', $message);
|
||||||
|
$response->addJSON('newname', $_REQUEST['newname']);
|
||||||
|
$response->addJSON(
|
||||||
|
'sql_query',
|
||||||
|
PMA\libraries\Util::getMessage(null, $sql_query)
|
||||||
|
);
|
||||||
|
$response->addJSON('db', $GLOBALS['db']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings for relations stuff
|
||||||
|
*/
|
||||||
|
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if comments were updated
|
||||||
|
* (must be done before displaying the menu tabs)
|
||||||
|
*/
|
||||||
|
if (isset($_REQUEST['comment'])) {
|
||||||
|
PMA_setDbComment($GLOBALS['db'], $_REQUEST['comment']);
|
||||||
|
}
|
||||||
|
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
$url_query .= '&goto=db_operations.php';
|
||||||
|
|
||||||
|
// Gets the database structure
|
||||||
|
$sub_part = '_structure';
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
|
if (isset($message)) {
|
||||||
|
echo PMA\libraries\Util::getMessage($message, $sql_query);
|
||||||
|
unset($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
$_REQUEST['db_collation'] = PMA_getDbCollation($GLOBALS['db']);
|
||||||
|
$is_information_schema = $GLOBALS['dbi']->isSystemSchema($GLOBALS['db']);
|
||||||
|
|
||||||
|
$response->addHTML('<div id="boxContainer" data-box-width="300">');
|
||||||
|
|
||||||
|
if (!$is_information_schema) {
|
||||||
|
if ($cfgRelation['commwork']) {
|
||||||
|
/**
|
||||||
|
* database comment
|
||||||
|
*/
|
||||||
|
$response->addHTML(PMA_getHtmlForDatabaseComment($GLOBALS['db']));
|
||||||
|
}
|
||||||
|
|
||||||
|
$response->addHTML('<div class="operations_half_width">');
|
||||||
|
$response->addHTML(PMA_getHtmlForCreateTable($db));
|
||||||
|
$response->addHTML('</div>');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rename database
|
||||||
|
*/
|
||||||
|
if ($GLOBALS['db'] != 'mysql') {
|
||||||
|
$response->addHTML(PMA_getHtmlForRenameDatabase($GLOBALS['db']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Drop link if allowed
|
||||||
|
// Don't even try to drop information_schema.
|
||||||
|
// You won't be able to. Believe me. You won't.
|
||||||
|
// Don't allow to easily drop mysql database, RFE #1327514.
|
||||||
|
if (($is_superuser || $GLOBALS['cfg']['AllowUserDropDatabase'])
|
||||||
|
&& ! $db_is_system_schema
|
||||||
|
&& $GLOBALS['db'] != 'mysql'
|
||||||
|
) {
|
||||||
|
$response->addHTML(PMA_getHtmlForDropDatabaseLink($GLOBALS['db']));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Copy database
|
||||||
|
*/
|
||||||
|
$response->addHTML(PMA_getHtmlForCopyDatabase($GLOBALS['db']));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change database charset
|
||||||
|
*/
|
||||||
|
$response->addHTML(PMA_getHtmlForChangeDatabaseCharset($GLOBALS['db'], $table));
|
||||||
|
|
||||||
|
if (! $cfgRelation['allworks']
|
||||||
|
&& $cfg['PmaNoRelation_DisableWarning'] == false
|
||||||
|
) {
|
||||||
|
$message = PMA\libraries\Message::notice(
|
||||||
|
__(
|
||||||
|
'The phpMyAdmin configuration storage has been deactivated. ' .
|
||||||
|
'%sFind out why%s.'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$message->addParam(
|
||||||
|
'<a href="'
|
||||||
|
. './chk_rel.php' . $url_query . '">',
|
||||||
|
false
|
||||||
|
);
|
||||||
|
$message->addParam('</a>', false);
|
||||||
|
/* Show error if user has configured something, notice elsewhere */
|
||||||
|
if (!empty($cfg['Servers'][$server]['pmadb'])) {
|
||||||
|
$message->isError(true);
|
||||||
|
}
|
||||||
|
} // end if
|
||||||
|
} // end if (!$is_information_schema)
|
||||||
|
|
||||||
|
$response->addHTML('</div>');
|
||||||
|
|
||||||
|
// not sure about displaying the PDF dialog in case db is information_schema
|
||||||
|
if ($cfgRelation['pdfwork'] && $num_tables > 0) {
|
||||||
|
// We only show this if we find something in the new pdf_pages table
|
||||||
|
$test_query = '
|
||||||
|
SELECT *
|
||||||
|
FROM ' . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db'])
|
||||||
|
. '.' . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) . '
|
||||||
|
WHERE db_name = \'' . PMA\libraries\Util::sqlAddSlashes($GLOBALS['db'])
|
||||||
|
. '\'';
|
||||||
|
$test_rs = PMA_queryAsControlUser(
|
||||||
|
$test_query,
|
||||||
|
false,
|
||||||
|
PMA\libraries\DatabaseInterface::QUERY_STORE
|
||||||
|
);
|
||||||
|
} // end if
|
153
.devilbox/www/htdocs/vendor/phpmyadmin/db_qbe.php
vendored
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* query by example the whole database
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
use PMA\libraries\SavedSearches;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* requirements
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/bookmark.lib.php';
|
||||||
|
require_once 'libraries/sql.lib.php';
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
|
||||||
|
// Gets the relation settings
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
|
||||||
|
$savedSearchList = array();
|
||||||
|
$savedSearch = null;
|
||||||
|
$currentSearchId = null;
|
||||||
|
if ($cfgRelation['savedsearcheswork']) {
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('db_qbe.js');
|
||||||
|
|
||||||
|
//Get saved search list.
|
||||||
|
$savedSearch = new SavedSearches($GLOBALS);
|
||||||
|
$savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])
|
||||||
|
->setDbname($_REQUEST['db']);
|
||||||
|
|
||||||
|
if (!empty($_REQUEST['searchId'])) {
|
||||||
|
$savedSearch->setId($_REQUEST['searchId']);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Action field is sent.
|
||||||
|
if (isset($_REQUEST['action'])) {
|
||||||
|
$savedSearch->setSearchName($_REQUEST['searchName']);
|
||||||
|
if ('create' === $_REQUEST['action']) {
|
||||||
|
$saveResult = $savedSearch->setId(null)
|
||||||
|
->setCriterias($_REQUEST)
|
||||||
|
->save();
|
||||||
|
} elseif ('update' === $_REQUEST['action']) {
|
||||||
|
$saveResult = $savedSearch->setCriterias($_REQUEST)
|
||||||
|
->save();
|
||||||
|
} elseif ('delete' === $_REQUEST['action']) {
|
||||||
|
$deleteResult = $savedSearch->delete();
|
||||||
|
//After deletion, reset search.
|
||||||
|
$savedSearch = new SavedSearches($GLOBALS);
|
||||||
|
$savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])
|
||||||
|
->setDbname($_REQUEST['db']);
|
||||||
|
$_REQUEST = array();
|
||||||
|
} elseif ('load' === $_REQUEST['action']) {
|
||||||
|
if (empty($_REQUEST['searchId'])) {
|
||||||
|
//when not loading a search, reset the object.
|
||||||
|
$savedSearch = new SavedSearches($GLOBALS);
|
||||||
|
$savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])
|
||||||
|
->setDbname($_REQUEST['db']);
|
||||||
|
$_REQUEST = array();
|
||||||
|
} else {
|
||||||
|
$loadResult = $savedSearch->load();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Else, it's an "update query"
|
||||||
|
}
|
||||||
|
|
||||||
|
$savedSearchList = $savedSearch->getList();
|
||||||
|
$currentSearchId = $savedSearch->getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A query has been submitted -> (maybe) execute it
|
||||||
|
*/
|
||||||
|
$message_to_display = false;
|
||||||
|
if (isset($_REQUEST['submit_sql']) && ! empty($sql_query)) {
|
||||||
|
if (! preg_match('@^SELECT@i', $sql_query)) {
|
||||||
|
$message_to_display = true;
|
||||||
|
} else {
|
||||||
|
$goto = 'db_sql.php';
|
||||||
|
PMA_executeQueryAndSendQueryResponse(
|
||||||
|
null, // analyzed_sql_results
|
||||||
|
false, // is_gotofile
|
||||||
|
$_REQUEST['db'], // db
|
||||||
|
null, // table
|
||||||
|
false, // find_real_end
|
||||||
|
null, // sql_query_for_bookmark
|
||||||
|
null, // extra_data
|
||||||
|
null, // message_to_show
|
||||||
|
null, // message
|
||||||
|
null, // sql_data
|
||||||
|
$goto, // goto
|
||||||
|
$pmaThemeImage, // pmaThemeImage
|
||||||
|
null, // disp_query
|
||||||
|
null, // disp_message
|
||||||
|
null, // query_type
|
||||||
|
$sql_query, // sql_query
|
||||||
|
null, // selectedTables
|
||||||
|
null // complete_query
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sub_part = '_qbe';
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
$url_query .= '&goto=db_qbe.php';
|
||||||
|
$url_params['goto'] = 'db_qbe.php';
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
if ($message_to_display) {
|
||||||
|
PMA\libraries\Message::error(
|
||||||
|
__('You have to choose at least one column to display!')
|
||||||
|
)
|
||||||
|
->display();
|
||||||
|
}
|
||||||
|
unset($message_to_display);
|
||||||
|
|
||||||
|
// create new qbe search instance
|
||||||
|
$db_qbe = new PMA\libraries\DbQbe($GLOBALS['db'], $savedSearchList, $savedSearch);
|
||||||
|
|
||||||
|
$url = 'db_designer.php' . PMA_URL_getCommon(
|
||||||
|
array_merge(
|
||||||
|
$url_params,
|
||||||
|
array('query' => 1)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$response->addHTML(
|
||||||
|
PMA\libraries\Message::notice(
|
||||||
|
sprintf(
|
||||||
|
__('Switch to %svisual builder%s'),
|
||||||
|
'<a href="' . $url . '">',
|
||||||
|
'</a>'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the Query by example form
|
||||||
|
*/
|
||||||
|
$response->addHTML($db_qbe->getSelectionForm());
|
25
.devilbox/www/htdocs/vendor/phpmyadmin/db_routines.php
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Routines management.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include required files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/mysql_charsets.inc.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include all other files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/check_user_privileges.lib.php';
|
||||||
|
require_once 'libraries/rte/rte_routines.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do the magic
|
||||||
|
*/
|
||||||
|
$_PMA_RTE = 'RTN';
|
||||||
|
require_once 'libraries/rte/rte_main.inc.php';
|
73
.devilbox/www/htdocs/vendor/phpmyadmin/db_search.php
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* searches the entire database
|
||||||
|
*
|
||||||
|
* @todo make use of UNION when searching multiple tables
|
||||||
|
* @todo display executed query, optional?
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets some core libraries
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
use PMA\libraries\DbSearch;
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('db_search.js');
|
||||||
|
$scripts->addFile('sql.js');
|
||||||
|
$scripts->addFile('makegrid.js');
|
||||||
|
$scripts->addFile('jquery/jquery-ui-timepicker-addon.js');
|
||||||
|
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
|
||||||
|
// If config variable $GLOBALS['cfg']['UseDbSearch'] is on false : exit.
|
||||||
|
if (! $GLOBALS['cfg']['UseDbSearch']) {
|
||||||
|
PMA\libraries\Util::mysqlDie(
|
||||||
|
__('Access denied!'), '', false, $err_url
|
||||||
|
);
|
||||||
|
} // end if
|
||||||
|
$url_query .= '&goto=db_search.php';
|
||||||
|
$url_params['goto'] = 'db_search.php';
|
||||||
|
|
||||||
|
// Create a database search instance
|
||||||
|
$db_search = new DbSearch($GLOBALS['db']);
|
||||||
|
|
||||||
|
// Display top links if we are not in an Ajax request
|
||||||
|
if ($GLOBALS['is_ajax_request'] != true) {
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Main search form has been submitted, get results
|
||||||
|
if (isset($_REQUEST['submit_search'])) {
|
||||||
|
$response->addHTML($db_search->getSearchResults());
|
||||||
|
} else {
|
||||||
|
$response->addHTML('<div id="searchresults"></div>');
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we are in an Ajax request, we need to exit after displaying all the HTML
|
||||||
|
if ($GLOBALS['is_ajax_request'] == true && empty($_REQUEST['ajax_page_request'])) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display the search form
|
||||||
|
$response->addHTML(
|
||||||
|
'<div id="togglesearchresultsdiv"><a id="togglesearchresultlink"></a></div>'
|
||||||
|
. '<br class="clearfloat" />'
|
||||||
|
);
|
||||||
|
$response->addHTML($db_search->getSelectionForm());
|
||||||
|
$response->addHTML($db_search->getResultDivs());
|
47
.devilbox/www/htdocs/vendor/phpmyadmin/db_sql.php
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Database SQL executor
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
use PMA\libraries\config\PageSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/config/user_preferences.forms.php';
|
||||||
|
require_once 'libraries/config/page_settings.forms.php';
|
||||||
|
|
||||||
|
PageSettings::showGroup('Sql_queries');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs common work
|
||||||
|
*/
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('makegrid.js');
|
||||||
|
$scripts->addFile('jquery/jquery.uitablefilter.js');
|
||||||
|
$scripts->addFile('sql.js');
|
||||||
|
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
require_once 'libraries/sql_query_form.lib.php';
|
||||||
|
|
||||||
|
// After a syntax error, we return to this script
|
||||||
|
// with the typed query in the textarea.
|
||||||
|
$goto = 'db_sql.php';
|
||||||
|
$back = 'db_sql.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query box, bookmark, insert data from textfile
|
||||||
|
*/
|
||||||
|
$response->addHTML(
|
||||||
|
PMA_getHtmlForSqlQueryForm(
|
||||||
|
true, false,
|
||||||
|
isset($_REQUEST['delimiter'])
|
||||||
|
? htmlspecialchars($_REQUEST['delimiter'])
|
||||||
|
: ';'
|
||||||
|
)
|
||||||
|
);
|
26
.devilbox/www/htdocs/vendor/phpmyadmin/db_sql_autocomplete.php
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Table/Column autocomplete in SQL editors
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
if ($GLOBALS['cfg']['EnableAutocompleteForTablesAndColumns']) {
|
||||||
|
$db = isset($_POST['db']) ? $_POST['db'] : $GLOBALS['db'];
|
||||||
|
$sql_autocomplete = array();
|
||||||
|
if ($db) {
|
||||||
|
$tableNames = $GLOBALS['dbi']->getTables($db);
|
||||||
|
foreach ($tableNames as $tableName) {
|
||||||
|
$sql_autocomplete[$tableName] = $GLOBALS['dbi']->getColumns(
|
||||||
|
$db, $tableName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$sql_autocomplete = true;
|
||||||
|
}
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->addJSON("tables", json_encode($sql_autocomplete));
|
20
.devilbox/www/htdocs/vendor/phpmyadmin/db_sql_format.php
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Format SQL for SQL editors
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loading common files. Used to check for authorization, localization and to
|
||||||
|
* load the parsing library.
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
$query = !empty($_POST['sql']) ? $_POST['sql'] : '';
|
||||||
|
|
||||||
|
$query = SqlParser\Utils\Formatter::format($query);
|
||||||
|
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$response->addJSON("sql", $query);
|
38
.devilbox/www/htdocs/vendor/phpmyadmin/db_structure.php
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Database structure manipulation
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace PMA;
|
||||||
|
|
||||||
|
use PMA\libraries\controllers\database\DatabaseStructureController;
|
||||||
|
use PMA\libraries\Response;
|
||||||
|
use PMA\libraries\Util;
|
||||||
|
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
require_once 'libraries/db_common.inc.php';
|
||||||
|
|
||||||
|
$container = libraries\di\Container::getDefaultContainer();
|
||||||
|
$container->factory('PMA\libraries\controllers\database\DatabaseStructureController');
|
||||||
|
$container->alias(
|
||||||
|
'DatabaseStructureController',
|
||||||
|
'PMA\libraries\controllers\database\DatabaseStructureController'
|
||||||
|
);
|
||||||
|
$container->set('PMA\libraries\Response', Response::getInstance());
|
||||||
|
$container->alias('response', 'PMA\libraries\Response');
|
||||||
|
|
||||||
|
/* Define dependencies for the concerned controller */
|
||||||
|
$dependency_definitions = array(
|
||||||
|
'db' => $db,
|
||||||
|
'url_query' => &$GLOBALS['url_query'],
|
||||||
|
);
|
||||||
|
|
||||||
|
/** @var DatabaseStructureController $controller */
|
||||||
|
$controller = $container->get(
|
||||||
|
'DatabaseStructureController',
|
||||||
|
$dependency_definitions
|
||||||
|
);
|
||||||
|
$controller->indexAction();
|
150
.devilbox/www/htdocs/vendor/phpmyadmin/db_tracking.php
vendored
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Tracking configuration for database
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
use PMA\libraries\Tracker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run common work
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
require_once './libraries/tracking.lib.php';
|
||||||
|
require_once 'libraries/display_create_table.lib.php';
|
||||||
|
|
||||||
|
//Get some js files needed for Ajax requests
|
||||||
|
$response = PMA\libraries\Response::getInstance();
|
||||||
|
$header = $response->getHeader();
|
||||||
|
$scripts = $header->getScripts();
|
||||||
|
$scripts->addFile('jquery/jquery.tablesorter.js');
|
||||||
|
$scripts->addFile('db_tracking.js');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If we are not in an Ajax request, then do the common work and show the links etc.
|
||||||
|
*/
|
||||||
|
require 'libraries/db_common.inc.php';
|
||||||
|
$url_query .= '&goto=tbl_tracking.php&back=db_tracking.php';
|
||||||
|
|
||||||
|
// Get the database structure
|
||||||
|
$sub_part = '_structure';
|
||||||
|
|
||||||
|
list(
|
||||||
|
$tables,
|
||||||
|
$num_tables,
|
||||||
|
$total_num_tables,
|
||||||
|
$sub_part,
|
||||||
|
$is_show_stats,
|
||||||
|
$db_is_system_schema,
|
||||||
|
$tooltip_truename,
|
||||||
|
$tooltip_aliasname,
|
||||||
|
$pos
|
||||||
|
) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : '');
|
||||||
|
|
||||||
|
// Work to do?
|
||||||
|
// (here, do not use $_REQUEST['db] as it can be crafted)
|
||||||
|
if (isset($_REQUEST['delete_tracking']) && isset($_REQUEST['table'])) {
|
||||||
|
|
||||||
|
Tracker::deleteTracking($GLOBALS['db'], $_REQUEST['table']);
|
||||||
|
PMA\libraries\Message::success(
|
||||||
|
__('Tracking data deleted successfully.')
|
||||||
|
)->display();
|
||||||
|
|
||||||
|
} elseif (isset($_REQUEST['submit_create_version'])) {
|
||||||
|
|
||||||
|
PMA_createTrackingForMultipleTables($_REQUEST['selected']);
|
||||||
|
PMA\libraries\Message::success(
|
||||||
|
sprintf(
|
||||||
|
__(
|
||||||
|
'Version %1$s was created for selected tables,'
|
||||||
|
. ' tracking is active for them.'
|
||||||
|
),
|
||||||
|
htmlspecialchars($_REQUEST['version'])
|
||||||
|
)
|
||||||
|
)->display();
|
||||||
|
|
||||||
|
} elseif (isset($_REQUEST['submit_mult'])) {
|
||||||
|
|
||||||
|
if (! empty($_REQUEST['selected_tbl'])) {
|
||||||
|
if ($_REQUEST['submit_mult'] == 'delete_tracking') {
|
||||||
|
|
||||||
|
foreach ($_REQUEST['selected_tbl'] as $table) {
|
||||||
|
Tracker::deleteTracking($GLOBALS['db'], $table);
|
||||||
|
}
|
||||||
|
PMA\libraries\Message::success(
|
||||||
|
__('Tracking data deleted successfully.')
|
||||||
|
)->display();
|
||||||
|
|
||||||
|
} elseif ($_REQUEST['submit_mult'] == 'track') {
|
||||||
|
|
||||||
|
echo PMA_getHtmlForDataDefinitionAndManipulationStatements(
|
||||||
|
'db_tracking.php' . $url_query,
|
||||||
|
0,
|
||||||
|
$GLOBALS['db'],
|
||||||
|
$_REQUEST['selected_tbl']
|
||||||
|
);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
PMA\libraries\Message::notice(
|
||||||
|
__('No tables selected.')
|
||||||
|
)->display();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get tracked data about the database
|
||||||
|
$data = Tracker::getTrackedData($_REQUEST['db'], '', '1');
|
||||||
|
|
||||||
|
// No tables present and no log exist
|
||||||
|
if ($num_tables == 0 && count($data['ddlog']) == 0) {
|
||||||
|
echo '<p>' , __('No tables found in database.') , '</p>' , "\n";
|
||||||
|
|
||||||
|
if (empty($db_is_system_schema)) {
|
||||||
|
echo PMA_getHtmlForCreateTable($db);
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
$cfgRelation = PMA_getRelationsParam();
|
||||||
|
|
||||||
|
// Prepare statement to get HEAD version
|
||||||
|
$all_tables_query = ' SELECT table_name, MAX(version) as version FROM ' .
|
||||||
|
PMA\libraries\Util::backquote($cfgRelation['db']) . '.' .
|
||||||
|
PMA\libraries\Util::backquote($cfgRelation['tracking']) .
|
||||||
|
' WHERE db_name = \'' . PMA\libraries\Util::sqlAddSlashes($_REQUEST['db']) .
|
||||||
|
'\' ' .
|
||||||
|
' GROUP BY table_name' .
|
||||||
|
' ORDER BY table_name ASC';
|
||||||
|
|
||||||
|
$all_tables_result = PMA_queryAsControlUser($all_tables_query);
|
||||||
|
|
||||||
|
// If a HEAD version exists
|
||||||
|
if (is_object($all_tables_result)
|
||||||
|
&& $GLOBALS['dbi']->numRows($all_tables_result) > 0
|
||||||
|
) {
|
||||||
|
PMA_displayTrackedTables(
|
||||||
|
$GLOBALS['db'], $all_tables_result, $url_query, $pmaThemeImage,
|
||||||
|
$text_dir, $cfgRelation
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$untracked_tables = PMA_getUntrackedTables($GLOBALS['db']);
|
||||||
|
|
||||||
|
// If untracked tables exist
|
||||||
|
if (count($untracked_tables) > 0) {
|
||||||
|
PMA_displayUntrackedTables(
|
||||||
|
$GLOBALS['db'], $untracked_tables, $url_query, $pmaThemeImage, $text_dir
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// If available print out database log
|
||||||
|
if (count($data['ddlog']) > 0) {
|
||||||
|
$log = '';
|
||||||
|
foreach ($data['ddlog'] as $entry) {
|
||||||
|
$log .= '# ' . $entry['date'] . ' ' . $entry['username'] . "\n"
|
||||||
|
. $entry['statement'] . "\n";
|
||||||
|
}
|
||||||
|
echo PMA\libraries\Util::getMessage(__('Database Log'), $log);
|
||||||
|
}
|
23
.devilbox/www/htdocs/vendor/phpmyadmin/db_triggers.php
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* Triggers management.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include required files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/common.inc.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include all other files
|
||||||
|
*/
|
||||||
|
require_once 'libraries/rte/rte_triggers.lib.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do the magic
|
||||||
|
*/
|
||||||
|
$_PMA_RTE = 'TRI';
|
||||||
|
require_once 'libraries/rte/rte_main.inc.php';
|
197
.devilbox/www/htdocs/vendor/phpmyadmin/doc/Makefile
vendored
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
# Makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
PAPER =
|
||||||
|
BUILDDIR = .
|
||||||
|
|
||||||
|
# User-friendly check for sphinx-build
|
||||||
|
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||||
|
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Internal variables.
|
||||||
|
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||||
|
PAPEROPT_letter = -D latex_paper_size=letter
|
||||||
|
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||||
|
# the i18n builder cannot share the environment and doctrees with the others
|
||||||
|
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||||
|
|
||||||
|
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "Please use \`make <target>' where <target> is one of"
|
||||||
|
@echo " html to make standalone HTML files"
|
||||||
|
@echo " dirhtml to make HTML files named index.html in directories"
|
||||||
|
@echo " singlehtml to make a single large HTML file"
|
||||||
|
@echo " pickle to make pickle files"
|
||||||
|
@echo " json to make JSON files"
|
||||||
|
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||||
|
@echo " qthelp to make HTML files and a qthelp project"
|
||||||
|
@echo " devhelp to make HTML files and a Devhelp project"
|
||||||
|
@echo " epub to make an epub"
|
||||||
|
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||||
|
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||||
|
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||||
|
@echo " text to make text files"
|
||||||
|
@echo " man to make manual pages"
|
||||||
|
@echo " texinfo to make Texinfo files"
|
||||||
|
@echo " info to make Texinfo files and run them through makeinfo"
|
||||||
|
@echo " gettext to make PO message catalogs"
|
||||||
|
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||||
|
@echo " xml to make Docutils-native XML files"
|
||||||
|
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||||
|
@echo " linkcheck to check all external links for integrity"
|
||||||
|
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -rf $(BUILDDIR)/doctrees
|
||||||
|
-rm -rf $(BUILDDIR)/html
|
||||||
|
-rm -rf $(BUILDDIR)/dirhtml
|
||||||
|
-rm -rf $(BUILDDIR)/singlehtml
|
||||||
|
-rm -rf $(BUILDDIR)/pickle
|
||||||
|
-rm -rf $(BUILDDIR)/json
|
||||||
|
-rm -rf $(BUILDDIR)/htmlhelp
|
||||||
|
-rm -rf $(BUILDDIR)/qthelp
|
||||||
|
-rm -rf $(BUILDDIR)/devhelp
|
||||||
|
-rm -rf $(BUILDDIR)/epub
|
||||||
|
-rm -rf $(BUILDDIR)/latex
|
||||||
|
-rm -rf $(BUILDDIR)/text
|
||||||
|
-rm -rf $(BUILDDIR)/man
|
||||||
|
-rm -rf $(BUILDDIR)/texinfo
|
||||||
|
-rm -rf $(BUILDDIR)/info
|
||||||
|
-rm -rf $(BUILDDIR)/gettext
|
||||||
|
-rm -rf $(BUILDDIR)/changes
|
||||||
|
-rm -rf $(BUILDDIR)/linkcheck
|
||||||
|
-rm -rf $(BUILDDIR)/doctest
|
||||||
|
-rm -rf $(BUILDDIR)/xml
|
||||||
|
-rm -rf $(BUILDDIR)/pseudoxml
|
||||||
|
|
||||||
|
html:
|
||||||
|
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||||
|
|
||||||
|
dirhtml:
|
||||||
|
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||||
|
|
||||||
|
singlehtml:
|
||||||
|
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||||
|
|
||||||
|
pickle:
|
||||||
|
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can process the pickle files."
|
||||||
|
|
||||||
|
json:
|
||||||
|
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can process the JSON files."
|
||||||
|
|
||||||
|
htmlhelp:
|
||||||
|
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||||
|
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||||
|
|
||||||
|
qthelp:
|
||||||
|
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||||
|
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||||
|
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/phpMyAdmin.qhcp"
|
||||||
|
@echo "To view the help file:"
|
||||||
|
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/phpMyAdmin.qhc"
|
||||||
|
|
||||||
|
devhelp:
|
||||||
|
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished."
|
||||||
|
@echo "To view the help file:"
|
||||||
|
@echo "# mkdir -p $$HOME/.local/share/devhelp/phpMyAdmin"
|
||||||
|
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/phpMyAdmin"
|
||||||
|
@echo "# devhelp"
|
||||||
|
|
||||||
|
epub:
|
||||||
|
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||||
|
|
||||||
|
latex:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||||
|
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||||
|
"(use \`make latexpdf' here to do that automatically)."
|
||||||
|
|
||||||
|
latexpdf:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo "Running LaTeX files through pdflatex..."
|
||||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||||
|
|
||||||
|
latexpdfja:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||||
|
|
||||||
|
text:
|
||||||
|
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||||
|
|
||||||
|
man:
|
||||||
|
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||||
|
|
||||||
|
texinfo:
|
||||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||||
|
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||||
|
"(use \`make info' here to do that automatically)."
|
||||||
|
|
||||||
|
info:
|
||||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
|
@echo "Running Texinfo files through makeinfo..."
|
||||||
|
make -C $(BUILDDIR)/texinfo info
|
||||||
|
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||||
|
|
||||||
|
gettext:
|
||||||
|
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||||
|
|
||||||
|
changes:
|
||||||
|
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||||
|
@echo
|
||||||
|
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||||
|
|
||||||
|
linkcheck:
|
||||||
|
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||||
|
@echo
|
||||||
|
@echo "Link check complete; look for any errors in the above output " \
|
||||||
|
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||||
|
|
||||||
|
doctest:
|
||||||
|
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||||
|
@echo "Testing of doctests in the sources finished, look at the " \
|
||||||
|
"results in $(BUILDDIR)/doctest/output.txt."
|
||||||
|
|
||||||
|
xml:
|
||||||
|
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||||
|
|
||||||
|
pseudoxml:
|
||||||
|
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
188
.devilbox/www/htdocs/vendor/phpmyadmin/doc/_ext/configext.py
vendored
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
from sphinx.domains import Domain, ObjType
|
||||||
|
from sphinx.roles import XRefRole
|
||||||
|
from sphinx.domains.std import GenericObject, StandardDomain
|
||||||
|
from sphinx.directives import ObjectDescription
|
||||||
|
from sphinx.util.nodes import clean_astext, make_refnode
|
||||||
|
from sphinx.util import ws_re
|
||||||
|
from sphinx import addnodes
|
||||||
|
from sphinx.util.docfields import Field
|
||||||
|
from docutils import nodes
|
||||||
|
|
||||||
|
def get_id_from_cfg(text):
|
||||||
|
'''
|
||||||
|
Formats anchor ID from config option.
|
||||||
|
'''
|
||||||
|
if text[:6] == '$cfg[\'':
|
||||||
|
text = text[6:]
|
||||||
|
if text[-2:] == '\']':
|
||||||
|
text = text[:-2]
|
||||||
|
text = text.replace('[$i]', '')
|
||||||
|
parts = text.split("']['")
|
||||||
|
return parts
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigOption(ObjectDescription):
|
||||||
|
indextemplate = 'configuration option; %s'
|
||||||
|
parse_node = None
|
||||||
|
|
||||||
|
has_arguments = True
|
||||||
|
|
||||||
|
doc_field_types = [
|
||||||
|
Field('default', label='Default value', has_arg=False,
|
||||||
|
names=('default', )),
|
||||||
|
Field('type', label='Type', has_arg=False,
|
||||||
|
names=('type',)),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def handle_signature(self, sig, signode):
|
||||||
|
signode.clear()
|
||||||
|
signode += addnodes.desc_name(sig, sig)
|
||||||
|
# normalize whitespace like XRefRole does
|
||||||
|
name = ws_re.sub('', sig)
|
||||||
|
return name
|
||||||
|
|
||||||
|
def add_target_and_index(self, name, sig, signode):
|
||||||
|
targetparts = get_id_from_cfg(name)
|
||||||
|
targetname = 'cfg_%s' % '_'.join(targetparts)
|
||||||
|
signode['ids'].append(targetname)
|
||||||
|
self.state.document.note_explicit_target(signode)
|
||||||
|
indextype = 'single'
|
||||||
|
|
||||||
|
# Generic index entries
|
||||||
|
indexentry = self.indextemplate % (name,)
|
||||||
|
self.indexnode['entries'].append((indextype, indexentry,
|
||||||
|
targetname, targetname))
|
||||||
|
self.indexnode['entries'].append((indextype, name,
|
||||||
|
targetname, targetname))
|
||||||
|
|
||||||
|
# Server section
|
||||||
|
if targetparts[0] == 'Servers' and len(targetparts) > 1:
|
||||||
|
indexname = ', '.join(targetparts[1:])
|
||||||
|
self.indexnode['entries'].append((indextype, 'server configuration; %s' % indexname,
|
||||||
|
targetname, targetname))
|
||||||
|
self.indexnode['entries'].append((indextype, indexname,
|
||||||
|
targetname, targetname))
|
||||||
|
else:
|
||||||
|
indexname = ', '.join(targetparts)
|
||||||
|
self.indexnode['entries'].append((indextype, indexname,
|
||||||
|
targetname, targetname))
|
||||||
|
|
||||||
|
self.env.domaindata['config']['objects'][self.objtype, name] = \
|
||||||
|
self.env.docname, targetname
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigSectionXRefRole(XRefRole):
|
||||||
|
"""
|
||||||
|
Cross-referencing role for configuration sections (adds an index entry).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def result_nodes(self, document, env, node, is_ref):
|
||||||
|
if not is_ref:
|
||||||
|
return [node], []
|
||||||
|
varname = node['reftarget']
|
||||||
|
tgtid = 'index-%s' % env.new_serialno('index')
|
||||||
|
indexnode = addnodes.index()
|
||||||
|
indexnode['entries'] = [
|
||||||
|
('single', varname, tgtid, varname),
|
||||||
|
('single', 'configuration section; %s' % varname, tgtid, varname)
|
||||||
|
]
|
||||||
|
targetnode = nodes.target('', '', ids=[tgtid])
|
||||||
|
document.note_explicit_target(targetnode)
|
||||||
|
return [indexnode, targetnode, node], []
|
||||||
|
|
||||||
|
class ConfigSection(ObjectDescription):
|
||||||
|
indextemplate = 'configuration section; %s'
|
||||||
|
parse_node = None
|
||||||
|
|
||||||
|
def handle_signature(self, sig, signode):
|
||||||
|
if self.parse_node:
|
||||||
|
name = self.parse_node(self.env, sig, signode)
|
||||||
|
else:
|
||||||
|
signode.clear()
|
||||||
|
signode += addnodes.desc_name(sig, sig)
|
||||||
|
# normalize whitespace like XRefRole does
|
||||||
|
name = ws_re.sub('', sig)
|
||||||
|
return name
|
||||||
|
|
||||||
|
def add_target_and_index(self, name, sig, signode):
|
||||||
|
targetname = '%s-%s' % (self.objtype, name)
|
||||||
|
signode['ids'].append(targetname)
|
||||||
|
self.state.document.note_explicit_target(signode)
|
||||||
|
if self.indextemplate:
|
||||||
|
colon = self.indextemplate.find(':')
|
||||||
|
if colon != -1:
|
||||||
|
indextype = self.indextemplate[:colon].strip()
|
||||||
|
indexentry = self.indextemplate[colon+1:].strip() % (name,)
|
||||||
|
else:
|
||||||
|
indextype = 'single'
|
||||||
|
indexentry = self.indextemplate % (name,)
|
||||||
|
self.indexnode['entries'].append((indextype, indexentry,
|
||||||
|
targetname, targetname))
|
||||||
|
self.env.domaindata['config']['objects'][self.objtype, name] = \
|
||||||
|
self.env.docname, targetname
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigOptionXRefRole(XRefRole):
|
||||||
|
"""
|
||||||
|
Cross-referencing role for configuration options (adds an index entry).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def result_nodes(self, document, env, node, is_ref):
|
||||||
|
if not is_ref:
|
||||||
|
return [node], []
|
||||||
|
varname = node['reftarget']
|
||||||
|
tgtid = 'index-%s' % env.new_serialno('index')
|
||||||
|
indexnode = addnodes.index()
|
||||||
|
indexnode['entries'] = [
|
||||||
|
('single', varname, tgtid, varname),
|
||||||
|
('single', 'configuration option; %s' % varname, tgtid, varname)
|
||||||
|
]
|
||||||
|
targetnode = nodes.target('', '', ids=[tgtid])
|
||||||
|
document.note_explicit_target(targetnode)
|
||||||
|
return [indexnode, targetnode, node], []
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigFileDomain(Domain):
|
||||||
|
name = 'config'
|
||||||
|
label = 'Config'
|
||||||
|
|
||||||
|
object_types = {
|
||||||
|
'option': ObjType('config option', 'option'),
|
||||||
|
'section': ObjType('config section', 'section'),
|
||||||
|
}
|
||||||
|
directives = {
|
||||||
|
'option': ConfigOption,
|
||||||
|
'section': ConfigSection,
|
||||||
|
}
|
||||||
|
roles = {
|
||||||
|
'option': ConfigOptionXRefRole(),
|
||||||
|
'section': ConfigSectionXRefRole(),
|
||||||
|
}
|
||||||
|
|
||||||
|
initial_data = {
|
||||||
|
'objects': {}, # (type, name) -> docname, labelid
|
||||||
|
}
|
||||||
|
|
||||||
|
def clear_doc(self, docname):
|
||||||
|
for key, (fn, _) in self.data['objects'].items():
|
||||||
|
if fn == docname:
|
||||||
|
del self.data['objects'][key]
|
||||||
|
|
||||||
|
def resolve_xref(self, env, fromdocname, builder,
|
||||||
|
typ, target, node, contnode):
|
||||||
|
docname, labelid = self.data['objects'].get((typ, target), ('', ''))
|
||||||
|
if not docname:
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
return make_refnode(builder, fromdocname, docname,
|
||||||
|
labelid, contnode)
|
||||||
|
|
||||||
|
def get_objects(self):
|
||||||
|
for (type, name), info in self.data['objects'].items():
|
||||||
|
yield (name, name, type, info[0], info[1],
|
||||||
|
self.object_types[type].attrs['searchprio'])
|
||||||
|
|
||||||
|
def setup(app):
|
||||||
|
app.add_domain(ConfigFileDomain)
|
||||||
|
|
304
.devilbox/www/htdocs/vendor/phpmyadmin/doc/conf.py
vendored
Normal file
@ -0,0 +1,304 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# phpMyAdmin documentation build configuration file, created by
|
||||||
|
# sphinx-quickstart on Wed Sep 26 14:04:48 2012.
|
||||||
|
#
|
||||||
|
# This file is execfile()d with the current directory set to its containing dir.
|
||||||
|
#
|
||||||
|
# Note that not all possible configuration values are present in this
|
||||||
|
# autogenerated file.
|
||||||
|
#
|
||||||
|
# All configuration values have a default; values that are commented out
|
||||||
|
# serve to show the default.
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
|
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||||
|
#sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext")))
|
||||||
|
|
||||||
|
# -- General configuration ------------------------------------------------
|
||||||
|
|
||||||
|
# If your documentation needs a minimal Sphinx version, state it here.
|
||||||
|
#needs_sphinx = '1.0'
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
|
# ones.
|
||||||
|
extensions = ['configext']
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# The suffix of source filenames.
|
||||||
|
source_suffix = '.rst'
|
||||||
|
|
||||||
|
# The encoding of source files.
|
||||||
|
#source_encoding = 'utf-8-sig'
|
||||||
|
|
||||||
|
# The master toctree document.
|
||||||
|
master_doc = 'index'
|
||||||
|
|
||||||
|
# General information about the project.
|
||||||
|
project = u'phpMyAdmin'
|
||||||
|
copyright = u'2012 - 2016, The phpMyAdmin devel team'
|
||||||
|
|
||||||
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
# built documents.
|
||||||
|
#
|
||||||
|
# The short X.Y version.
|
||||||
|
version = '4.6.4'
|
||||||
|
# The full version, including alpha/beta/rc tags.
|
||||||
|
release = version
|
||||||
|
|
||||||
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
|
# for a list of supported languages.
|
||||||
|
#language = None
|
||||||
|
|
||||||
|
# There are two options for replacing |today|: either, you set today to some
|
||||||
|
# non-false value, then it is used:
|
||||||
|
#today = ''
|
||||||
|
# Else, today_fmt is used as the format for a strftime call.
|
||||||
|
#today_fmt = '%B %d, %Y'
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
exclude_patterns = ['_build', 'html', 'doctrees']
|
||||||
|
|
||||||
|
# The reST default role (used for this markup: `text`) to use for all
|
||||||
|
# documents.
|
||||||
|
#default_role = None
|
||||||
|
|
||||||
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||||
|
#add_function_parentheses = True
|
||||||
|
|
||||||
|
# If true, the current module name will be prepended to all description
|
||||||
|
# unit titles (such as .. function::).
|
||||||
|
#add_module_names = True
|
||||||
|
|
||||||
|
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||||
|
# output. They are ignored by default.
|
||||||
|
#show_authors = False
|
||||||
|
|
||||||
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
|
pygments_style = 'sphinx'
|
||||||
|
|
||||||
|
# A list of ignored prefixes for module index sorting.
|
||||||
|
#modindex_common_prefix = []
|
||||||
|
|
||||||
|
# If true, keep warnings as "system message" paragraphs in the built documents.
|
||||||
|
#keep_warnings = False
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output ----------------------------------------------
|
||||||
|
|
||||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
# a list of builtin themes.
|
||||||
|
html_theme = 'default'
|
||||||
|
|
||||||
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
|
# further. For a list of options available for each theme, see the
|
||||||
|
# documentation.
|
||||||
|
#html_theme_options = {}
|
||||||
|
|
||||||
|
# Add any paths that contain custom themes here, relative to this directory.
|
||||||
|
#html_theme_path = []
|
||||||
|
|
||||||
|
# The name for this set of Sphinx documents. If None, it defaults to
|
||||||
|
# "<project> v<release> documentation".
|
||||||
|
#html_title = None
|
||||||
|
|
||||||
|
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||||
|
#html_short_title = None
|
||||||
|
|
||||||
|
# The name of an image file (relative to this directory) to place at the top
|
||||||
|
# of the sidebar.
|
||||||
|
#html_logo = None
|
||||||
|
|
||||||
|
# The name of an image file (within the static path) to use as favicon of the
|
||||||
|
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||||
|
# pixels large.
|
||||||
|
#html_favicon = None
|
||||||
|
|
||||||
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
|
#html_static_path = ['_static']
|
||||||
|
|
||||||
|
# Add any extra paths that contain custom files (such as robots.txt or
|
||||||
|
# .htaccess) here, relative to this directory. These files are copied
|
||||||
|
# directly to the root of the documentation.
|
||||||
|
#html_extra_path = []
|
||||||
|
|
||||||
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||||
|
# using the given strftime format.
|
||||||
|
#html_last_updated_fmt = '%b %d, %Y'
|
||||||
|
|
||||||
|
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||||
|
# typographically correct entities.
|
||||||
|
#html_use_smartypants = True
|
||||||
|
|
||||||
|
# Custom sidebar templates, maps document names to template names.
|
||||||
|
#html_sidebars = {}
|
||||||
|
|
||||||
|
# Additional templates that should be rendered to pages, maps page names to
|
||||||
|
# template names.
|
||||||
|
#html_additional_pages = {}
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#html_domain_indices = True
|
||||||
|
|
||||||
|
# If false, no index is generated.
|
||||||
|
#html_use_index = True
|
||||||
|
|
||||||
|
# If true, the index is split into individual pages for each letter.
|
||||||
|
#html_split_index = False
|
||||||
|
|
||||||
|
# If true, links to the reST sources are added to the pages.
|
||||||
|
#html_show_sourcelink = True
|
||||||
|
|
||||||
|
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||||
|
#html_show_sphinx = True
|
||||||
|
|
||||||
|
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||||
|
#html_show_copyright = True
|
||||||
|
|
||||||
|
# If true, an OpenSearch description file will be output, and all pages will
|
||||||
|
# contain a <link> tag referring to it. The value of this option must be the
|
||||||
|
# base URL from which the finished HTML is served.
|
||||||
|
#html_use_opensearch = ''
|
||||||
|
|
||||||
|
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||||
|
#html_file_suffix = None
|
||||||
|
|
||||||
|
# Output file base name for HTML help builder.
|
||||||
|
htmlhelp_basename = 'phpMyAdmindoc'
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
|
latex_elements = {
|
||||||
|
# The paper size ('letterpaper' or 'a4paper').
|
||||||
|
#'papersize': 'letterpaper',
|
||||||
|
|
||||||
|
# The font size ('10pt', '11pt' or '12pt').
|
||||||
|
#'pointsize': '10pt',
|
||||||
|
|
||||||
|
# Additional stuff for the LaTeX preamble.
|
||||||
|
#'preamble': '',
|
||||||
|
}
|
||||||
|
|
||||||
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
|
# (source start file, target name, title,
|
||||||
|
# author, documentclass [howto, manual, or own class]).
|
||||||
|
latex_documents = [
|
||||||
|
('index', 'phpMyAdmin.tex', u'phpMyAdmin Documentation',
|
||||||
|
u'The phpMyAdmin devel team', 'manual'),
|
||||||
|
]
|
||||||
|
|
||||||
|
# The name of an image file (relative to this directory) to place at the top of
|
||||||
|
# the title page.
|
||||||
|
#latex_logo = None
|
||||||
|
|
||||||
|
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||||
|
# not chapters.
|
||||||
|
#latex_use_parts = False
|
||||||
|
|
||||||
|
# If true, show page references after internal links.
|
||||||
|
#latex_show_pagerefs = False
|
||||||
|
|
||||||
|
# If true, show URL addresses after external links.
|
||||||
|
#latex_show_urls = False
|
||||||
|
|
||||||
|
# Documents to append as an appendix to all manuals.
|
||||||
|
#latex_appendices = []
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#latex_domain_indices = True
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for manual page output ---------------------------------------
|
||||||
|
|
||||||
|
# One entry per manual page. List of tuples
|
||||||
|
# (source start file, name, description, authors, manual section).
|
||||||
|
man_pages = [
|
||||||
|
('index', 'phpmyadmin', u'phpMyAdmin Documentation',
|
||||||
|
[u'The phpMyAdmin devel team'], 1)
|
||||||
|
]
|
||||||
|
|
||||||
|
# If true, show URL addresses after external links.
|
||||||
|
#man_show_urls = False
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Texinfo output -------------------------------------------
|
||||||
|
|
||||||
|
# Grouping the document tree into Texinfo files. List of tuples
|
||||||
|
# (source start file, target name, title, author,
|
||||||
|
# dir menu entry, description, category)
|
||||||
|
texinfo_documents = [
|
||||||
|
('index', 'phpMyAdmin', u'phpMyAdmin Documentation',
|
||||||
|
u'The phpMyAdmin devel team', 'phpMyAdmin', 'One line description of project.',
|
||||||
|
'Miscellaneous'),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Documents to append as an appendix to all manuals.
|
||||||
|
#texinfo_appendices = []
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#texinfo_domain_indices = True
|
||||||
|
|
||||||
|
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||||
|
#texinfo_show_urls = 'footnote'
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Epub output ---------------------------------------------------
|
||||||
|
|
||||||
|
# Bibliographic Dublin Core info.
|
||||||
|
epub_title = u'phpMyAdmin'
|
||||||
|
epub_author = u'The phpMyAdmin devel team'
|
||||||
|
epub_publisher = u'The phpMyAdmin devel team'
|
||||||
|
epub_copyright = copyright
|
||||||
|
|
||||||
|
# The language of the text. It defaults to the language option
|
||||||
|
# or en if the language is not set.
|
||||||
|
#epub_language = ''
|
||||||
|
|
||||||
|
# The scheme of the identifier. Typical schemes are ISBN or URL.
|
||||||
|
#epub_scheme = ''
|
||||||
|
|
||||||
|
# The unique identifier of the text. This can be a ISBN number
|
||||||
|
# or the project homepage.
|
||||||
|
#epub_identifier = ''
|
||||||
|
|
||||||
|
# A unique identification for the text.
|
||||||
|
#epub_uid = ''
|
||||||
|
|
||||||
|
# A tuple containing the cover image and cover page html template filenames.
|
||||||
|
#epub_cover = ()
|
||||||
|
|
||||||
|
# HTML files that should be inserted before the pages created by sphinx.
|
||||||
|
# The format is a list of tuples containing the path and title.
|
||||||
|
#epub_pre_files = []
|
||||||
|
|
||||||
|
# HTML files shat should be inserted after the pages created by sphinx.
|
||||||
|
# The format is a list of tuples containing the path and title.
|
||||||
|
#epub_post_files = []
|
||||||
|
|
||||||
|
# A list of files that should not be packed into the epub file.
|
||||||
|
#epub_exclude_files = []
|
||||||
|
|
||||||
|
# The depth of the table of contents in toc.ncx.
|
||||||
|
#epub_tocdepth = 3
|
||||||
|
|
||||||
|
# Allow duplicate toc entries.
|
||||||
|
#epub_tocdup = True
|
||||||
|
|
||||||
|
# Highlight PHP without starting <?php tag
|
||||||
|
from sphinx.highlighting import lexers
|
||||||
|
from pygments.lexers.web import PhpLexer
|
||||||
|
|
||||||
|
lexers['php'] = PhpLexer(startinline=True)
|
2956
.devilbox/www/htdocs/vendor/phpmyadmin/doc/config.rst
vendored
Normal file
49
.devilbox/www/htdocs/vendor/phpmyadmin/doc/copyright.rst
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
.. _copyright:
|
||||||
|
|
||||||
|
Copyright
|
||||||
|
=========
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
|
||||||
|
Copyright (C) 2001-2014 Marc Delisle <marc_at_infomarc.info>
|
||||||
|
Olivier Müller <om_at_omnis.ch>
|
||||||
|
Robin Johnson <robbat2_at_users.sourceforge.net>
|
||||||
|
Alexander M. Turek <me_at_derrabus.de>
|
||||||
|
Michal Čihař <michal_at_cihar.com>
|
||||||
|
Garvin Hicking <me_at_supergarv.de>
|
||||||
|
Michael Keck <mkkeck_at_users.sourceforge.net>
|
||||||
|
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
|
||||||
|
[check credits for more details]
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License version 2, as
|
||||||
|
published by the Free Software Foundation.
|
||||||
|
|
||||||
|
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 <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Third party licenses
|
||||||
|
++++++++++++++++++++
|
||||||
|
|
||||||
|
phpMyAdmin includes several third party libraries which come under their
|
||||||
|
respective licenses.
|
||||||
|
|
||||||
|
jQuery's license, which is where we got the files under js/jquery/ is
|
||||||
|
(MIT|GPL), a copy of each license is available in this repository (GPL
|
||||||
|
is available as LICENSE, MIT as js/jquery/MIT-LICENSE.txt).
|
||||||
|
|
||||||
|
TCPDF which is located under libraries/tcpdf is released under GPL
|
||||||
|
version 3 and the license is available as libraries/tcpdf/LICENSE.TXT.
|
||||||
|
|
||||||
|
DejaVu fonts which are located under libraries/tcpdf/fonts/ and their
|
||||||
|
license is documented in
|
||||||
|
libraries/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE.
|
||||||
|
|
||||||
|
PHP-gettext which is located under libraries/php-gettext/ is released
|
||||||
|
under GPL version 2 license which is available in the LICENSE file.
|
1111
.devilbox/www/htdocs/vendor/phpmyadmin/doc/credits.rst
vendored
Normal file
12
.devilbox/www/htdocs/vendor/phpmyadmin/doc/developers.rst
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
.. _developers:
|
||||||
|
|
||||||
|
Developers Information
|
||||||
|
======================
|
||||||
|
|
||||||
|
phpMyAdmin is Open Source, so you're invited to contribute to it. Many
|
||||||
|
great features have been written by other people and you too can help
|
||||||
|
to make phpMyAdmin a useful tool.
|
||||||
|
|
||||||
|
You can check out all the possibilities to contribute in the
|
||||||
|
`contribute section on our website
|
||||||
|
<https://www.phpmyadmin.net/contribute/>`_.
|
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/config.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/copyright.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/credits.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/developers.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/environment.pickle
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/faq.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/glossary.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/import_export.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/index.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/intro.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/other.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/privileges.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/require.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/setup.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/transformations.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/user.doctree
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/doctrees/vendors.doctree
vendored
Normal file
2192
.devilbox/www/htdocs/vendor/phpmyadmin/doc/faq.rst
vendored
Normal file
401
.devilbox/www/htdocs/vendor/phpmyadmin/doc/glossary.rst
vendored
Normal file
@ -0,0 +1,401 @@
|
|||||||
|
.. _glossary:
|
||||||
|
|
||||||
|
Glossary
|
||||||
|
========
|
||||||
|
|
||||||
|
From Wikipedia, the free encyclopedia
|
||||||
|
|
||||||
|
.. glossary::
|
||||||
|
|
||||||
|
.htaccess
|
||||||
|
the default name of Apache's directory-level configuration file.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/.htaccess>
|
||||||
|
|
||||||
|
ACL
|
||||||
|
Access Contol List
|
||||||
|
|
||||||
|
Blowfish
|
||||||
|
a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Blowfish_(cipher)>
|
||||||
|
|
||||||
|
Browser
|
||||||
|
a software application that enables a user to display and interact with text, images, and other information typically located on a web page at a website on the World Wide Web.
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Web_browser>
|
||||||
|
|
||||||
|
bzip2
|
||||||
|
a free software/open source data compression algorithm and program developed by Julian Seward.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Bzip2>
|
||||||
|
|
||||||
|
CGI
|
||||||
|
Common Gateway Interface is an important World Wide Web technology that
|
||||||
|
enables a client web browser to request data from a program executed on
|
||||||
|
the Web server.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/CGI>
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
a log or record of changes made to a project.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Changelog>
|
||||||
|
|
||||||
|
Client
|
||||||
|
a computer system that accesses a (remote) service on another computer by some kind of network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Client_(computing)>
|
||||||
|
|
||||||
|
column
|
||||||
|
a set of data values of a particular simple type, one for each row of the table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Column_(database)>
|
||||||
|
|
||||||
|
Cookie
|
||||||
|
a packet of information sent by a server to a World Wide Web browser and then sent back by the browser each time it accesses that server.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/HTTP_cookie>
|
||||||
|
|
||||||
|
CSV
|
||||||
|
Comma- separated values
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Comma-separated_values>
|
||||||
|
|
||||||
|
DB
|
||||||
|
look at :term:`database`
|
||||||
|
|
||||||
|
database
|
||||||
|
an organized collection of data.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Database>
|
||||||
|
|
||||||
|
Engine
|
||||||
|
look at :term:`storage engines`
|
||||||
|
|
||||||
|
extension
|
||||||
|
a PHP module that extends PHP with additional functionality.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/extension>
|
||||||
|
|
||||||
|
FAQ
|
||||||
|
Frequently Asked Questions is a list of commonly asked question and there
|
||||||
|
answers.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/FAQ>
|
||||||
|
|
||||||
|
Field
|
||||||
|
one part of divided data/columns.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Field_(computer_science)>
|
||||||
|
|
||||||
|
foreign key
|
||||||
|
a column or group of columns in a database row that point to a key column
|
||||||
|
or group of columns forming a key of another database row in some
|
||||||
|
(usually different) table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Foreign_key>
|
||||||
|
|
||||||
|
FPDF
|
||||||
|
the free :term:`PDF` library
|
||||||
|
|
||||||
|
.. seealso:: <http://www.fpdf.org/>
|
||||||
|
|
||||||
|
GD
|
||||||
|
Graphics Library by Thomas Boutell and others for dynamically manipulating images.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/GD_Graphics_Library>
|
||||||
|
|
||||||
|
GD2
|
||||||
|
look at :term:`gd`
|
||||||
|
|
||||||
|
gzip
|
||||||
|
gzip is short for GNU zip, a GNU free software file compression program.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Gzip>
|
||||||
|
|
||||||
|
host
|
||||||
|
any machine connected to a computer network, a node that has a hostname.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Host>
|
||||||
|
|
||||||
|
hostname
|
||||||
|
the unique name by which a network attached device is known on a network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Hostname>
|
||||||
|
|
||||||
|
HTTP
|
||||||
|
HyperText Transfer Protocol is the primary method used to transfer or
|
||||||
|
convey information on the World Wide Web.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/HyperText_Transfer_Protocol>
|
||||||
|
|
||||||
|
https
|
||||||
|
a :term:`HTTP`-connection with additional security measures.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Https:_URI_scheme>
|
||||||
|
|
||||||
|
IEC
|
||||||
|
International Electrotechnical Commission
|
||||||
|
|
||||||
|
IIS
|
||||||
|
Internet Information Services is a set of Internet-based services for
|
||||||
|
servers using Microsoft Windows.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Internet_Information_Services>
|
||||||
|
|
||||||
|
Index
|
||||||
|
a feature that allows quick access to the rows in a table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Index_(database)>
|
||||||
|
|
||||||
|
IP
|
||||||
|
Internet Protocol is a data-oriented protocol used by source and
|
||||||
|
destination hosts for communicating data across a packet-switched
|
||||||
|
internetwork.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Internet_Protocol>
|
||||||
|
|
||||||
|
IP Address
|
||||||
|
a unique number that devices use in order to identify and communicate with each other on a network utilizing the Internet Protocol standard.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/IP_Address>
|
||||||
|
|
||||||
|
IPv6
|
||||||
|
IPv6 (Internet Protocol version 6) is the latest revision of the
|
||||||
|
Internet Protocol (:term:`IP`), designed to deal with the
|
||||||
|
long-anticipated problem of its precedessor IPv4 running out of addresses.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/IPv6>
|
||||||
|
|
||||||
|
ISAPI
|
||||||
|
Internet Server Application Programming Interface is the API of Internet Information Services (IIS).
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ISAPI>
|
||||||
|
|
||||||
|
ISP
|
||||||
|
Internet service provider is a business or organization that offers users
|
||||||
|
access to the Internet and related services.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ISP>
|
||||||
|
|
||||||
|
ISO
|
||||||
|
International Standards Organisation
|
||||||
|
|
||||||
|
JPEG
|
||||||
|
a most commonly used standard method of lossy compression for photographic images.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/JPEG>
|
||||||
|
|
||||||
|
JPG
|
||||||
|
look at :term:`jpeg`
|
||||||
|
|
||||||
|
Key
|
||||||
|
look at :term:`index`
|
||||||
|
|
||||||
|
LATEX
|
||||||
|
a document preparation system for the TEX typesetting program.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/LaTeX>
|
||||||
|
|
||||||
|
Mac
|
||||||
|
Apple Macintosh is line of personal computers is designed, developed, manufactured, and marketed by Apple Computer.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Mac>
|
||||||
|
|
||||||
|
Mac OS X
|
||||||
|
the operating system which is included with all currently shipping Apple Macintosh computers in the consumer and professional markets.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Mac_OS_X>
|
||||||
|
|
||||||
|
MCrypt
|
||||||
|
a cryptographic library.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MCrypt>
|
||||||
|
|
||||||
|
mcrypt
|
||||||
|
the MCrypt PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mcrypt>
|
||||||
|
|
||||||
|
MIME
|
||||||
|
Multipurpose Internet Mail Extensions is
|
||||||
|
an Internet Standard for the format of e-mail.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MIME>
|
||||||
|
|
||||||
|
module
|
||||||
|
some sort of extension for the Apache Webserver.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/module>
|
||||||
|
|
||||||
|
mod_proxy_fcgi
|
||||||
|
an Apache module implmenting a Fast CGI interface; PHP can be run as a CGI module, FastCGI, or
|
||||||
|
directly as an Apache module.
|
||||||
|
|
||||||
|
MySQL
|
||||||
|
a multithreaded, multi-user, SQL (Structured Query Language) Database Management System (DBMS).
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MySQL>
|
||||||
|
|
||||||
|
mysqli
|
||||||
|
the improved MySQL client PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mysqli>
|
||||||
|
|
||||||
|
mysql
|
||||||
|
the MySQL client PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mysql>
|
||||||
|
|
||||||
|
OpenDocument
|
||||||
|
open standard for office documents.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/OpenDocument>
|
||||||
|
|
||||||
|
OS X
|
||||||
|
look at :term:`Mac OS X`.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/OS_X>
|
||||||
|
|
||||||
|
PDF
|
||||||
|
Portable Document Format is a file format developed by Adobe Systems for
|
||||||
|
representing two dimensional documents in a device independent and
|
||||||
|
resolution independent format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Portable_Document_Format>
|
||||||
|
|
||||||
|
PEAR
|
||||||
|
the PHP Extension and Application Repository.
|
||||||
|
|
||||||
|
.. seealso:: <https://pear.php.net/>
|
||||||
|
|
||||||
|
PCRE
|
||||||
|
Perl Compatible Regular Expressions is the perl-compatible regular
|
||||||
|
expression functions for PHP
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/pcre>
|
||||||
|
|
||||||
|
PHP
|
||||||
|
short for "PHP: Hypertext Preprocessor", is an open-source, reflective
|
||||||
|
programming language used mainly for developing server-side applications
|
||||||
|
and dynamic web content, and more recently, a broader range of software
|
||||||
|
applications.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/PHP>
|
||||||
|
|
||||||
|
port
|
||||||
|
a connection through which data is sent and received.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Port_(computing)>
|
||||||
|
|
||||||
|
RFC
|
||||||
|
Request for Comments (RFC) documents are a series of memoranda
|
||||||
|
encompassing new research, innovations, and methodologies applicable to
|
||||||
|
Internet technologies.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Request_for_Comments>
|
||||||
|
|
||||||
|
RFC 1952
|
||||||
|
GZIP file format specification version 4.3
|
||||||
|
|
||||||
|
.. seealso:: :rfc:`1952`
|
||||||
|
|
||||||
|
Row (record, tuple)
|
||||||
|
represents a single, implicitly structured data item in a table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Row_(database)>
|
||||||
|
|
||||||
|
Server
|
||||||
|
a computer system that provides services to other computing systems over a network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Server_(computing)>
|
||||||
|
|
||||||
|
Storage Engines
|
||||||
|
handlers for different table types
|
||||||
|
|
||||||
|
.. seealso:: <https://dev.mysql.com/doc/en/storage-engines.html>
|
||||||
|
|
||||||
|
socket
|
||||||
|
a form of inter-process communication.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Socket#Computer_sockets>
|
||||||
|
|
||||||
|
SSL
|
||||||
|
Secure Sockets Layer is a cryptographic protocol which provides secure
|
||||||
|
communication on the Internet.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Secure_Sockets_Layer>
|
||||||
|
|
||||||
|
Stored procedure
|
||||||
|
a subroutine available to applications accessing a relational database system
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Stored_procedure>
|
||||||
|
|
||||||
|
SQL
|
||||||
|
Structured Query Language
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/SQL>
|
||||||
|
|
||||||
|
table
|
||||||
|
a set of data elements (cells) that is organized, defined and stored as
|
||||||
|
horizontal rows and vertical columns where each item can be uniquely
|
||||||
|
identified by a label or key or by it?s position in relation to other
|
||||||
|
items.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Table_(database)>
|
||||||
|
|
||||||
|
tar
|
||||||
|
a type of archive file format: the Tape ARchive format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Tar_(file_format)>
|
||||||
|
|
||||||
|
TCP
|
||||||
|
Transmission Control Protocol is one of the core protocols of the
|
||||||
|
Internet protocol suite.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/TCP>
|
||||||
|
|
||||||
|
TCPDF
|
||||||
|
Rewrite of :term:`UFPDF` with various improvements.
|
||||||
|
|
||||||
|
.. seealso:: <https://tcpdf.org/>
|
||||||
|
|
||||||
|
trigger
|
||||||
|
a procedural code that is automatically executed in response to certain events on a particular table or view in a database
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Database_trigger>
|
||||||
|
|
||||||
|
UFPDF
|
||||||
|
Unicode/UTF-8 extension for :term:`FPDF`
|
||||||
|
|
||||||
|
URL
|
||||||
|
Uniform Resource Locator is a sequence of characters, conforming to a
|
||||||
|
standardized format, that is used for referring to resources, such as
|
||||||
|
documents and images on the Internet, by their location.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/URL>
|
||||||
|
|
||||||
|
Webserver
|
||||||
|
A computer (program) that is responsible for accepting HTTP requests from clients and serving them Web pages.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Webserver>
|
||||||
|
|
||||||
|
XML
|
||||||
|
Extensible Markup Language is a W3C-recommended general- purpose markup
|
||||||
|
language for creating special-purpose markup languages, capable of
|
||||||
|
describing many different kinds of data.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/XML>
|
||||||
|
|
||||||
|
ZIP
|
||||||
|
a popular data compression and archival format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ZIP_(file_format)>
|
||||||
|
|
||||||
|
zlib
|
||||||
|
an open-source, cross- platform data compression library by Jean-loup Gailly and Mark Adler.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Zlib>
|
||||||
|
|
||||||
|
|
4
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/.buildinfo
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Sphinx build info version 1
|
||||||
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
|
config: 58db3265153081cb446f7a8b13632715
|
||||||
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_images/usergroups.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
2956
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/config.txt
vendored
Normal file
49
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/copyright.txt
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
.. _copyright:
|
||||||
|
|
||||||
|
Copyright
|
||||||
|
=========
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
|
||||||
|
Copyright (C) 2001-2014 Marc Delisle <marc_at_infomarc.info>
|
||||||
|
Olivier Müller <om_at_omnis.ch>
|
||||||
|
Robin Johnson <robbat2_at_users.sourceforge.net>
|
||||||
|
Alexander M. Turek <me_at_derrabus.de>
|
||||||
|
Michal Čihař <michal_at_cihar.com>
|
||||||
|
Garvin Hicking <me_at_supergarv.de>
|
||||||
|
Michael Keck <mkkeck_at_users.sourceforge.net>
|
||||||
|
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
|
||||||
|
[check credits for more details]
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License version 2, as
|
||||||
|
published by the Free Software Foundation.
|
||||||
|
|
||||||
|
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 <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Third party licenses
|
||||||
|
++++++++++++++++++++
|
||||||
|
|
||||||
|
phpMyAdmin includes several third party libraries which come under their
|
||||||
|
respective licenses.
|
||||||
|
|
||||||
|
jQuery's license, which is where we got the files under js/jquery/ is
|
||||||
|
(MIT|GPL), a copy of each license is available in this repository (GPL
|
||||||
|
is available as LICENSE, MIT as js/jquery/MIT-LICENSE.txt).
|
||||||
|
|
||||||
|
TCPDF which is located under libraries/tcpdf is released under GPL
|
||||||
|
version 3 and the license is available as libraries/tcpdf/LICENSE.TXT.
|
||||||
|
|
||||||
|
DejaVu fonts which are located under libraries/tcpdf/fonts/ and their
|
||||||
|
license is documented in
|
||||||
|
libraries/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE.
|
||||||
|
|
||||||
|
PHP-gettext which is located under libraries/php-gettext/ is released
|
||||||
|
under GPL version 2 license which is available in the LICENSE file.
|
1111
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/credits.txt
vendored
Normal file
12
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/developers.txt
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
.. _developers:
|
||||||
|
|
||||||
|
Developers Information
|
||||||
|
======================
|
||||||
|
|
||||||
|
phpMyAdmin is Open Source, so you're invited to contribute to it. Many
|
||||||
|
great features have been written by other people and you too can help
|
||||||
|
to make phpMyAdmin a useful tool.
|
||||||
|
|
||||||
|
You can check out all the possibilities to contribute in the
|
||||||
|
`contribute section on our website
|
||||||
|
<https://www.phpmyadmin.net/contribute/>`_.
|
2192
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/faq.txt
vendored
Normal file
401
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/glossary.txt
vendored
Normal file
@ -0,0 +1,401 @@
|
|||||||
|
.. _glossary:
|
||||||
|
|
||||||
|
Glossary
|
||||||
|
========
|
||||||
|
|
||||||
|
From Wikipedia, the free encyclopedia
|
||||||
|
|
||||||
|
.. glossary::
|
||||||
|
|
||||||
|
.htaccess
|
||||||
|
the default name of Apache's directory-level configuration file.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/.htaccess>
|
||||||
|
|
||||||
|
ACL
|
||||||
|
Access Contol List
|
||||||
|
|
||||||
|
Blowfish
|
||||||
|
a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Blowfish_(cipher)>
|
||||||
|
|
||||||
|
Browser
|
||||||
|
a software application that enables a user to display and interact with text, images, and other information typically located on a web page at a website on the World Wide Web.
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Web_browser>
|
||||||
|
|
||||||
|
bzip2
|
||||||
|
a free software/open source data compression algorithm and program developed by Julian Seward.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Bzip2>
|
||||||
|
|
||||||
|
CGI
|
||||||
|
Common Gateway Interface is an important World Wide Web technology that
|
||||||
|
enables a client web browser to request data from a program executed on
|
||||||
|
the Web server.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/CGI>
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
a log or record of changes made to a project.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Changelog>
|
||||||
|
|
||||||
|
Client
|
||||||
|
a computer system that accesses a (remote) service on another computer by some kind of network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Client_(computing)>
|
||||||
|
|
||||||
|
column
|
||||||
|
a set of data values of a particular simple type, one for each row of the table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Column_(database)>
|
||||||
|
|
||||||
|
Cookie
|
||||||
|
a packet of information sent by a server to a World Wide Web browser and then sent back by the browser each time it accesses that server.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/HTTP_cookie>
|
||||||
|
|
||||||
|
CSV
|
||||||
|
Comma- separated values
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Comma-separated_values>
|
||||||
|
|
||||||
|
DB
|
||||||
|
look at :term:`database`
|
||||||
|
|
||||||
|
database
|
||||||
|
an organized collection of data.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Database>
|
||||||
|
|
||||||
|
Engine
|
||||||
|
look at :term:`storage engines`
|
||||||
|
|
||||||
|
extension
|
||||||
|
a PHP module that extends PHP with additional functionality.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/extension>
|
||||||
|
|
||||||
|
FAQ
|
||||||
|
Frequently Asked Questions is a list of commonly asked question and there
|
||||||
|
answers.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/FAQ>
|
||||||
|
|
||||||
|
Field
|
||||||
|
one part of divided data/columns.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Field_(computer_science)>
|
||||||
|
|
||||||
|
foreign key
|
||||||
|
a column or group of columns in a database row that point to a key column
|
||||||
|
or group of columns forming a key of another database row in some
|
||||||
|
(usually different) table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Foreign_key>
|
||||||
|
|
||||||
|
FPDF
|
||||||
|
the free :term:`PDF` library
|
||||||
|
|
||||||
|
.. seealso:: <http://www.fpdf.org/>
|
||||||
|
|
||||||
|
GD
|
||||||
|
Graphics Library by Thomas Boutell and others for dynamically manipulating images.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/GD_Graphics_Library>
|
||||||
|
|
||||||
|
GD2
|
||||||
|
look at :term:`gd`
|
||||||
|
|
||||||
|
gzip
|
||||||
|
gzip is short for GNU zip, a GNU free software file compression program.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Gzip>
|
||||||
|
|
||||||
|
host
|
||||||
|
any machine connected to a computer network, a node that has a hostname.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Host>
|
||||||
|
|
||||||
|
hostname
|
||||||
|
the unique name by which a network attached device is known on a network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Hostname>
|
||||||
|
|
||||||
|
HTTP
|
||||||
|
HyperText Transfer Protocol is the primary method used to transfer or
|
||||||
|
convey information on the World Wide Web.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/HyperText_Transfer_Protocol>
|
||||||
|
|
||||||
|
https
|
||||||
|
a :term:`HTTP`-connection with additional security measures.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Https:_URI_scheme>
|
||||||
|
|
||||||
|
IEC
|
||||||
|
International Electrotechnical Commission
|
||||||
|
|
||||||
|
IIS
|
||||||
|
Internet Information Services is a set of Internet-based services for
|
||||||
|
servers using Microsoft Windows.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Internet_Information_Services>
|
||||||
|
|
||||||
|
Index
|
||||||
|
a feature that allows quick access to the rows in a table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Index_(database)>
|
||||||
|
|
||||||
|
IP
|
||||||
|
Internet Protocol is a data-oriented protocol used by source and
|
||||||
|
destination hosts for communicating data across a packet-switched
|
||||||
|
internetwork.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Internet_Protocol>
|
||||||
|
|
||||||
|
IP Address
|
||||||
|
a unique number that devices use in order to identify and communicate with each other on a network utilizing the Internet Protocol standard.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/IP_Address>
|
||||||
|
|
||||||
|
IPv6
|
||||||
|
IPv6 (Internet Protocol version 6) is the latest revision of the
|
||||||
|
Internet Protocol (:term:`IP`), designed to deal with the
|
||||||
|
long-anticipated problem of its precedessor IPv4 running out of addresses.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/IPv6>
|
||||||
|
|
||||||
|
ISAPI
|
||||||
|
Internet Server Application Programming Interface is the API of Internet Information Services (IIS).
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ISAPI>
|
||||||
|
|
||||||
|
ISP
|
||||||
|
Internet service provider is a business or organization that offers users
|
||||||
|
access to the Internet and related services.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ISP>
|
||||||
|
|
||||||
|
ISO
|
||||||
|
International Standards Organisation
|
||||||
|
|
||||||
|
JPEG
|
||||||
|
a most commonly used standard method of lossy compression for photographic images.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/JPEG>
|
||||||
|
|
||||||
|
JPG
|
||||||
|
look at :term:`jpeg`
|
||||||
|
|
||||||
|
Key
|
||||||
|
look at :term:`index`
|
||||||
|
|
||||||
|
LATEX
|
||||||
|
a document preparation system for the TEX typesetting program.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/LaTeX>
|
||||||
|
|
||||||
|
Mac
|
||||||
|
Apple Macintosh is line of personal computers is designed, developed, manufactured, and marketed by Apple Computer.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Mac>
|
||||||
|
|
||||||
|
Mac OS X
|
||||||
|
the operating system which is included with all currently shipping Apple Macintosh computers in the consumer and professional markets.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Mac_OS_X>
|
||||||
|
|
||||||
|
MCrypt
|
||||||
|
a cryptographic library.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MCrypt>
|
||||||
|
|
||||||
|
mcrypt
|
||||||
|
the MCrypt PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mcrypt>
|
||||||
|
|
||||||
|
MIME
|
||||||
|
Multipurpose Internet Mail Extensions is
|
||||||
|
an Internet Standard for the format of e-mail.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MIME>
|
||||||
|
|
||||||
|
module
|
||||||
|
some sort of extension for the Apache Webserver.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/module>
|
||||||
|
|
||||||
|
mod_proxy_fcgi
|
||||||
|
an Apache module implmenting a Fast CGI interface; PHP can be run as a CGI module, FastCGI, or
|
||||||
|
directly as an Apache module.
|
||||||
|
|
||||||
|
MySQL
|
||||||
|
a multithreaded, multi-user, SQL (Structured Query Language) Database Management System (DBMS).
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/MySQL>
|
||||||
|
|
||||||
|
mysqli
|
||||||
|
the improved MySQL client PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mysqli>
|
||||||
|
|
||||||
|
mysql
|
||||||
|
the MySQL client PHP extension.
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/mysql>
|
||||||
|
|
||||||
|
OpenDocument
|
||||||
|
open standard for office documents.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/OpenDocument>
|
||||||
|
|
||||||
|
OS X
|
||||||
|
look at :term:`Mac OS X`.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/OS_X>
|
||||||
|
|
||||||
|
PDF
|
||||||
|
Portable Document Format is a file format developed by Adobe Systems for
|
||||||
|
representing two dimensional documents in a device independent and
|
||||||
|
resolution independent format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Portable_Document_Format>
|
||||||
|
|
||||||
|
PEAR
|
||||||
|
the PHP Extension and Application Repository.
|
||||||
|
|
||||||
|
.. seealso:: <https://pear.php.net/>
|
||||||
|
|
||||||
|
PCRE
|
||||||
|
Perl Compatible Regular Expressions is the perl-compatible regular
|
||||||
|
expression functions for PHP
|
||||||
|
|
||||||
|
.. seealso:: <https://php.net/pcre>
|
||||||
|
|
||||||
|
PHP
|
||||||
|
short for "PHP: Hypertext Preprocessor", is an open-source, reflective
|
||||||
|
programming language used mainly for developing server-side applications
|
||||||
|
and dynamic web content, and more recently, a broader range of software
|
||||||
|
applications.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/PHP>
|
||||||
|
|
||||||
|
port
|
||||||
|
a connection through which data is sent and received.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Port_(computing)>
|
||||||
|
|
||||||
|
RFC
|
||||||
|
Request for Comments (RFC) documents are a series of memoranda
|
||||||
|
encompassing new research, innovations, and methodologies applicable to
|
||||||
|
Internet technologies.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Request_for_Comments>
|
||||||
|
|
||||||
|
RFC 1952
|
||||||
|
GZIP file format specification version 4.3
|
||||||
|
|
||||||
|
.. seealso:: :rfc:`1952`
|
||||||
|
|
||||||
|
Row (record, tuple)
|
||||||
|
represents a single, implicitly structured data item in a table.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Row_(database)>
|
||||||
|
|
||||||
|
Server
|
||||||
|
a computer system that provides services to other computing systems over a network.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Server_(computing)>
|
||||||
|
|
||||||
|
Storage Engines
|
||||||
|
handlers for different table types
|
||||||
|
|
||||||
|
.. seealso:: <https://dev.mysql.com/doc/en/storage-engines.html>
|
||||||
|
|
||||||
|
socket
|
||||||
|
a form of inter-process communication.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Socket#Computer_sockets>
|
||||||
|
|
||||||
|
SSL
|
||||||
|
Secure Sockets Layer is a cryptographic protocol which provides secure
|
||||||
|
communication on the Internet.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Secure_Sockets_Layer>
|
||||||
|
|
||||||
|
Stored procedure
|
||||||
|
a subroutine available to applications accessing a relational database system
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Stored_procedure>
|
||||||
|
|
||||||
|
SQL
|
||||||
|
Structured Query Language
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/SQL>
|
||||||
|
|
||||||
|
table
|
||||||
|
a set of data elements (cells) that is organized, defined and stored as
|
||||||
|
horizontal rows and vertical columns where each item can be uniquely
|
||||||
|
identified by a label or key or by it?s position in relation to other
|
||||||
|
items.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Table_(database)>
|
||||||
|
|
||||||
|
tar
|
||||||
|
a type of archive file format: the Tape ARchive format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Tar_(file_format)>
|
||||||
|
|
||||||
|
TCP
|
||||||
|
Transmission Control Protocol is one of the core protocols of the
|
||||||
|
Internet protocol suite.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/TCP>
|
||||||
|
|
||||||
|
TCPDF
|
||||||
|
Rewrite of :term:`UFPDF` with various improvements.
|
||||||
|
|
||||||
|
.. seealso:: <https://tcpdf.org/>
|
||||||
|
|
||||||
|
trigger
|
||||||
|
a procedural code that is automatically executed in response to certain events on a particular table or view in a database
|
||||||
|
|
||||||
|
.. seealso:: <https://en.wikipedia.org/wiki/Database_trigger>
|
||||||
|
|
||||||
|
UFPDF
|
||||||
|
Unicode/UTF-8 extension for :term:`FPDF`
|
||||||
|
|
||||||
|
URL
|
||||||
|
Uniform Resource Locator is a sequence of characters, conforming to a
|
||||||
|
standardized format, that is used for referring to resources, such as
|
||||||
|
documents and images on the Internet, by their location.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/URL>
|
||||||
|
|
||||||
|
Webserver
|
||||||
|
A computer (program) that is responsible for accepting HTTP requests from clients and serving them Web pages.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Webserver>
|
||||||
|
|
||||||
|
XML
|
||||||
|
Extensible Markup Language is a W3C-recommended general- purpose markup
|
||||||
|
language for creating special-purpose markup languages, capable of
|
||||||
|
describing many different kinds of data.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/XML>
|
||||||
|
|
||||||
|
ZIP
|
||||||
|
a popular data compression and archival format.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/ZIP_(file_format)>
|
||||||
|
|
||||||
|
zlib
|
||||||
|
an open-source, cross- platform data compression library by Jean-loup Gailly and Mark Adler.
|
||||||
|
|
||||||
|
.. seealso:: <https://www.wikipedia.org/wiki/Zlib>
|
||||||
|
|
||||||
|
|
27
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/import_export.txt
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
Import and export
|
||||||
|
=================
|
||||||
|
|
||||||
|
In addition to the standard Import and Export tab, you can also import an SQL file directly by dragging and dropping
|
||||||
|
it from your local file manager to the phpMyAdmin interface in your web browser.
|
||||||
|
|
||||||
|
Open Document Spreadsheet
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
When importing an ODS speadsheet, the spreadsheet must be named in a specific way in order to make the
|
||||||
|
import as simple as possible.
|
||||||
|
|
||||||
|
Table name
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
During import, phpMyAdmin uses the sheet name as the table name; you should rename the
|
||||||
|
sheet in your spreadsheet program in order to match your existing table name (or the table you wish to create,
|
||||||
|
though this is less of a concern since you could quickly rename the new table from the Operations tab).
|
||||||
|
|
||||||
|
Column names
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
You should also make the first row of your spreadsheet a header with the names of the columns (this can be
|
||||||
|
accomplished by inserting a new row at the top of your spreadsheet). When on the Import screen, select the
|
||||||
|
checkbox for "The first line of the file contains the table column names;" this way your newly imported
|
||||||
|
data will go to the proper columns.
|
||||||
|
|
32
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/index.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
.. phpMyAdmin documentation master file, created by
|
||||||
|
sphinx-quickstart on Wed Sep 26 14:04:48 2012.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to phpMyAdmin's documentation!
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
intro
|
||||||
|
require
|
||||||
|
setup
|
||||||
|
config
|
||||||
|
user
|
||||||
|
faq
|
||||||
|
developers
|
||||||
|
vendors
|
||||||
|
copyright
|
||||||
|
credits
|
||||||
|
glossary
|
||||||
|
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`search`
|
||||||
|
* :ref:`glossary`
|
68
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/intro.txt
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
.. _intro:
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
============
|
||||||
|
|
||||||
|
phpMyAdmin can manage a whole MySQL server (needs a super-user) as
|
||||||
|
well as a single database. To accomplish the latter you'll need a
|
||||||
|
properly set up MySQL user who can read/write only the desired
|
||||||
|
database. It's up to you to look up the appropriate part in the MySQL
|
||||||
|
manual.
|
||||||
|
|
||||||
|
|
||||||
|
Supported features
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Currently phpMyAdmin can:
|
||||||
|
|
||||||
|
* browse and drop databases, tables, views, columns and indexes
|
||||||
|
* display multiple results sets through stored procedures or queries
|
||||||
|
* create, copy, drop, rename and alter databases, tables, columns and
|
||||||
|
indexes
|
||||||
|
* maintenance server, databases and tables, with proposals on server
|
||||||
|
configuration
|
||||||
|
* execute, edit and bookmark any :term:`SQL`-statement, even batch-queries
|
||||||
|
* load text files into tables
|
||||||
|
* create [#f1]_ and read dumps of tables
|
||||||
|
* export [#f1]_ data to various formats: :term:`CSV`, :term:`XML`, :term:`PDF`,
|
||||||
|
:term:`ISO`/:term:`IEC` 26300 - :term:`OpenDocument` Text and Spreadsheet, Microsoft
|
||||||
|
Word 2000, and LATEX formats
|
||||||
|
* import data and :term:`MySQL` structures from :term:`OpenDocument` spreadsheets, as
|
||||||
|
well as :term:`XML`, :term:`CSV`, and :term:`SQL` files
|
||||||
|
* administer multiple servers
|
||||||
|
* manage MySQL users and privileges
|
||||||
|
* check referential integrity in MyISAM tables
|
||||||
|
* using Query-by-example (QBE), create complex queries automatically
|
||||||
|
connecting required tables
|
||||||
|
* create :term:`PDF` graphics of your
|
||||||
|
database layout
|
||||||
|
* search globally in a database or a subset of it
|
||||||
|
* transform stored data into any format using a set of predefined
|
||||||
|
functions, like displaying BLOB-data as image or download-link
|
||||||
|
* track changes on databases, tables and views
|
||||||
|
* support InnoDB tables and foreign keys
|
||||||
|
* support mysqli, the improved MySQL extension see :ref:`faq1_17`
|
||||||
|
* create, edit, call, export and drop stored procedures and functions
|
||||||
|
* create, edit, export and drop events and triggers
|
||||||
|
* communicate in `80 different languages
|
||||||
|
<https://www.phpmyadmin.net/translations/>`_
|
||||||
|
|
||||||
|
|
||||||
|
A word about users
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Many people have difficulty understanding the concept of user
|
||||||
|
management with regards to phpMyAdmin. When a user logs in to
|
||||||
|
phpMyAdmin, that username and password are passed directly to MySQL.
|
||||||
|
phpMyAdmin does no account management on its own (other than allowing
|
||||||
|
one to manipulate the MySQL user account information); all users must
|
||||||
|
be valid MySQL users.
|
||||||
|
|
||||||
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
|
.. [#f1]
|
||||||
|
|
||||||
|
phpMyAdmin can compress (:term:`Zip`, :term:`GZip` or :term:`RFC 1952`
|
||||||
|
formats) dumps and :term:`CSV` exports if you use PHP with
|
||||||
|
:term:`Zlib` support (``--with-zlib``).
|
||||||
|
Proper support may also need changes in :file:`php.ini`.
|
18
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/other.txt
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Other sources of information
|
||||||
|
============================
|
||||||
|
|
||||||
|
Printed Book
|
||||||
|
------------
|
||||||
|
|
||||||
|
The definitive guide to using phpMyAdmin is the book Mastering phpMyAdmin for
|
||||||
|
Effective MySQL Management by Marc Delisle. You can get information on that
|
||||||
|
book and other officially endorsed `books at the phpMyAdmin site`_.
|
||||||
|
|
||||||
|
.. _books at the phpMyAdmin site: https://www.phpmyadmin.net/docs/
|
||||||
|
|
||||||
|
Tutorials
|
||||||
|
---------
|
||||||
|
|
||||||
|
Third party tutorials and articles are listed on our `wiki page`_.
|
||||||
|
|
||||||
|
.. _wiki page: https://wiki.phpmyadmin.net/pma/Articles
|
74
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/privileges.txt
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
User management
|
||||||
|
===============
|
||||||
|
|
||||||
|
User management is the process of controlling which users are allowed to
|
||||||
|
connect to the MySQL server and what permissions they have on each database.
|
||||||
|
phpMyAdmin does not handle user management, rather it passes the username and
|
||||||
|
password on to MySQL, which then determines whether a user is permitted to
|
||||||
|
perform a particular action. Within phpMyAdmin, administrators have full
|
||||||
|
control over creating users, viewing and editing privileges for existing users,
|
||||||
|
and removing users.
|
||||||
|
|
||||||
|
Within phpMyAdmin, user management is controlled via the :guilabel:`Users` link
|
||||||
|
from the main page. Users can be created, edited, and removed.
|
||||||
|
|
||||||
|
Creating a new user
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
To create a new user, click the :guilabel:`Add a new user` link near the bottom
|
||||||
|
of the :guilabel:`Users` page (you must be a "superuser", e.g., user "root").
|
||||||
|
Use the textboxes and drop-downs to configure the user to your particular
|
||||||
|
needs. You can then select whether to create a database for that user and grant
|
||||||
|
specific global privileges. Once you've created the user (by clicking Go), you
|
||||||
|
can define that user's permissions on a specific database (don't grant global
|
||||||
|
privileges in that case). In general, users do not need any global privileges
|
||||||
|
(other than USAGE), only permissions for their specific database.
|
||||||
|
|
||||||
|
Editing an existing user
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
To edit an existing user, simply click the pencil icon to the right of that
|
||||||
|
user in the :guilabel:`Users` page. You can then edit their global- and
|
||||||
|
database-specific privileges, change their password, or even copy those
|
||||||
|
privileges to a new user.
|
||||||
|
|
||||||
|
Deleting a user
|
||||||
|
---------------
|
||||||
|
|
||||||
|
From the :guilabel:`Users` page, check the checkbox for the user you wish to
|
||||||
|
remove, select whether or not to also remove any databases of the same name (if
|
||||||
|
they exist), and click Go.
|
||||||
|
|
||||||
|
Assigning privileges to user for a specific database
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
Users are assigned to databases by editing the user record (from the
|
||||||
|
:guilabel:`Users` link on the home page) not from within the :guilabel:`Users`
|
||||||
|
link under the table. If you are creating a user specifically for a given table
|
||||||
|
you will have to create the user first (with no global privileges) and then go
|
||||||
|
back and edit that user to add the table and privileges for the individual
|
||||||
|
table.
|
||||||
|
|
||||||
|
.. _configurablemenus:
|
||||||
|
|
||||||
|
Configurable menus and user groups
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
By enabling :config:option:`$cfg['Servers'][$i]['usergroups']` and
|
||||||
|
:config:option:`$cfg['Servers'][$i]['usergroups']` you can customize what users
|
||||||
|
will see in the phpMyAdmin navigation.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This feature only limits what a user sees, he is still able to use all the
|
||||||
|
functions. So this can not be considered as a security limitation. Should
|
||||||
|
you want to limit what users can do, use MySQL privileges to achieve that.
|
||||||
|
|
||||||
|
With this feature enabled, the :guilabel:`User accounts` management interface gains
|
||||||
|
a second tab for managing :guilabel:`User groups`, where you can define what each
|
||||||
|
group will view (see image below) and you can then assign each user to one of
|
||||||
|
these groups. Users will be presented with a simplified user interface, which might be
|
||||||
|
useful for inexperienced users who could be overwhelmed by all the features
|
||||||
|
phpMyAdmin provides.
|
||||||
|
|
||||||
|
.. image:: images/usergroups.png
|
59
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/require.txt
vendored
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
.. _require:
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
============
|
||||||
|
|
||||||
|
Web server
|
||||||
|
----------
|
||||||
|
|
||||||
|
Since phpMyAdmin's interface is based entirely in your browser, you'll need a
|
||||||
|
web server (such as Apache, nginx, :term:`IIS`) to install phpMyAdmin's files into.
|
||||||
|
|
||||||
|
PHP
|
||||||
|
---
|
||||||
|
|
||||||
|
* You need PHP 5.5.0 or newer, with ``session`` support, the Standard PHP Library
|
||||||
|
(SPL) extension, JSON support, and the ``mbstring`` extension.
|
||||||
|
|
||||||
|
* To support uploading of ZIP files, you need the PHP ``zip`` extension.
|
||||||
|
|
||||||
|
* You need GD2 support in PHP to display inline thumbnails of JPEGs
|
||||||
|
("image/jpeg: inline") with their original aspect ratio.
|
||||||
|
|
||||||
|
* When using the cookie authentication (the default), the `openssl
|
||||||
|
<https://www.php.net/openssl>`_ extension is strongly suggested.
|
||||||
|
|
||||||
|
* To support upload progress bars, see :ref:`faq2_9`.
|
||||||
|
|
||||||
|
* To support XML and Open Document Spreadsheet importing, you need the
|
||||||
|
`libxml <https://www.php.net/libxml>`_ extension.
|
||||||
|
|
||||||
|
* To support reCAPTCHA on the login page, you need the
|
||||||
|
`openssl <https://www.php.net/openssl>`_ extension.
|
||||||
|
|
||||||
|
* To support displaying phpMyAdmin's latest version, you need to enable
|
||||||
|
``allow_url_open`` in your :file:`php.ini` or to have the
|
||||||
|
`curl <https://www.php.net/curl>`_ extension.
|
||||||
|
|
||||||
|
* Performance suggestion: install the ``ctype`` extension.
|
||||||
|
|
||||||
|
.. seealso:: :ref:`faq1_31`, :ref:`authentication_modes`
|
||||||
|
|
||||||
|
Database
|
||||||
|
--------
|
||||||
|
|
||||||
|
phpMyAdmin supports MySQL-compatible databases.
|
||||||
|
|
||||||
|
* MySQL 5.5 or newer
|
||||||
|
* MariaDB 5.5 or newer
|
||||||
|
|
||||||
|
.. seealso:: :ref:`faq1_17`
|
||||||
|
|
||||||
|
Web browser
|
||||||
|
-----------
|
||||||
|
|
||||||
|
To access phpMyAdmin you need a web browser with cookies and JavaScript
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
You need browser which is supported by jQuery 2.0, see
|
||||||
|
<https://jquery.com/browser-support/>.
|
796
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/setup.txt
vendored
Normal file
@ -0,0 +1,796 @@
|
|||||||
|
.. _setup:
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
phpMyAdmin does not apply any special security methods to the MySQL
|
||||||
|
database server. It is still the system administrator's job to grant
|
||||||
|
permissions on the MySQL databases properly. phpMyAdmin's :guilabel:`Users`
|
||||||
|
page can be used for this.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
:term:`Mac` users should note that if you are on a version before
|
||||||
|
:term:`Mac OS X`, StuffIt unstuffs with :term:`Mac` formats. So you'll have
|
||||||
|
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
|
||||||
|
uploading them to your server, as PHP seems not to like :term:`Mac`-style
|
||||||
|
end of lines character ("``\r``").
|
||||||
|
|
||||||
|
Linux distributions
|
||||||
|
+++++++++++++++++++
|
||||||
|
|
||||||
|
phpMyAdmin is included in most Linux distributions. It is recommended to use
|
||||||
|
distribution packages when possible - they usually provide integration to your
|
||||||
|
distribution and you will automatically get security updates from your distribution.
|
||||||
|
|
||||||
|
|
||||||
|
Debian
|
||||||
|
------
|
||||||
|
|
||||||
|
Debian's package repositories include a phpMyAdmin package, but be aware that
|
||||||
|
the configuration file is maintained in ``/etc/phpmyadmin`` and may differ in
|
||||||
|
some ways from the official phpMyAdmin documentation.
|
||||||
|
|
||||||
|
OpenSUSE
|
||||||
|
--------
|
||||||
|
|
||||||
|
OpenSUSE already comes with phpMyAdmin package, just install packages from
|
||||||
|
the `openSUSE Build Service <https://software.opensuse.org/package/phpMyAdmin>`_.
|
||||||
|
|
||||||
|
Ubuntu
|
||||||
|
------
|
||||||
|
|
||||||
|
Ubuntu ships phpMyAdmin package, however if you want to use recent version, you
|
||||||
|
can use packages from
|
||||||
|
`PPA for Michal Čihař <https://launchpad.net/~nijel/+archive/phpmyadmin>`_.
|
||||||
|
|
||||||
|
Gentoo
|
||||||
|
------
|
||||||
|
|
||||||
|
Gentoo ships the phpMyAdmin package, both in a near stock configuration as well
|
||||||
|
as in a ``webapp-config`` configuration. Use ``emerge dev-db/phpmyadmin`` to
|
||||||
|
install.
|
||||||
|
|
||||||
|
Mandriva
|
||||||
|
--------
|
||||||
|
|
||||||
|
Mandriva ships the phpMyAdmin package in their ``contrib`` branch and can be
|
||||||
|
installed via the usual Control Center.
|
||||||
|
|
||||||
|
Fedora
|
||||||
|
------
|
||||||
|
|
||||||
|
Fedora ships the phpMyAdmin package, but be aware that the configuration file
|
||||||
|
is maintained in ``/etc/phpMyAdmin/`` and may differ in some ways from the
|
||||||
|
official phpMyAdmin documentation.
|
||||||
|
|
||||||
|
Red Hat Enterprise Linux
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Red Hat Enterprise Linux itself and thus derivatives like CentOS don't
|
||||||
|
ship phpMyAdmin, but the Fedora-driven repository
|
||||||
|
`Extra Packages for Enterprise Linux (EPEL) <https://fedoraproject.org/wiki/EPEL>`_
|
||||||
|
is doing so, if it's
|
||||||
|
`enabled <https://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_.
|
||||||
|
But be aware that the configuration file is maintained in
|
||||||
|
``/etc/phpMyAdmin/`` and may differ in some ways from the
|
||||||
|
official phpMyAdmin documentation.
|
||||||
|
|
||||||
|
|
||||||
|
Installing on Windows
|
||||||
|
+++++++++++++++++++++
|
||||||
|
|
||||||
|
The easiest way to get phpMyAdmin on Windows is using third party products
|
||||||
|
which include phpMyAdmin together with a database and web server such as
|
||||||
|
`XAMPP <https://www.apachefriends.org/>`_.
|
||||||
|
|
||||||
|
You can find more of such options at `Wikipedia <https://en.wikipedia.org/wiki/List_of_AMP_packages>`_.
|
||||||
|
|
||||||
|
|
||||||
|
Installing using Composer
|
||||||
|
+++++++++++++++++++++++++
|
||||||
|
|
||||||
|
You can install phpMyAdmin using `Composer <https://getcomposer.org/>`_,
|
||||||
|
however it's currently not available in the default
|
||||||
|
`Packagist <https://packagist.org/>`_ repository due to its technical
|
||||||
|
limitations.
|
||||||
|
|
||||||
|
The installation is possible by adding our own repository
|
||||||
|
<https://www.phpmyadmin.net/packages.json>:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
composer create-project phpmyadmin/phpmyadmin --repository-url=https://www.phpmyadmin.net/packages.json --no-dev
|
||||||
|
|
||||||
|
Installing using Docker
|
||||||
|
+++++++++++++++++++++++
|
||||||
|
|
||||||
|
phpMyAdmin comes with a Docker image, which you can easily deploy. You can
|
||||||
|
download it using:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker pull phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
The phpMyAdmin server will be executed on port 80. It supports several ways of
|
||||||
|
configuring the link to the database server, which you can manage using
|
||||||
|
environment variables:
|
||||||
|
|
||||||
|
.. envvar:: PMA_ARBITRARY
|
||||||
|
|
||||||
|
Allows you to enter database server hostname on login form (see
|
||||||
|
:config:option:`$cfg['AllowArbitraryServer']`).
|
||||||
|
|
||||||
|
.. envvar:: PMA_HOST
|
||||||
|
|
||||||
|
Host name or IP address of the database server to use.
|
||||||
|
|
||||||
|
.. envvar:: PMA_HOSTS
|
||||||
|
|
||||||
|
Comma separated host names or IP addresses of the database servers to use.
|
||||||
|
|
||||||
|
.. envvar:: PMA_USER
|
||||||
|
|
||||||
|
User name to use for :ref:`auth_config`.
|
||||||
|
|
||||||
|
.. envvar:: PMA_PASSWORD
|
||||||
|
|
||||||
|
Password to use for :ref:`auth_config`.
|
||||||
|
|
||||||
|
.. envvar:: PMA_PORT
|
||||||
|
|
||||||
|
Port of the databse server to use.
|
||||||
|
|
||||||
|
.. envvar:: PMA_ABSOLUTE_URI
|
||||||
|
|
||||||
|
The fully-qualified path (``https://pma.example.net/``) where the reverse
|
||||||
|
proxy makes phpMyAdmin available.
|
||||||
|
|
||||||
|
By default, :ref:`cookie` is used, but if :envvar:`PMA_USER` and
|
||||||
|
:envvar:`PMA_PASSWORD` are set, it is switched to :ref:`auth_config`.
|
||||||
|
|
||||||
|
Additionally configuration can be tweaked by :file:`/config.user.inc.php`. If
|
||||||
|
this file exists, it will be loaded after configuration generated from above
|
||||||
|
environment variables, so you can override any configuration variable. This
|
||||||
|
configuraiton can be added as a volume when invoking docker using
|
||||||
|
`-v /some/local/directory/config.user.inc.php:/config.user.inc.php` parameters.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
See :ref:`config` for detailed description of configuration options.
|
||||||
|
|
||||||
|
Docker Examples
|
||||||
|
---------------
|
||||||
|
|
||||||
|
To connect phpMyAdmin to given server use:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker run --name myadmin -d -e PMA_HOST=dbhost -p 8080:80 phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
To connect phpMyAdmin to more servers use:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker run --name myadmin -d -e PMA_HOSTS=dbhost1,dbhost2,dbhost3 -p 8080:80 phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
To use arbitrary server option:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 -e PMA_ARBITRARY=1 phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
You can also link the database container using Docker:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
Running with additional configration:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/config.user.inc.php:/config.user.inc.php phpmyadmin/phpmyadmin
|
||||||
|
|
||||||
|
Using docker-compose
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Alternatively you can also use docker-compose with the docker-compose.yml from
|
||||||
|
<https://github.com/phpmyadmin/docker>. This will run phpMyAdmin with
|
||||||
|
arbitrary server - allowing you to specify MySQL/MariaDB server on login page.
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
docker-compose up -d
|
||||||
|
|
||||||
|
.. _quick_install:
|
||||||
|
|
||||||
|
Quick Install
|
||||||
|
+++++++++++++
|
||||||
|
|
||||||
|
#. Choose an appropriate distribution kit from the phpmyadmin.net
|
||||||
|
Downloads page. Some kits contain only the English messages, others
|
||||||
|
contain all languages. We'll assume you chose a kit whose name
|
||||||
|
looks like ``phpMyAdmin-x.x.x -all-languages.tar.gz``.
|
||||||
|
#. Ensure you have downloaded a genuine archive, see :ref:`verify`.
|
||||||
|
#. Untar or unzip the distribution (be sure to unzip the subdirectories):
|
||||||
|
``tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz`` in your
|
||||||
|
webserver's document root. If you don't have direct access to your
|
||||||
|
document root, put the files in a directory on your local machine,
|
||||||
|
and, after step 4, transfer the directory on your web server using,
|
||||||
|
for example, ftp.
|
||||||
|
#. Ensure that all the scripts have the appropriate owner (if PHP is
|
||||||
|
running in safe mode, having some scripts with an owner different from
|
||||||
|
the owner of other scripts will be a problem). See :ref:`faq4_2` and
|
||||||
|
:ref:`faq1_26` for suggestions.
|
||||||
|
#. Now you must configure your installation. There are two methods that
|
||||||
|
can be used. Traditionally, users have hand-edited a copy of
|
||||||
|
:file:`config.inc.php`, but now a wizard-style setup script is provided
|
||||||
|
for those who prefer a graphical installation. Creating a
|
||||||
|
:file:`config.inc.php` is still a quick way to get started and needed for
|
||||||
|
some advanced features.
|
||||||
|
|
||||||
|
|
||||||
|
Manually creating the file
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
To manually create the file, simply use your text editor to create the
|
||||||
|
file :file:`config.inc.php` (you can copy :file:`config.sample.inc.php` to get
|
||||||
|
a minimal configuration file) in the main (top-level) phpMyAdmin
|
||||||
|
directory (the one that contains :file:`index.php`). phpMyAdmin first
|
||||||
|
loads :file:`libraries/config.default.php` and then overrides those values
|
||||||
|
with anything found in :file:`config.inc.php`. If the default value is
|
||||||
|
okay for a particular setting, there is no need to include it in
|
||||||
|
:file:`config.inc.php`. You'll probably need only a few directives to get going; a
|
||||||
|
simple configuration may look like this:
|
||||||
|
|
||||||
|
.. code-block:: xml+php
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// use here a value of your choice at least 32 chars long
|
||||||
|
$cfg['blowfish_secret'] = '1{dd0`<Q),5XP_:R9UK%%8\"EEcyH#{o';
|
||||||
|
|
||||||
|
$i=0;
|
||||||
|
$i++;
|
||||||
|
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
||||||
|
?>
|
||||||
|
|
||||||
|
Or, if you prefer to not be prompted every time you log in:
|
||||||
|
|
||||||
|
.. code-block:: xml+php
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$i=0;
|
||||||
|
$i++;
|
||||||
|
$cfg['Servers'][$i]['user'] = 'root';
|
||||||
|
$cfg['Servers'][$i]['password'] = 'cbb74bc'; // use here your password
|
||||||
|
$cfg['Servers'][$i]['auth_type'] = 'config';
|
||||||
|
?>
|
||||||
|
|
||||||
|
For a full explanation of possible configuration values, see the
|
||||||
|
:ref:`config` of this document.
|
||||||
|
|
||||||
|
.. index:: Setup script
|
||||||
|
|
||||||
|
.. _setup_script:
|
||||||
|
|
||||||
|
Using Setup script
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Instead of manually editing :file:`config.inc.php`, you can use phpMyAdmin's
|
||||||
|
setup feature. First you must manually create a folder ``config``
|
||||||
|
in the phpMyAdmin directory. This is a security measure. On a
|
||||||
|
Linux/Unix system you can use the following commands:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
|
||||||
|
cd phpMyAdmin
|
||||||
|
mkdir config # create directory for saving
|
||||||
|
chmod o+rw config # give it world writable permissions
|
||||||
|
|
||||||
|
And to edit an existing configuration, copy it over first:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
|
||||||
|
cp config.inc.php config/ # copy current configuration for editing
|
||||||
|
chmod o+w config/config.inc.php # give it world writable permissions
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Debian and Ubuntu have simplified this setup and all you need to do is to
|
||||||
|
execute :program:`/usr/sbin/pma-configure`.
|
||||||
|
|
||||||
|
On other platforms, simply create the folder and ensure that your web
|
||||||
|
server has read and write access to it. :ref:`faq1_26` can help with
|
||||||
|
this.
|
||||||
|
|
||||||
|
Next, open your browser and visit the location where you installed phpMyAdmin, with the ``/setup`` suffix. If you have an existing configuration,
|
||||||
|
use the ``Load`` button to bring its content inside the setup panel.
|
||||||
|
Note that **changes are not saved to disk until you explicitly choose ``Save``**
|
||||||
|
from the *Configuration* area of the screen. Normally the script saves the new
|
||||||
|
:file:`config.inc.php` to the ``config/`` directory, but if the webserver does
|
||||||
|
not have the proper permissions you may see the error "Cannot load or
|
||||||
|
save configuration." Ensure that the ``config/`` directory exists and
|
||||||
|
has the proper permissions - or use the ``Download`` link to save the
|
||||||
|
config file locally and upload it (via FTP or some similar means) to the
|
||||||
|
proper location.
|
||||||
|
|
||||||
|
Once the file has been saved, it must be moved out of the ``config/``
|
||||||
|
directory and the permissions must be reset, again as a security
|
||||||
|
measure:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
|
||||||
|
mv config/config.inc.php . # move file to current directory
|
||||||
|
chmod o-rw config.inc.php # remove world read and write permissions
|
||||||
|
rm -rf config # remove not needed directory
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Debian and Ubuntu have simplified this setup and all you need to do is to
|
||||||
|
execute :program:`/usr/sbin/pma-secure`.
|
||||||
|
|
||||||
|
Now the file is ready to be used. You can choose to review or edit the
|
||||||
|
file with your favorite editor, if you prefer to set some advanced
|
||||||
|
options which the setup script does not provide.
|
||||||
|
|
||||||
|
#. If you are using the ``auth_type`` "config", it is suggested that you
|
||||||
|
protect the phpMyAdmin installation directory because using config
|
||||||
|
does not require a user to enter a password to access the phpMyAdmin
|
||||||
|
installation. Use of an alternate authentication method is
|
||||||
|
recommended, for example with HTTP–AUTH in a :term:`.htaccess` file or switch to using
|
||||||
|
``auth_type`` cookie or http. See the :ref:`faqmultiuser`
|
||||||
|
for additional information, especially :ref:`faq4_4`.
|
||||||
|
#. Open the `main phpMyAdmin directory <index.php>`_ in your browser.
|
||||||
|
phpMyAdmin should now display a welcome screen and your databases, or
|
||||||
|
a login dialog if using :term:`HTTP` or
|
||||||
|
cookie authentication mode.
|
||||||
|
#. You should deny access to the ``./libraries`` and ``./setup/lib``
|
||||||
|
subfolders in your webserver configuration.
|
||||||
|
Such configuration prevents from possible
|
||||||
|
path exposure and cross side scripting vulnerabilities that might
|
||||||
|
happen to be found in that code. For the Apache webserver, this is
|
||||||
|
often accomplished with a :term:`.htaccess` file in those directories.
|
||||||
|
#. It is generally a good idea to protect a public phpMyAdmin installation
|
||||||
|
against access by robots as they usually can not do anything good
|
||||||
|
there. You can do this using ``robots.txt`` file in root of your
|
||||||
|
webserver or limit access by web server configuration, see
|
||||||
|
:ref:`faq1_42`.
|
||||||
|
|
||||||
|
|
||||||
|
.. _verify:
|
||||||
|
|
||||||
|
Verifying phpMyAdmin releases
|
||||||
|
+++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
Since July 2015 all phpMyAdmin releases are cryptographically signed by the
|
||||||
|
releasing developer, who through January 2016 was Marc Delisle. His key id is
|
||||||
|
0xFEFC65D181AF644A, his PGP fingerprint is:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
436F F188 4B1A 0C3F DCBF 0D79 FEFC 65D1 81AF 644A
|
||||||
|
|
||||||
|
and you can get more identification information from <https://keybase.io/lem9>.
|
||||||
|
|
||||||
|
Beginning in January 2016, the release manager is Isaac Bennetch. His key id is
|
||||||
|
0xCE752F178259BD92, and his PGP fingerprint is:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92
|
||||||
|
|
||||||
|
and you can get more identification information from <https://keybase.io/ibennetch>.
|
||||||
|
|
||||||
|
Some additional downloads (for example themes) might be signed by Michal Čihař. His key id is
|
||||||
|
0x9C27B31342B7511D, and his PGP fingerprint is:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
63CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D
|
||||||
|
|
||||||
|
and you can get more identification information from <https://keybase.io/nijel>.
|
||||||
|
|
||||||
|
You should verify that the signature matches
|
||||||
|
the archive you have downloaded. This way you can be sure that you are using
|
||||||
|
the same code that was released.
|
||||||
|
|
||||||
|
Each archive is accompanied with ``.asc`` files which contains the PGP signature
|
||||||
|
for it. Once you have both of them in the same folder, you can verify the signature:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
|
||||||
|
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
|
||||||
|
gpg: Can't check signature: public key not found
|
||||||
|
|
||||||
|
As you can see gpg complains that it does not know the public key. At this
|
||||||
|
point you should do one of the following steps:
|
||||||
|
|
||||||
|
* Download the keyring from `our download server <https://files.phpmyadmin.net/phpmyadmin.keyring>`_, then import it with:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --import phpmyadmin.keyring
|
||||||
|
|
||||||
|
* Download and import the key from one of the key servers:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 3D06A59ECE730EB71B511C17CE752F178259BD92
|
||||||
|
gpg: requesting key 8259BD92 from hkp server pgp.mit.edu
|
||||||
|
gpg: key 8259BD92: public key "Isaac Bennetch <bennetch@gmail.com>" imported
|
||||||
|
gpg: no ultimately trusted keys found
|
||||||
|
gpg: Total number processed: 1
|
||||||
|
gpg: imported: 1 (RSA: 1)
|
||||||
|
|
||||||
|
This will improve the situation a bit - at this point you can verify that the
|
||||||
|
signature from the given key is correct but you still can not trust the name used
|
||||||
|
in the key:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
|
||||||
|
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
|
||||||
|
gpg: Good signature from "Isaac Bennetch <bennetch@gmail.com>"
|
||||||
|
gpg: aka "Isaac Bennetch <isaac@bennetch.org>"
|
||||||
|
gpg: WARNING: This key is not certified with a trusted signature!
|
||||||
|
gpg: There is no indication that the signature belongs to the owner.
|
||||||
|
Primary key fingerprint: 3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92
|
||||||
|
|
||||||
|
The problem here is that anybody could issue the key with this name. You need to
|
||||||
|
ensure that the key is actually owned by the mentioned person. The GNU Privacy
|
||||||
|
Handbook covers this topic in the chapter `Validating other keys on your public
|
||||||
|
keyring`_. The most reliable method is to meet the developer in person and
|
||||||
|
exchange key fingerprints, however you can also rely on the web of trust. This way
|
||||||
|
you can trust the key transitively though signatures of others, who have met
|
||||||
|
the developer in person. For example you can see how `Isaac's key links to
|
||||||
|
Linus's key`_.
|
||||||
|
|
||||||
|
Once the key is trusted, the warning will not occur:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
|
||||||
|
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
|
||||||
|
gpg: Good signature from "Isaac Bennetch <bennetch@gmail.com>" [full]
|
||||||
|
|
||||||
|
Should the signature be invalid (the archive has been changed), you would get a
|
||||||
|
clear error regardless of the fact that the key is trusted or not:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
|
||||||
|
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
|
||||||
|
gpg: BAD signature from "Isaac Bennetch <bennetch@gmail.com>" [unknown]
|
||||||
|
|
||||||
|
.. _Validating other keys on your public keyring: https://www.gnupg.org/gph/en/manual.html#AEN335
|
||||||
|
|
||||||
|
.. _Isaac's key links to Linus's key: https://pgp.cs.uu.nl/mk_path.cgi?FROM=ABAF11C65A2970B130ABE3C479BE3E4300411886&TO=3D06A59ECE730EB71B511C17CE752F178259BD92
|
||||||
|
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Configuration storage
|
||||||
|
single: phpMyAdmin configuration storage
|
||||||
|
single: pmadb
|
||||||
|
|
||||||
|
.. _linked-tables:
|
||||||
|
|
||||||
|
phpMyAdmin configuration storage
|
||||||
|
++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
For a whole set of additional features (bookmarks, comments, :term:`SQL`-history,
|
||||||
|
tracking mechanism, :term:`PDF`-generation, column contents transformation,
|
||||||
|
etc.) you need to create a set of special tables. Those tables can be located
|
||||||
|
in your own database, or in a central database for a multi-user installation
|
||||||
|
(this database would then be accessed by the controluser, so no other user
|
||||||
|
should have rights to it).
|
||||||
|
|
||||||
|
Zero configuration
|
||||||
|
------------------
|
||||||
|
|
||||||
|
In many cases, this database structure can be automatically created and
|
||||||
|
configured. This is called “Zero Configuration” mode and can be particularly
|
||||||
|
useful in shared hosting situations. “Zeroconf” mode is on by default, to
|
||||||
|
disable set :config:option:`$cfg['ZeroConf']` to false.
|
||||||
|
|
||||||
|
The following three scenarios are covered by the Zero Configuration mode:
|
||||||
|
|
||||||
|
* When entering a database where the configuration storage tables are not
|
||||||
|
present, phpMyAdmin offers to create them from the Operations tab.
|
||||||
|
* When entering a database where the tables do already exist, the software
|
||||||
|
automatically detects this and begins using them. This is the most common
|
||||||
|
situation; after the tables are initially created automatically they are
|
||||||
|
continually used without disturbing the user; this is also most useful on
|
||||||
|
shared hosting where the user is not able to edit :file:`config.inc.php` and
|
||||||
|
usually the user only has access to one database.
|
||||||
|
* When having access to multiple databases, if the user first enters the
|
||||||
|
database containing the configuration storage tables then switches to
|
||||||
|
another database,
|
||||||
|
phpMyAdmin continues to use the tables from the first database; the user is
|
||||||
|
not prompted to create more tables in the new database.
|
||||||
|
|
||||||
|
|
||||||
|
Manual configuration
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Please look at your ``./sql/`` directory, where you should find a
|
||||||
|
file called *create\_tables.sql*. (If you are using a Windows server,
|
||||||
|
pay special attention to :ref:`faq1_23`).
|
||||||
|
|
||||||
|
If you already had this infrastructure and:
|
||||||
|
|
||||||
|
* upgraded to MySQL 4.1.2 or newer, please use
|
||||||
|
:file:`sql/upgrade_tables_mysql_4_1_2+.sql`.
|
||||||
|
* upgraded to phpMyAdmin 4.3.0 or newer from 2.5.0 or newer (<= 4.2.x),
|
||||||
|
please use :file:`sql/upgrade_column_info_4_3_0+.sql`.
|
||||||
|
|
||||||
|
and then create new tables by importing :file:`sql/create_tables.sql`.
|
||||||
|
|
||||||
|
You can use your phpMyAdmin to create the tables for you. Please be
|
||||||
|
aware that you may need special (administrator) privileges to create
|
||||||
|
the database and tables, and that the script may need some tuning,
|
||||||
|
depending on the database name.
|
||||||
|
|
||||||
|
After having imported the :file:`sql/create_tables.sql` file, you
|
||||||
|
should specify the table names in your :file:`config.inc.php` file. The
|
||||||
|
directives used for that can be found in the :ref:`config`.
|
||||||
|
|
||||||
|
You will also need to have a controluser
|
||||||
|
(:config:option:`$cfg['Servers'][$i]['controluser']` and
|
||||||
|
:config:option:`$cfg['Servers'][$i]['controlpass']` settings)
|
||||||
|
with the proper rights to those tables. For example you can create it
|
||||||
|
using following statement:
|
||||||
|
|
||||||
|
.. code-block:: mysql
|
||||||
|
|
||||||
|
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
|
||||||
|
|
||||||
|
.. _upgrading:
|
||||||
|
|
||||||
|
Upgrading from an older version
|
||||||
|
+++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
**Never** extract the new version over an existing installation of
|
||||||
|
phpMyAdmin, always first remove the old files keeping just the
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
This way you will not leave old no longer working code in the directory,
|
||||||
|
which can have severe security implications or can cause various breakages.
|
||||||
|
|
||||||
|
|
||||||
|
Simply copy :file:`config.inc.php` from your previous installation into
|
||||||
|
the newly unpacked one. Configuration files from old versions may
|
||||||
|
require some tweaking as some options have been changed or removed.
|
||||||
|
For compatibility with PHP 5.3 and later, remove a
|
||||||
|
``set_magic_quotes_runtime(0);`` statement that you might find near
|
||||||
|
the end of your configuration file.
|
||||||
|
|
||||||
|
You should **not** copy :file:`libraries/config.default.php` over
|
||||||
|
:file:`config.inc.php` because the default configuration file is version-
|
||||||
|
specific.
|
||||||
|
|
||||||
|
If you have upgraded your MySQL server from a version previous to 4.1.2 to
|
||||||
|
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
|
||||||
|
should run the :term:`SQL` script found in
|
||||||
|
:file:`sql/upgrade_tables_mysql_4_1_2+.sql`.
|
||||||
|
|
||||||
|
If you have upgraded your phpMyAdmin to 4.3.0 or newer from 2.5.0 or
|
||||||
|
newer (<= 4.2.x) and if you use the phpMyAdmin configuration storage, you
|
||||||
|
should run the :term:`SQL` script found in
|
||||||
|
:file:`sql/upgrade_column_info_4_3_0+.sql`.
|
||||||
|
|
||||||
|
Do not forget to clear the browser cache and to empty the old session by
|
||||||
|
logging out and logging in again.
|
||||||
|
|
||||||
|
.. index:: Authentication mode
|
||||||
|
|
||||||
|
.. _authentication_modes:
|
||||||
|
|
||||||
|
Using authentication modes
|
||||||
|
++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
:term:`HTTP` and cookie authentication modes are recommended in a **multi-user
|
||||||
|
environment** where you want to give users access to their own database and
|
||||||
|
don't want them to play around with others. Nevertheless be aware that MS
|
||||||
|
Internet Explorer seems to be really buggy about cookies, at least till version
|
||||||
|
6. Even in a **single-user environment**, you might prefer to use :term:`HTTP`
|
||||||
|
or cookie mode so that your user/password pair are not in clear in the
|
||||||
|
configuration file.
|
||||||
|
|
||||||
|
:term:`HTTP` and cookie authentication
|
||||||
|
modes are more secure: the MySQL login information does not need to be
|
||||||
|
set in the phpMyAdmin configuration file (except possibly for the
|
||||||
|
:config:option:`$cfg['Servers'][$i]['controluser']`).
|
||||||
|
However, keep in mind that the password travels in plain text, unless
|
||||||
|
you are using the HTTPS protocol. In cookie mode, the password is
|
||||||
|
stored, encrypted with the AES algorithm, in a temporary cookie.
|
||||||
|
|
||||||
|
Then each of the *true* users should be granted a set of privileges
|
||||||
|
on a set of particular databases. Normally you shouldn't give global
|
||||||
|
privileges to an ordinary user, unless you understand the impact of those
|
||||||
|
privileges (for example, you are creating a superuser).
|
||||||
|
For example, to grant the user *real_user* with all privileges on
|
||||||
|
the database *user_base*:
|
||||||
|
|
||||||
|
.. code-block:: mysql
|
||||||
|
|
||||||
|
GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';
|
||||||
|
|
||||||
|
|
||||||
|
What the user may now do is controlled entirely by the MySQL user management
|
||||||
|
system. With HTTP or cookie authentication mode, you don't need to fill the
|
||||||
|
user/password fields inside the :config:option:`$cfg['Servers']`.
|
||||||
|
|
||||||
|
.. index:: pair: HTTP; Authentication mode
|
||||||
|
|
||||||
|
HTTP authentication mode
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
* Uses :term:`HTTP` Basic authentication
|
||||||
|
method and allows you to log in as any valid MySQL user.
|
||||||
|
* Is supported with most PHP configurations. For :term:`IIS` (:term:`ISAPI`)
|
||||||
|
support using :term:`CGI` PHP see :ref:`faq1_32`, for using with Apache
|
||||||
|
:term:`CGI` see :ref:`faq1_35`.
|
||||||
|
* When PHP is running under Apache's :term:`mod_proxy_fcgi` (e.g. with PHP-FPM),
|
||||||
|
``Authorization`` headers are not passed to the underlying FCGI application,
|
||||||
|
such that your credentials will not reach the application. In this case, you can
|
||||||
|
add the following configuration directive:
|
||||||
|
|
||||||
|
.. code-block:: apache
|
||||||
|
|
||||||
|
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
|
||||||
|
|
||||||
|
* See also :ref:`faq4_4` about not using the :term:`.htaccess` mechanism along with
|
||||||
|
':term:`HTTP`' authentication mode.
|
||||||
|
|
||||||
|
.. index:: pair: Cookie; Authentication mode
|
||||||
|
|
||||||
|
.. _cookie:
|
||||||
|
|
||||||
|
Cookie authentication mode
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* Username and password are stored in cookies during the session and password
|
||||||
|
is deleted when it ends.
|
||||||
|
* With this mode, the user can truly log out of phpMyAdmin and log
|
||||||
|
back in with the same username.
|
||||||
|
* If you want to allow users to enter any hostname to connect (rather than only
|
||||||
|
servers that are configured in :file:`config.inc.php`),
|
||||||
|
see the :config:option:`$cfg['AllowArbitraryServer']` directive.
|
||||||
|
* As mentioned in the :ref:`require` section, having the ``mcrypt`` extension will
|
||||||
|
speed up access considerably, but is not required.
|
||||||
|
|
||||||
|
.. index:: pair: Signon; Authentication mode
|
||||||
|
|
||||||
|
.. _auth_signon:
|
||||||
|
|
||||||
|
Signon authentication mode
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* This mode is a convenient way of using credentials from another
|
||||||
|
application to authenticate to phpMyAdmin to implement single signon
|
||||||
|
solution.
|
||||||
|
* The other application has to store login information into session
|
||||||
|
data (see :config:option:`$cfg['Servers'][$i]['SignonSession']`) or you
|
||||||
|
need to implement script to return the credentials (see
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonScript']`).
|
||||||
|
* When no credentials are available, the user is being redirected to
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonURL']`, where you should handle
|
||||||
|
the login process.
|
||||||
|
|
||||||
|
The very basic example of saving credentials in a session is available as
|
||||||
|
:file:`examples/signon.php`:
|
||||||
|
|
||||||
|
.. literalinclude:: ../examples/signon.php
|
||||||
|
:language: php
|
||||||
|
|
||||||
|
Alternatively you can also use this way to integrate with OpenID as shown
|
||||||
|
in :file:`examples/openid.php`:
|
||||||
|
|
||||||
|
.. literalinclude:: ../examples/openid.php
|
||||||
|
:language: php
|
||||||
|
|
||||||
|
If you intend to pass the credentials using some other means than, you have to
|
||||||
|
implement wrapper in PHP to get that data and set it to
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonScript']`. There is very minimal example
|
||||||
|
in :file:`examples/signon-script.php`:
|
||||||
|
|
||||||
|
.. literalinclude:: ../examples/signon-script.php
|
||||||
|
:language: php
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:config:option:`$cfg['Servers'][$i]['auth_type']`,
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonSession']`,
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonScript']`,
|
||||||
|
:config:option:`$cfg['Servers'][$i]['SignonURL']`
|
||||||
|
|
||||||
|
|
||||||
|
.. index:: pair: Config; Authentication mode
|
||||||
|
|
||||||
|
.. _auth_config:
|
||||||
|
|
||||||
|
Config authentication mode
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* This mode is sometimes the less secure one because it requires you to fill the
|
||||||
|
:config:option:`$cfg['Servers'][$i]['user']` and
|
||||||
|
:config:option:`$cfg['Servers'][$i]['password']`
|
||||||
|
fields (and as a result, anyone who can read your :file:`config.inc.php`
|
||||||
|
can discover your username and password).
|
||||||
|
* In the :ref:`faqmultiuser` section, there is an entry explaining how
|
||||||
|
to protect your configuration file.
|
||||||
|
* For additional security in this mode, you may wish to consider the
|
||||||
|
Host authentication :config:option:`$cfg['Servers'][$i]['AllowDeny']['order']`
|
||||||
|
and :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` configuration directives.
|
||||||
|
* Unlike cookie and http, does not require a user to log in when first
|
||||||
|
loading the phpMyAdmin site. This is by design but could allow any
|
||||||
|
user to access your installation. Use of some restriction method is
|
||||||
|
suggested, perhaps a :term:`.htaccess` file with the HTTP-AUTH directive or disallowing
|
||||||
|
incoming HTTP requests at one’s router or firewall will suffice (both
|
||||||
|
of which are beyond the scope of this manual but easily searchable
|
||||||
|
with Google).
|
||||||
|
|
||||||
|
|
||||||
|
Securing your phpMyAdmin installation
|
||||||
|
+++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
The phpMyAdmin team tries hard to make the application secure, however there
|
||||||
|
are always ways to make your installation more secure:
|
||||||
|
|
||||||
|
* Serve phpMyAdmin on HTTPS only. Preferably, you should use HSTS as well, so that
|
||||||
|
you're protected from protocol downgrade attacks.
|
||||||
|
* Remove the ``setup`` directory from phpMyAdmin, you will probably not
|
||||||
|
use it after the initial setup.
|
||||||
|
* Properly choose an authentication method - :ref:`cookie`
|
||||||
|
is probably the best choice for shared hosting.
|
||||||
|
* In case you don't want all MySQL users to be able to access
|
||||||
|
phpMyAdmin, you can use :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` to limit them.
|
||||||
|
* Consider hiding phpMyAdmin behind an authentication proxy, so that
|
||||||
|
users need to authenticate prior to providing MySQL credentials
|
||||||
|
to phpMyAdmin. You can achieve this by configuring your web server to request
|
||||||
|
HTTP authentication. For example in Apache this can be done with:
|
||||||
|
|
||||||
|
.. code-block:: apache
|
||||||
|
|
||||||
|
AuthType Basic
|
||||||
|
AuthName "Restricted Access"
|
||||||
|
AuthUserFile /usr/share/phpmyadmin/passwd
|
||||||
|
Require valid-user
|
||||||
|
|
||||||
|
Once you have changed the configuration, you need to create a list of users which
|
||||||
|
can authenticate. This can be done using the :program:`htpasswd` utility:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
htpasswd -c /usr/share/phpmyadmin/passwd username
|
||||||
|
|
||||||
|
* If you are afraid of automated attacks, enabling Captcha by
|
||||||
|
:config:option:`$cfg['CaptchaLoginPublicKey']` and
|
||||||
|
:config:option:`$cfg['CaptchaLoginPrivateKey']` might be an option.
|
||||||
|
|
||||||
|
Known issues
|
||||||
|
++++++++++++
|
||||||
|
|
||||||
|
Users with column-specific privileges are unable to "Browse"
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
If a user has only column-specific privileges on some (but not all) columns in a table, "Browse"
|
||||||
|
will fail with an error message.
|
||||||
|
|
||||||
|
As a workaround, a bookmarked query with the same name as the table can be created, this will
|
||||||
|
run when using the "Browse" link instead. `Issue 11922 <https://github.com/phpmyadmin/phpmyadmin/issues/11922>`_.
|
||||||
|
|
||||||
|
Trouble logging back in after logging out using 'http' authentication
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
When using the 'http' ``auth_type``, it can be impossible to log back in (when the logout comes
|
||||||
|
manually or after a period of inactivity). `Issue 11898 <https://github.com/phpmyadmin/phpmyadmin/issues/11898>`_.
|
138
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/transformations.txt
vendored
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
.. _transformations:
|
||||||
|
|
||||||
|
Transformations
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. _transformationsintro:
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
++++++++++++
|
||||||
|
|
||||||
|
To enable transformations, you have to setup the ``column_info``
|
||||||
|
table and the proper directives. Please see the :ref:`config` on how to do so.
|
||||||
|
|
||||||
|
You can apply different transformations to the contents of each
|
||||||
|
column. The transformation will take the content of each column and
|
||||||
|
transform it with certain rules defined in the selected
|
||||||
|
transformation.
|
||||||
|
|
||||||
|
Say you have a column 'filename' which contains a filename. Normally
|
||||||
|
you would see in phpMyAdmin only this filename. Using transformations
|
||||||
|
you can transform that filename into a HTML link, so you can click
|
||||||
|
inside of the phpMyAdmin structure on the column's link and will see
|
||||||
|
the file displayed in a new browser window. Using transformation
|
||||||
|
options you can also specify strings to append/prepend to a string or
|
||||||
|
the format you want the output stored in.
|
||||||
|
|
||||||
|
For a general overview of all available transformations and their
|
||||||
|
options, you can consult your *<www.your-host.com>/<your-install-
|
||||||
|
dir>/transformation\_overview.php* installation.
|
||||||
|
|
||||||
|
For a tutorial on how to effectively use transformations, see our
|
||||||
|
`Link section <https://www.phpmyadmin.net/home_page/docs.php>`_ on the
|
||||||
|
official phpMyAdmin homepage.
|
||||||
|
|
||||||
|
.. _transformationshowto:
|
||||||
|
|
||||||
|
Usage
|
||||||
|
+++++
|
||||||
|
|
||||||
|
Go to your *tbl\_structure.php* page (i.e. reached through clicking on
|
||||||
|
the 'Structure' link for a table). There click on "Change" (or change
|
||||||
|
icon) and there you will see three new fields at the end of the line.
|
||||||
|
They are called 'MIME-type', 'Browser transformation' and
|
||||||
|
'Transformation options'.
|
||||||
|
|
||||||
|
* The field 'MIME-type' is a drop-down field. Select the MIME-type that
|
||||||
|
corresponds to the column's contents. Please note that transformations
|
||||||
|
are inactive as long as no MIME-type is selected.
|
||||||
|
* The field 'Browser transformation' is a drop-down field. You can
|
||||||
|
choose from a hopefully growing amount of pre-defined transformations.
|
||||||
|
See below for information on how to build your own transformation.
|
||||||
|
There are global transformations and mimetype-bound transformations.
|
||||||
|
Global transformations can be used for any mimetype. They will take
|
||||||
|
the mimetype, if necessary, into regard. Mimetype-bound
|
||||||
|
transformations usually only operate on a certain mimetype. There are
|
||||||
|
transformations which operate on the main mimetype (like 'image'),
|
||||||
|
which will most likely take the subtype into regard, and those who
|
||||||
|
only operate on a specific subtype (like 'image/jpeg'). You can use
|
||||||
|
transformations on mimetypes for which the function was not defined
|
||||||
|
for. There is no security check for you selected the right
|
||||||
|
transformation, so take care of what the output will be like.
|
||||||
|
* The field 'Transformation options' is a free-type textfield. You have
|
||||||
|
to enter transform-function specific options here. Usually the
|
||||||
|
transforms can operate with default options, but it is generally a
|
||||||
|
good idea to look up the overview to see which options are necessary.
|
||||||
|
Much like the ENUM/SET-Fields, you have to split up several options
|
||||||
|
using the format 'a','b','c',...(NOTE THE MISSING BLANKS). This is
|
||||||
|
because internally the options will be parsed as an array, leaving the
|
||||||
|
first value the first element in the array, and so forth. If you want
|
||||||
|
to specify a MIME character set you can define it in the
|
||||||
|
transformation\_options. You have to put that outside of the pre-
|
||||||
|
defined options of the specific mime-transform, as the last value of
|
||||||
|
the set. Use the format "'; charset=XXX'". If you use a transform, for
|
||||||
|
which you can specify 2 options and you want to append a character
|
||||||
|
set, enter "'first parameter','second parameter','charset=us-ascii'".
|
||||||
|
You can, however use the defaults for the parameters: "'','','charset
|
||||||
|
=us-ascii'".
|
||||||
|
|
||||||
|
.. _transformationsfiles:
|
||||||
|
|
||||||
|
File structure
|
||||||
|
++++++++++++++
|
||||||
|
|
||||||
|
All specific transformations for mimetypes are defined through class
|
||||||
|
files in the directory 'libraries/plugins/transformations/'. Each of
|
||||||
|
them extends a certain transformation abstract class declared in
|
||||||
|
libraries/plugins/transformations/abstract.
|
||||||
|
|
||||||
|
They are stored in files to ease up customization and easy adding of
|
||||||
|
new transformations.
|
||||||
|
|
||||||
|
Because the user cannot enter own mimetypes, it is kept sure that
|
||||||
|
transformations always work. It makes no sense to apply a
|
||||||
|
transformation to a mimetype the transform-function doesn't know to
|
||||||
|
handle.
|
||||||
|
|
||||||
|
There is a file called '*transformations.lib.php*' that provides some
|
||||||
|
basic functions which can be included by any other transform function.
|
||||||
|
|
||||||
|
The file name convention is ``[Mimetype]_[Subtype]_[Transformation
|
||||||
|
Name].class.php``, while the abtract class that it extends has the
|
||||||
|
name ``[Transformation Name]TransformationsPlugin``. All of the
|
||||||
|
methods that have to be implemented by a transformations plug-in are:
|
||||||
|
|
||||||
|
#. getMIMEType() and getMIMESubtype() in the main class;
|
||||||
|
#. getName(), getInfo() and applyTransformation() in the abstract class
|
||||||
|
it extends.
|
||||||
|
|
||||||
|
The getMIMEType(), getMIMESubtype() and getName() methods return the
|
||||||
|
name of the MIME type, MIME Subtype and transformation accordingly.
|
||||||
|
getInfo() returns the transformation's description and possible
|
||||||
|
options it may receive and applyTransformation() is the method that
|
||||||
|
does the actual work of the transformation plug-in.
|
||||||
|
|
||||||
|
Please see the libraries/plugins/transformations/TEMPLATE and
|
||||||
|
libraries/plugins/transformations/TEMPLATE\_ABSTRACT files for adding
|
||||||
|
your own transformation plug-in. You can also generate a new
|
||||||
|
transformation plug-in (with or without the abstract transformation
|
||||||
|
class), by using
|
||||||
|
:file:`libraries/plugins/transformations/generator_plugin.sh` or
|
||||||
|
:file:`libraries/plugins/transformations/generator_main_class.sh`.
|
||||||
|
|
||||||
|
The applyTransformation() method always gets passed three variables:
|
||||||
|
|
||||||
|
#. **$buffer** - Contains the text inside of the column. This is the
|
||||||
|
text, you want to transform.
|
||||||
|
#. **$options** - Contains any user-passed options to a transform
|
||||||
|
function as an array.
|
||||||
|
#. **$meta** - Contains an object with information about your column. The
|
||||||
|
data is drawn from the output of the `mysql\_fetch\_field()
|
||||||
|
<https://www.php.net/mysql_fetch_field>`_ function. This means, all
|
||||||
|
object properties described on the `manual page
|
||||||
|
<https://www.php.net/mysql_fetch_field>`_ are available in this
|
||||||
|
variable and can be used to transform a column accordingly to
|
||||||
|
unsigned/zerofill/not\_null/... properties. The $meta->mimetype
|
||||||
|
variable contains the original MIME-type of the column (i.e.
|
||||||
|
'text/plain', 'image/jpeg' etc.)
|
||||||
|
|
10
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/user.txt
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
User Guide
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
transformations
|
||||||
|
privileges
|
||||||
|
other
|
||||||
|
import_export
|
35
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_sources/vendors.txt
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
Distributing and packaging phpMyAdmin
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
This document is intended to give advices to people who want to
|
||||||
|
redistribute phpMyAdmin inside other software package such as Linux
|
||||||
|
distribution or some all in one package including web server and MySQL
|
||||||
|
server.
|
||||||
|
|
||||||
|
Generally you can customize some basic aspects (paths to some files and
|
||||||
|
behavior) in :file:`libraries/vendor_config.php`.
|
||||||
|
|
||||||
|
For example if you want setup script to generate config file in var, change
|
||||||
|
``SETUP_CONFIG_FILE`` to :file:`/var/lib/phpmyadmin/config.inc.php` and you
|
||||||
|
will also probably want to skip directory writable check, so set
|
||||||
|
``SETUP_DIR_WRITABLE`` to false.
|
||||||
|
|
||||||
|
External libraries
|
||||||
|
------------------
|
||||||
|
|
||||||
|
phpMyAdmin includes several external libraries, you might want to
|
||||||
|
replace them with system ones if they are available, but please note
|
||||||
|
that you should test whether version you provide is compatible with the
|
||||||
|
one we ship.
|
||||||
|
|
||||||
|
Currently known list of external libraries:
|
||||||
|
|
||||||
|
js/jquery
|
||||||
|
jQuery js framework and various jQuery based libraries.
|
||||||
|
|
||||||
|
libraries/php-gettext
|
||||||
|
php-gettext library
|
||||||
|
libraries/tcpdf
|
||||||
|
tcpdf library, stripped down of not needed files
|
||||||
|
libraries/phpseclib
|
||||||
|
portions of phpseclib library
|
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/ajax-loader.gif
vendored
Normal file
After Width: | Height: | Size: 673 B |
537
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/basic.css
vendored
Normal file
@ -0,0 +1,537 @@
|
|||||||
|
/*
|
||||||
|
* basic.css
|
||||||
|
* ~~~~~~~~~
|
||||||
|
*
|
||||||
|
* Sphinx stylesheet -- basic theme.
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* -- main layout ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.clearer {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- relbar ---------------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.related {
|
||||||
|
width: 100%;
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related h3 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 0 10px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related li {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related li.right {
|
||||||
|
float: right;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- sidebar --------------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.sphinxsidebarwrapper {
|
||||||
|
padding: 10px 5px 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar {
|
||||||
|
float: left;
|
||||||
|
width: 230px;
|
||||||
|
margin-left: -100%;
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar ul ul,
|
||||||
|
div.sphinxsidebar ul.want-points {
|
||||||
|
margin-left: 20px;
|
||||||
|
list-style: square;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar ul ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar form {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar input {
|
||||||
|
border: 1px solid #98dbcc;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar #searchbox input[type="text"] {
|
||||||
|
width: 170px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar #searchbox input[type="submit"] {
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- search page ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
ul.search {
|
||||||
|
margin: 10px 0 0 20px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.search li {
|
||||||
|
padding: 5px 0 5px 20px;
|
||||||
|
background-image: url(file.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 0 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.search li a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.search li div.context {
|
||||||
|
color: #888;
|
||||||
|
margin: 2px 0 0 30px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.keywordmatches li.goodmatch a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- index page ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
table.contentstable {
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.contentstable p.biglink {
|
||||||
|
line-height: 150%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.biglink {
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.linkdescr {
|
||||||
|
font-style: italic;
|
||||||
|
padding-top: 5px;
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- general index --------------------------------------------------------- */
|
||||||
|
|
||||||
|
table.indextable {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.indextable td {
|
||||||
|
text-align: left;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.indextable dl, table.indextable dd {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.indextable tr.pcap {
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.indextable tr.cap {
|
||||||
|
margin-top: 10px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.toggler {
|
||||||
|
margin-right: 3px;
|
||||||
|
margin-top: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.modindex-jumpbox {
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
margin: 1em 0 1em 0;
|
||||||
|
padding: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.genindex-jumpbox {
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
margin: 1em 0 1em 0;
|
||||||
|
padding: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- general body styles --------------------------------------------------- */
|
||||||
|
|
||||||
|
a.headerlink {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover > a.headerlink,
|
||||||
|
h2:hover > a.headerlink,
|
||||||
|
h3:hover > a.headerlink,
|
||||||
|
h4:hover > a.headerlink,
|
||||||
|
h5:hover > a.headerlink,
|
||||||
|
h6:hover > a.headerlink,
|
||||||
|
dt:hover > a.headerlink {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body p.caption {
|
||||||
|
text-align: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body td {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-list ul {
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.rubric {
|
||||||
|
margin-top: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.align-left, .figure.align-left, object.align-left {
|
||||||
|
clear: left;
|
||||||
|
float: left;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.align-right, .figure.align-right, object.align-right {
|
||||||
|
clear: right;
|
||||||
|
float: right;
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.align-center, .figure.align-center, object.align-center {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- sidebars -------------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.sidebar {
|
||||||
|
margin: 0 0 0.5em 1em;
|
||||||
|
border: 1px solid #ddb;
|
||||||
|
padding: 7px 7px 0 7px;
|
||||||
|
background-color: #ffe;
|
||||||
|
width: 40%;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.sidebar-title {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- topics ---------------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.topic {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 7px 7px 0 7px;
|
||||||
|
margin: 10px 0 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.topic-title {
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- admonitions ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.admonition {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition dt {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition dl {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.admonition-title {
|
||||||
|
margin: 0px 10px 5px 0px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body p.centered {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- tables ---------------------------------------------------------------- */
|
||||||
|
|
||||||
|
table.docutils {
|
||||||
|
border: 0;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.docutils td, table.docutils th {
|
||||||
|
padding: 1px 8px 1px 5px;
|
||||||
|
border-top: 0;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
border-bottom: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.field-list td, table.field-list th {
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.footnote td, table.footnote th {
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
text-align: left;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.citation {
|
||||||
|
border-left: solid 1px gray;
|
||||||
|
margin-left: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.citation td {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- other body styles ----------------------------------------------------- */
|
||||||
|
|
||||||
|
ol.arabic {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style: lower-alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style: upper-alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style: lower-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.upperroman {
|
||||||
|
list-style: upper-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd p {
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd ul, dd table {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-top: 3px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt:target, .highlighted {
|
||||||
|
background-color: #fbe54e;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.glossary dt {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-list ul {
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-list p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.optional {
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.versionmodified {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.system-message {
|
||||||
|
background-color: #fda;
|
||||||
|
padding: 5px;
|
||||||
|
border: 3px solid red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote:target {
|
||||||
|
background-color: #ffa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line-block {
|
||||||
|
display: block;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line-block .line-block {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
margin-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guilabel, .menuselection {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accelerator {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.classifier {
|
||||||
|
font-style: oblique;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr, acronym {
|
||||||
|
border-bottom: dotted 1px;
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- code displays --------------------------------------------------------- */
|
||||||
|
|
||||||
|
pre {
|
||||||
|
overflow: auto;
|
||||||
|
overflow-y: hidden; /* fixes display issues on Chrome browsers */
|
||||||
|
}
|
||||||
|
|
||||||
|
td.linenos pre {
|
||||||
|
padding: 5px 0px;
|
||||||
|
border: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.highlighttable {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.highlighttable td {
|
||||||
|
padding: 0 0.5em 0 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt.descname {
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt.descclassname {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt.xref, a tt {
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewcode-link {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewcode-back {
|
||||||
|
float: right;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.viewcode-block:target {
|
||||||
|
margin: -1px -10px;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- math display ---------------------------------------------------------- */
|
||||||
|
|
||||||
|
img.math {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body div.math p {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.eqno {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -- printout stylesheet --------------------------------------------------- */
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
div.document,
|
||||||
|
div.documentwrapper,
|
||||||
|
div.bodywrapper {
|
||||||
|
margin: 0 !important;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar,
|
||||||
|
div.related,
|
||||||
|
div.footer,
|
||||||
|
#top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/comment-bright.png
vendored
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/comment-close.png
vendored
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/comment.png
vendored
Normal file
After Width: | Height: | Size: 3.4 KiB |
256
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/default.css
vendored
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
/*
|
||||||
|
* default.css_t
|
||||||
|
* ~~~~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* Sphinx stylesheet -- default theme.
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@import url("basic.css");
|
||||||
|
|
||||||
|
/* -- page layout ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 100%;
|
||||||
|
background-color: #11303d;
|
||||||
|
color: #000;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.document {
|
||||||
|
background-color: #1c4e63;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.documentwrapper {
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.bodywrapper {
|
||||||
|
margin: 0 0 0 230px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 20px 30px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.footer {
|
||||||
|
color: #ffffff;
|
||||||
|
width: 100%;
|
||||||
|
padding: 9px 0 9px 0;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.footer a {
|
||||||
|
color: #ffffff;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related {
|
||||||
|
background-color: #133f52;
|
||||||
|
line-height: 30px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.related a {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar {
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar h3 {
|
||||||
|
font-family: 'Trebuchet MS', sans-serif;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 1.4em;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar h3 a {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar h4 {
|
||||||
|
font-family: 'Trebuchet MS', sans-serif;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 1.3em;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 5px 0 0 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar p {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar p.topless {
|
||||||
|
margin: 5px 10px 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar ul {
|
||||||
|
margin: 10px;
|
||||||
|
padding: 0;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar a {
|
||||||
|
color: #98dbcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinxsidebar input {
|
||||||
|
border: 1px solid #98dbcc;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* -- hyperlink styles ------------------------------------------------------ */
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #355f7c;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
color: #355f7c;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* -- body styles ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
div.body h1,
|
||||||
|
div.body h2,
|
||||||
|
div.body h3,
|
||||||
|
div.body h4,
|
||||||
|
div.body h5,
|
||||||
|
div.body h6 {
|
||||||
|
font-family: 'Trebuchet MS', sans-serif;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #20435c;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
margin: 20px -20px 10px -20px;
|
||||||
|
padding: 3px 0 3px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body h1 { margin-top: 0; font-size: 200%; }
|
||||||
|
div.body h2 { font-size: 160%; }
|
||||||
|
div.body h3 { font-size: 140%; }
|
||||||
|
div.body h4 { font-size: 120%; }
|
||||||
|
div.body h5 { font-size: 110%; }
|
||||||
|
div.body h6 { font-size: 100%; }
|
||||||
|
|
||||||
|
a.headerlink {
|
||||||
|
color: #c60f0f;
|
||||||
|
font-size: 0.8em;
|
||||||
|
padding: 0 4px 0 4px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.headerlink:hover {
|
||||||
|
background-color: #c60f0f;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.body p, div.body dd, div.body li {
|
||||||
|
text-align: justify;
|
||||||
|
line-height: 130%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition p.admonition-title + p {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition p {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition pre {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonition ul, div.admonition ol {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.note {
|
||||||
|
background-color: #eee;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.seealso {
|
||||||
|
background-color: #ffc;
|
||||||
|
border: 1px solid #ff6;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.topic {
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning {
|
||||||
|
background-color: #ffe4e4;
|
||||||
|
border: 1px solid #f66;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.admonition-title {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.admonition-title:after {
|
||||||
|
content: ":";
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #eeffcc;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 120%;
|
||||||
|
border: 1px solid #ac9;
|
||||||
|
border-left: none;
|
||||||
|
border-right: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt {
|
||||||
|
background-color: #ecf0f3;
|
||||||
|
padding: 0 1px 0 1px;
|
||||||
|
font-size: 0.95em;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
background-color: #ede;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning tt {
|
||||||
|
background: #efc2c2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note tt {
|
||||||
|
background: #d6d6d6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewcode-back {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.viewcode-block:target {
|
||||||
|
background-color: #f4debf;
|
||||||
|
border-top: 1px solid #ac9;
|
||||||
|
border-bottom: 1px solid #ac9;
|
||||||
|
}
|
238
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/doctools.js
vendored
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
/*
|
||||||
|
* doctools.js
|
||||||
|
* ~~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* Sphinx JavaScript utilities for all documentation.
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* select a different prefix for underscore
|
||||||
|
*/
|
||||||
|
$u = _.noConflict();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* make the code below compatible with browsers without
|
||||||
|
* an installed firebug like debugger
|
||||||
|
if (!window.console || !console.firebug) {
|
||||||
|
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
|
||||||
|
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
|
||||||
|
"profile", "profileEnd"];
|
||||||
|
window.console = {};
|
||||||
|
for (var i = 0; i < names.length; ++i)
|
||||||
|
window.console[names[i]] = function() {};
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* small helper function to urldecode strings
|
||||||
|
*/
|
||||||
|
jQuery.urldecode = function(x) {
|
||||||
|
return decodeURIComponent(x).replace(/\+/g, ' ');
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* small helper function to urlencode strings
|
||||||
|
*/
|
||||||
|
jQuery.urlencode = encodeURIComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function returns the parsed url parameters of the
|
||||||
|
* current request. Multiple values per key are supported,
|
||||||
|
* it will always return arrays of strings for the value parts.
|
||||||
|
*/
|
||||||
|
jQuery.getQueryParameters = function(s) {
|
||||||
|
if (typeof s == 'undefined')
|
||||||
|
s = document.location.search;
|
||||||
|
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||||
|
var result = {};
|
||||||
|
for (var i = 0; i < parts.length; i++) {
|
||||||
|
var tmp = parts[i].split('=', 2);
|
||||||
|
var key = jQuery.urldecode(tmp[0]);
|
||||||
|
var value = jQuery.urldecode(tmp[1]);
|
||||||
|
if (key in result)
|
||||||
|
result[key].push(value);
|
||||||
|
else
|
||||||
|
result[key] = [value];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* highlight a given string on a jquery object by wrapping it in
|
||||||
|
* span elements with the given class name.
|
||||||
|
*/
|
||||||
|
jQuery.fn.highlightText = function(text, className) {
|
||||||
|
function highlight(node) {
|
||||||
|
if (node.nodeType == 3) {
|
||||||
|
var val = node.nodeValue;
|
||||||
|
var pos = val.toLowerCase().indexOf(text);
|
||||||
|
if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
|
||||||
|
var span = document.createElement("span");
|
||||||
|
span.className = className;
|
||||||
|
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||||
|
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||||
|
document.createTextNode(val.substr(pos + text.length)),
|
||||||
|
node.nextSibling));
|
||||||
|
node.nodeValue = val.substr(0, pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!jQuery(node).is("button, select, textarea")) {
|
||||||
|
jQuery.each(node.childNodes, function() {
|
||||||
|
highlight(this);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.each(function() {
|
||||||
|
highlight(this);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Small JavaScript module for the documentation.
|
||||||
|
*/
|
||||||
|
var Documentation = {
|
||||||
|
|
||||||
|
init : function() {
|
||||||
|
this.fixFirefoxAnchorBug();
|
||||||
|
this.highlightSearchWords();
|
||||||
|
this.initIndexTable();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* i18n support
|
||||||
|
*/
|
||||||
|
TRANSLATIONS : {},
|
||||||
|
PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
|
||||||
|
LOCALE : 'unknown',
|
||||||
|
|
||||||
|
// gettext and ngettext don't access this so that the functions
|
||||||
|
// can safely bound to a different name (_ = Documentation.gettext)
|
||||||
|
gettext : function(string) {
|
||||||
|
var translated = Documentation.TRANSLATIONS[string];
|
||||||
|
if (typeof translated == 'undefined')
|
||||||
|
return string;
|
||||||
|
return (typeof translated == 'string') ? translated : translated[0];
|
||||||
|
},
|
||||||
|
|
||||||
|
ngettext : function(singular, plural, n) {
|
||||||
|
var translated = Documentation.TRANSLATIONS[singular];
|
||||||
|
if (typeof translated == 'undefined')
|
||||||
|
return (n == 1) ? singular : plural;
|
||||||
|
return translated[Documentation.PLURALEXPR(n)];
|
||||||
|
},
|
||||||
|
|
||||||
|
addTranslations : function(catalog) {
|
||||||
|
for (var key in catalog.messages)
|
||||||
|
this.TRANSLATIONS[key] = catalog.messages[key];
|
||||||
|
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
|
||||||
|
this.LOCALE = catalog.locale;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* add context elements like header anchor links
|
||||||
|
*/
|
||||||
|
addContextElements : function() {
|
||||||
|
$('div[id] > :header:first').each(function() {
|
||||||
|
$('<a class="headerlink">\u00B6</a>').
|
||||||
|
attr('href', '#' + this.id).
|
||||||
|
attr('title', _('Permalink to this headline')).
|
||||||
|
appendTo(this);
|
||||||
|
});
|
||||||
|
$('dt[id]').each(function() {
|
||||||
|
$('<a class="headerlink">\u00B6</a>').
|
||||||
|
attr('href', '#' + this.id).
|
||||||
|
attr('title', _('Permalink to this definition')).
|
||||||
|
appendTo(this);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* workaround a firefox stupidity
|
||||||
|
*/
|
||||||
|
fixFirefoxAnchorBug : function() {
|
||||||
|
if (document.location.hash && $.browser.mozilla)
|
||||||
|
window.setTimeout(function() {
|
||||||
|
document.location.href += '';
|
||||||
|
}, 10);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* highlight the search words provided in the url in the text
|
||||||
|
*/
|
||||||
|
highlightSearchWords : function() {
|
||||||
|
var params = $.getQueryParameters();
|
||||||
|
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
|
||||||
|
if (terms.length) {
|
||||||
|
var body = $('div.body');
|
||||||
|
if (!body.length) {
|
||||||
|
body = $('body');
|
||||||
|
}
|
||||||
|
window.setTimeout(function() {
|
||||||
|
$.each(terms, function() {
|
||||||
|
body.highlightText(this.toLowerCase(), 'highlighted');
|
||||||
|
});
|
||||||
|
}, 10);
|
||||||
|
$('<p class="highlight-link"><a href="javascript:Documentation.' +
|
||||||
|
'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
|
||||||
|
.appendTo($('#searchbox'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* init the domain index toggle buttons
|
||||||
|
*/
|
||||||
|
initIndexTable : function() {
|
||||||
|
var togglers = $('img.toggler').click(function() {
|
||||||
|
var src = $(this).attr('src');
|
||||||
|
var idnum = $(this).attr('id').substr(7);
|
||||||
|
$('tr.cg-' + idnum).toggle();
|
||||||
|
if (src.substr(-9) == 'minus.png')
|
||||||
|
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
|
||||||
|
else
|
||||||
|
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
|
||||||
|
}).css('display', '');
|
||||||
|
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
|
||||||
|
togglers.click();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* helper function to hide the search marks again
|
||||||
|
*/
|
||||||
|
hideSearchWords : function() {
|
||||||
|
$('#searchbox .highlight-link').fadeOut(300);
|
||||||
|
$('span.highlighted').removeClass('highlighted');
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* make the url absolute
|
||||||
|
*/
|
||||||
|
makeURL : function(relativeURL) {
|
||||||
|
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the current relative url
|
||||||
|
*/
|
||||||
|
getCurrentURL : function() {
|
||||||
|
var path = document.location.pathname;
|
||||||
|
var parts = path.split(/\//);
|
||||||
|
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
|
||||||
|
if (this == '..')
|
||||||
|
parts.pop();
|
||||||
|
});
|
||||||
|
var url = parts.join('/');
|
||||||
|
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// quick alias for translations
|
||||||
|
_ = Documentation.gettext;
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
Documentation.init();
|
||||||
|
});
|
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/down-pressed.png
vendored
Normal file
After Width: | Height: | Size: 368 B |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/down.png
vendored
Normal file
After Width: | Height: | Size: 363 B |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/file.png
vendored
Normal file
After Width: | Height: | Size: 392 B |
9404
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/jquery.js
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/minus.png
vendored
Normal file
After Width: | Height: | Size: 199 B |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/plus.png
vendored
Normal file
After Width: | Height: | Size: 199 B |
63
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/pygments.css
vendored
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
.highlight .hll { background-color: #ffffcc }
|
||||||
|
.highlight { background: #eeffcc; }
|
||||||
|
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
||||||
|
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||||
|
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||||
|
.highlight .o { color: #666666 } /* Operator */
|
||||||
|
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||||
|
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||||
|
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||||
|
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||||
|
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||||
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||||
|
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||||
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||||
|
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||||
|
.highlight .go { color: #333333 } /* Generic.Output */
|
||||||
|
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||||
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||||
|
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||||
|
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||||
|
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
||||||
|
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
||||||
|
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
||||||
|
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
||||||
|
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||||
|
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||||
|
.highlight .m { color: #208050 } /* Literal.Number */
|
||||||
|
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||||
|
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||||
|
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||||
|
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||||
|
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||||
|
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||||
|
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||||
|
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||||
|
.highlight .nf { color: #06287e } /* Name.Function */
|
||||||
|
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||||
|
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||||
|
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||||
|
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||||
|
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||||
|
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||||
|
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
|
||||||
|
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
||||||
|
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
||||||
|
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
||||||
|
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
||||||
|
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||||
|
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||||
|
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||||
|
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||||
|
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||||
|
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||||
|
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||||
|
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||||
|
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||||
|
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||||
|
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||||
|
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||||
|
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||||
|
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||||
|
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||||
|
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
622
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/searchtools.js
vendored
Normal file
@ -0,0 +1,622 @@
|
|||||||
|
/*
|
||||||
|
* searchtools.js_t
|
||||||
|
* ~~~~~~~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* Sphinx JavaScript utilties for the full-text search.
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Porter Stemmer
|
||||||
|
*/
|
||||||
|
var Stemmer = function() {
|
||||||
|
|
||||||
|
var step2list = {
|
||||||
|
ational: 'ate',
|
||||||
|
tional: 'tion',
|
||||||
|
enci: 'ence',
|
||||||
|
anci: 'ance',
|
||||||
|
izer: 'ize',
|
||||||
|
bli: 'ble',
|
||||||
|
alli: 'al',
|
||||||
|
entli: 'ent',
|
||||||
|
eli: 'e',
|
||||||
|
ousli: 'ous',
|
||||||
|
ization: 'ize',
|
||||||
|
ation: 'ate',
|
||||||
|
ator: 'ate',
|
||||||
|
alism: 'al',
|
||||||
|
iveness: 'ive',
|
||||||
|
fulness: 'ful',
|
||||||
|
ousness: 'ous',
|
||||||
|
aliti: 'al',
|
||||||
|
iviti: 'ive',
|
||||||
|
biliti: 'ble',
|
||||||
|
logi: 'log'
|
||||||
|
};
|
||||||
|
|
||||||
|
var step3list = {
|
||||||
|
icate: 'ic',
|
||||||
|
ative: '',
|
||||||
|
alize: 'al',
|
||||||
|
iciti: 'ic',
|
||||||
|
ical: 'ic',
|
||||||
|
ful: '',
|
||||||
|
ness: ''
|
||||||
|
};
|
||||||
|
|
||||||
|
var c = "[^aeiou]"; // consonant
|
||||||
|
var v = "[aeiouy]"; // vowel
|
||||||
|
var C = c + "[^aeiouy]*"; // consonant sequence
|
||||||
|
var V = v + "[aeiou]*"; // vowel sequence
|
||||||
|
|
||||||
|
var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
|
||||||
|
var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
|
||||||
|
var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
|
||||||
|
var s_v = "^(" + C + ")?" + v; // vowel in stem
|
||||||
|
|
||||||
|
this.stemWord = function (w) {
|
||||||
|
var stem;
|
||||||
|
var suffix;
|
||||||
|
var firstch;
|
||||||
|
var origword = w;
|
||||||
|
|
||||||
|
if (w.length < 3)
|
||||||
|
return w;
|
||||||
|
|
||||||
|
var re;
|
||||||
|
var re2;
|
||||||
|
var re3;
|
||||||
|
var re4;
|
||||||
|
|
||||||
|
firstch = w.substr(0,1);
|
||||||
|
if (firstch == "y")
|
||||||
|
w = firstch.toUpperCase() + w.substr(1);
|
||||||
|
|
||||||
|
// Step 1a
|
||||||
|
re = /^(.+?)(ss|i)es$/;
|
||||||
|
re2 = /^(.+?)([^s])s$/;
|
||||||
|
|
||||||
|
if (re.test(w))
|
||||||
|
w = w.replace(re,"$1$2");
|
||||||
|
else if (re2.test(w))
|
||||||
|
w = w.replace(re2,"$1$2");
|
||||||
|
|
||||||
|
// Step 1b
|
||||||
|
re = /^(.+?)eed$/;
|
||||||
|
re2 = /^(.+?)(ed|ing)$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
re = new RegExp(mgr0);
|
||||||
|
if (re.test(fp[1])) {
|
||||||
|
re = /.$/;
|
||||||
|
w = w.replace(re,"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (re2.test(w)) {
|
||||||
|
var fp = re2.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
re2 = new RegExp(s_v);
|
||||||
|
if (re2.test(stem)) {
|
||||||
|
w = stem;
|
||||||
|
re2 = /(at|bl|iz)$/;
|
||||||
|
re3 = new RegExp("([^aeiouylsz])\\1$");
|
||||||
|
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||||
|
if (re2.test(w))
|
||||||
|
w = w + "e";
|
||||||
|
else if (re3.test(w)) {
|
||||||
|
re = /.$/;
|
||||||
|
w = w.replace(re,"");
|
||||||
|
}
|
||||||
|
else if (re4.test(w))
|
||||||
|
w = w + "e";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 1c
|
||||||
|
re = /^(.+?)y$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
re = new RegExp(s_v);
|
||||||
|
if (re.test(stem))
|
||||||
|
w = stem + "i";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 2
|
||||||
|
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
suffix = fp[2];
|
||||||
|
re = new RegExp(mgr0);
|
||||||
|
if (re.test(stem))
|
||||||
|
w = stem + step2list[suffix];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 3
|
||||||
|
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
suffix = fp[2];
|
||||||
|
re = new RegExp(mgr0);
|
||||||
|
if (re.test(stem))
|
||||||
|
w = stem + step3list[suffix];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 4
|
||||||
|
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
||||||
|
re2 = /^(.+?)(s|t)(ion)$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
re = new RegExp(mgr1);
|
||||||
|
if (re.test(stem))
|
||||||
|
w = stem;
|
||||||
|
}
|
||||||
|
else if (re2.test(w)) {
|
||||||
|
var fp = re2.exec(w);
|
||||||
|
stem = fp[1] + fp[2];
|
||||||
|
re2 = new RegExp(mgr1);
|
||||||
|
if (re2.test(stem))
|
||||||
|
w = stem;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 5
|
||||||
|
re = /^(.+?)e$/;
|
||||||
|
if (re.test(w)) {
|
||||||
|
var fp = re.exec(w);
|
||||||
|
stem = fp[1];
|
||||||
|
re = new RegExp(mgr1);
|
||||||
|
re2 = new RegExp(meq1);
|
||||||
|
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||||
|
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
|
||||||
|
w = stem;
|
||||||
|
}
|
||||||
|
re = /ll$/;
|
||||||
|
re2 = new RegExp(mgr1);
|
||||||
|
if (re.test(w) && re2.test(w)) {
|
||||||
|
re = /.$/;
|
||||||
|
w = w.replace(re,"");
|
||||||
|
}
|
||||||
|
|
||||||
|
// and turn initial Y back to y
|
||||||
|
if (firstch == "y")
|
||||||
|
w = firstch.toLowerCase() + w.substr(1);
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple result scoring code.
|
||||||
|
*/
|
||||||
|
var Scorer = {
|
||||||
|
// Implement the following function to further tweak the score for each result
|
||||||
|
// The function takes a result array [filename, title, anchor, descr, score]
|
||||||
|
// and returns the new score.
|
||||||
|
/*
|
||||||
|
score: function(result) {
|
||||||
|
return result[4];
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
|
||||||
|
// query matches the full name of an object
|
||||||
|
objNameMatch: 11,
|
||||||
|
// or matches in the last dotted part of the object name
|
||||||
|
objPartialMatch: 6,
|
||||||
|
// Additive scores depending on the priority of the object
|
||||||
|
objPrio: {0: 15, // used to be importantResults
|
||||||
|
1: 5, // used to be objectResults
|
||||||
|
2: -5}, // used to be unimportantResults
|
||||||
|
// Used when the priority is not in the mapping.
|
||||||
|
objPrioDefault: 0,
|
||||||
|
|
||||||
|
// query found in title
|
||||||
|
title: 15,
|
||||||
|
// query found in terms
|
||||||
|
term: 5
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search Module
|
||||||
|
*/
|
||||||
|
var Search = {
|
||||||
|
|
||||||
|
_index : null,
|
||||||
|
_queued_query : null,
|
||||||
|
_pulse_status : -1,
|
||||||
|
|
||||||
|
init : function() {
|
||||||
|
var params = $.getQueryParameters();
|
||||||
|
if (params.q) {
|
||||||
|
var query = params.q[0];
|
||||||
|
$('input[name="q"]')[0].value = query;
|
||||||
|
this.performSearch(query);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
loadIndex : function(url) {
|
||||||
|
$.ajax({type: "GET", url: url, data: null,
|
||||||
|
dataType: "script", cache: true,
|
||||||
|
complete: function(jqxhr, textstatus) {
|
||||||
|
if (textstatus != "success") {
|
||||||
|
document.getElementById("searchindexloader").src = url;
|
||||||
|
}
|
||||||
|
}});
|
||||||
|
},
|
||||||
|
|
||||||
|
setIndex : function(index) {
|
||||||
|
var q;
|
||||||
|
this._index = index;
|
||||||
|
if ((q = this._queued_query) !== null) {
|
||||||
|
this._queued_query = null;
|
||||||
|
Search.query(q);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
hasIndex : function() {
|
||||||
|
return this._index !== null;
|
||||||
|
},
|
||||||
|
|
||||||
|
deferQuery : function(query) {
|
||||||
|
this._queued_query = query;
|
||||||
|
},
|
||||||
|
|
||||||
|
stopPulse : function() {
|
||||||
|
this._pulse_status = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
startPulse : function() {
|
||||||
|
if (this._pulse_status >= 0)
|
||||||
|
return;
|
||||||
|
function pulse() {
|
||||||
|
var i;
|
||||||
|
Search._pulse_status = (Search._pulse_status + 1) % 4;
|
||||||
|
var dotString = '';
|
||||||
|
for (i = 0; i < Search._pulse_status; i++)
|
||||||
|
dotString += '.';
|
||||||
|
Search.dots.text(dotString);
|
||||||
|
if (Search._pulse_status > -1)
|
||||||
|
window.setTimeout(pulse, 500);
|
||||||
|
}
|
||||||
|
pulse();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* perform a search for something (or wait until index is loaded)
|
||||||
|
*/
|
||||||
|
performSearch : function(query) {
|
||||||
|
// create the required interface elements
|
||||||
|
this.out = $('#search-results');
|
||||||
|
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
|
||||||
|
this.dots = $('<span></span>').appendTo(this.title);
|
||||||
|
this.status = $('<p style="display: none"></p>').appendTo(this.out);
|
||||||
|
this.output = $('<ul class="search"/>').appendTo(this.out);
|
||||||
|
|
||||||
|
$('#search-progress').text(_('Preparing search...'));
|
||||||
|
this.startPulse();
|
||||||
|
|
||||||
|
// index already loaded, the browser was quick!
|
||||||
|
if (this.hasIndex())
|
||||||
|
this.query(query);
|
||||||
|
else
|
||||||
|
this.deferQuery(query);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* execute search (requires search index to be loaded)
|
||||||
|
*/
|
||||||
|
query : function(query) {
|
||||||
|
var i;
|
||||||
|
var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
|
||||||
|
|
||||||
|
// stem the searchterms and add them to the correct list
|
||||||
|
var stemmer = new Stemmer();
|
||||||
|
var searchterms = [];
|
||||||
|
var excluded = [];
|
||||||
|
var hlterms = [];
|
||||||
|
var tmp = query.split(/\s+/);
|
||||||
|
var objectterms = [];
|
||||||
|
for (i = 0; i < tmp.length; i++) {
|
||||||
|
if (tmp[i] !== "") {
|
||||||
|
objectterms.push(tmp[i].toLowerCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
|
||||||
|
tmp[i] === "") {
|
||||||
|
// skip this "word"
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// stem the word
|
||||||
|
var word = stemmer.stemWord(tmp[i].toLowerCase());
|
||||||
|
var toAppend;
|
||||||
|
// select the correct list
|
||||||
|
if (word[0] == '-') {
|
||||||
|
toAppend = excluded;
|
||||||
|
word = word.substr(1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
toAppend = searchterms;
|
||||||
|
hlterms.push(tmp[i].toLowerCase());
|
||||||
|
}
|
||||||
|
// only add if not already in the list
|
||||||
|
if (!$u.contains(toAppend, word))
|
||||||
|
toAppend.push(word);
|
||||||
|
}
|
||||||
|
var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
|
||||||
|
|
||||||
|
// console.debug('SEARCH: searching for:');
|
||||||
|
// console.info('required: ', searchterms);
|
||||||
|
// console.info('excluded: ', excluded);
|
||||||
|
|
||||||
|
// prepare search
|
||||||
|
var terms = this._index.terms;
|
||||||
|
var titleterms = this._index.titleterms;
|
||||||
|
|
||||||
|
// array of [filename, title, anchor, descr, score]
|
||||||
|
var results = [];
|
||||||
|
$('#search-progress').empty();
|
||||||
|
|
||||||
|
// lookup as object
|
||||||
|
for (i = 0; i < objectterms.length; i++) {
|
||||||
|
var others = [].concat(objectterms.slice(0, i),
|
||||||
|
objectterms.slice(i+1, objectterms.length));
|
||||||
|
results = results.concat(this.performObjectSearch(objectterms[i], others));
|
||||||
|
}
|
||||||
|
|
||||||
|
// lookup as search terms in fulltext
|
||||||
|
results = results.concat(this.performTermsSearch(searchterms, excluded, terms, Scorer.term))
|
||||||
|
.concat(this.performTermsSearch(searchterms, excluded, titleterms, Scorer.title));
|
||||||
|
|
||||||
|
// let the scorer override scores with a custom scoring function
|
||||||
|
if (Scorer.score) {
|
||||||
|
for (i = 0; i < results.length; i++)
|
||||||
|
results[i][4] = Scorer.score(results[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// now sort the results by score (in opposite order of appearance, since the
|
||||||
|
// display function below uses pop() to retrieve items) and then
|
||||||
|
// alphabetically
|
||||||
|
results.sort(function(a, b) {
|
||||||
|
var left = a[4];
|
||||||
|
var right = b[4];
|
||||||
|
if (left > right) {
|
||||||
|
return 1;
|
||||||
|
} else if (left < right) {
|
||||||
|
return -1;
|
||||||
|
} else {
|
||||||
|
// same score: sort alphabetically
|
||||||
|
left = a[1].toLowerCase();
|
||||||
|
right = b[1].toLowerCase();
|
||||||
|
return (left > right) ? -1 : ((left < right) ? 1 : 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// for debugging
|
||||||
|
//Search.lastresults = results.slice(); // a copy
|
||||||
|
//console.info('search results:', Search.lastresults);
|
||||||
|
|
||||||
|
// print the results
|
||||||
|
var resultCount = results.length;
|
||||||
|
function displayNextItem() {
|
||||||
|
// results left, load the summary and display it
|
||||||
|
if (results.length) {
|
||||||
|
var item = results.pop();
|
||||||
|
var listItem = $('<li style="display:none"></li>');
|
||||||
|
if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
|
||||||
|
// dirhtml builder
|
||||||
|
var dirname = item[0] + '/';
|
||||||
|
if (dirname.match(/\/index\/$/)) {
|
||||||
|
dirname = dirname.substring(0, dirname.length-6);
|
||||||
|
} else if (dirname == 'index/') {
|
||||||
|
dirname = '';
|
||||||
|
}
|
||||||
|
listItem.append($('<a/>').attr('href',
|
||||||
|
DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
|
||||||
|
highlightstring + item[2]).html(item[1]));
|
||||||
|
} else {
|
||||||
|
// normal html builders
|
||||||
|
listItem.append($('<a/>').attr('href',
|
||||||
|
item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
|
||||||
|
highlightstring + item[2]).html(item[1]));
|
||||||
|
}
|
||||||
|
if (item[3]) {
|
||||||
|
listItem.append($('<span> (' + item[3] + ')</span>'));
|
||||||
|
Search.output.append(listItem);
|
||||||
|
listItem.slideDown(5, function() {
|
||||||
|
displayNextItem();
|
||||||
|
});
|
||||||
|
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
||||||
|
$.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt',
|
||||||
|
dataType: "text",
|
||||||
|
complete: function(jqxhr, textstatus) {
|
||||||
|
var data = jqxhr.responseText;
|
||||||
|
if (data !== '') {
|
||||||
|
listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
|
||||||
|
}
|
||||||
|
Search.output.append(listItem);
|
||||||
|
listItem.slideDown(5, function() {
|
||||||
|
displayNextItem();
|
||||||
|
});
|
||||||
|
}});
|
||||||
|
} else {
|
||||||
|
// no source available, just display title
|
||||||
|
Search.output.append(listItem);
|
||||||
|
listItem.slideDown(5, function() {
|
||||||
|
displayNextItem();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// search finished, update title and status message
|
||||||
|
else {
|
||||||
|
Search.stopPulse();
|
||||||
|
Search.title.text(_('Search Results'));
|
||||||
|
if (!resultCount)
|
||||||
|
Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
|
||||||
|
else
|
||||||
|
Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
|
||||||
|
Search.status.fadeIn(500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
displayNextItem();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* search for object names
|
||||||
|
*/
|
||||||
|
performObjectSearch : function(object, otherterms) {
|
||||||
|
var filenames = this._index.filenames;
|
||||||
|
var objects = this._index.objects;
|
||||||
|
var objnames = this._index.objnames;
|
||||||
|
var titles = this._index.titles;
|
||||||
|
|
||||||
|
var i;
|
||||||
|
var results = [];
|
||||||
|
|
||||||
|
for (var prefix in objects) {
|
||||||
|
for (var name in objects[prefix]) {
|
||||||
|
var fullname = (prefix ? prefix + '.' : '') + name;
|
||||||
|
if (fullname.toLowerCase().indexOf(object) > -1) {
|
||||||
|
var score = 0;
|
||||||
|
var parts = fullname.split('.');
|
||||||
|
// check for different match types: exact matches of full name or
|
||||||
|
// "last name" (i.e. last dotted part)
|
||||||
|
if (fullname == object || parts[parts.length - 1] == object) {
|
||||||
|
score += Scorer.objNameMatch;
|
||||||
|
// matches in last name
|
||||||
|
} else if (parts[parts.length - 1].indexOf(object) > -1) {
|
||||||
|
score += Scorer.objPartialMatch;
|
||||||
|
}
|
||||||
|
var match = objects[prefix][name];
|
||||||
|
var objname = objnames[match[1]][2];
|
||||||
|
var title = titles[match[0]];
|
||||||
|
// If more than one term searched for, we require other words to be
|
||||||
|
// found in the name/title/description
|
||||||
|
if (otherterms.length > 0) {
|
||||||
|
var haystack = (prefix + ' ' + name + ' ' +
|
||||||
|
objname + ' ' + title).toLowerCase();
|
||||||
|
var allfound = true;
|
||||||
|
for (i = 0; i < otherterms.length; i++) {
|
||||||
|
if (haystack.indexOf(otherterms[i]) == -1) {
|
||||||
|
allfound = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!allfound) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var descr = objname + _(', in ') + title;
|
||||||
|
|
||||||
|
var anchor = match[3];
|
||||||
|
if (anchor === '')
|
||||||
|
anchor = fullname;
|
||||||
|
else if (anchor == '-')
|
||||||
|
anchor = objnames[match[1]][1] + '-' + fullname;
|
||||||
|
// add custom score for some objects according to scorer
|
||||||
|
if (Scorer.objPrio.hasOwnProperty(match[2])) {
|
||||||
|
score += Scorer.objPrio[match[2]];
|
||||||
|
} else {
|
||||||
|
score += Scorer.objPrioDefault;
|
||||||
|
}
|
||||||
|
results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* search for full-text terms in the index
|
||||||
|
*/
|
||||||
|
performTermsSearch : function(searchterms, excluded, terms, score) {
|
||||||
|
var filenames = this._index.filenames;
|
||||||
|
var titles = this._index.titles;
|
||||||
|
|
||||||
|
var i, j, file, files;
|
||||||
|
var fileMap = {};
|
||||||
|
var results = [];
|
||||||
|
|
||||||
|
// perform the search on the required terms
|
||||||
|
for (i = 0; i < searchterms.length; i++) {
|
||||||
|
var word = searchterms[i];
|
||||||
|
// no match but word was a required one
|
||||||
|
if ((files = terms[word]) === undefined)
|
||||||
|
break;
|
||||||
|
if (files.length === undefined) {
|
||||||
|
files = [files];
|
||||||
|
}
|
||||||
|
// create the mapping
|
||||||
|
for (j = 0; j < files.length; j++) {
|
||||||
|
file = files[j];
|
||||||
|
if (file in fileMap)
|
||||||
|
fileMap[file].push(word);
|
||||||
|
else
|
||||||
|
fileMap[file] = [word];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// now check if the files don't contain excluded terms
|
||||||
|
for (file in fileMap) {
|
||||||
|
var valid = true;
|
||||||
|
|
||||||
|
// check if all requirements are matched
|
||||||
|
if (fileMap[file].length != searchterms.length)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// ensure that none of the excluded terms is in the search result
|
||||||
|
for (i = 0; i < excluded.length; i++) {
|
||||||
|
if (terms[excluded[i]] == file ||
|
||||||
|
$u.contains(terms[excluded[i]] || [], file)) {
|
||||||
|
valid = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if we have still a valid result we can add it to the result list
|
||||||
|
if (valid) {
|
||||||
|
results.push([filenames[file], titles[file], '', null, score]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* helper function to return a node containing the
|
||||||
|
* search summary for a given text. keywords is a list
|
||||||
|
* of stemmed words, hlwords is the list of normal, unstemmed
|
||||||
|
* words. the first one is used to find the occurance, the
|
||||||
|
* latter for highlighting it.
|
||||||
|
*/
|
||||||
|
makeSearchSummary : function(text, keywords, hlwords) {
|
||||||
|
var textLower = text.toLowerCase();
|
||||||
|
var start = 0;
|
||||||
|
$.each(keywords, function() {
|
||||||
|
var i = textLower.indexOf(this.toLowerCase());
|
||||||
|
if (i > -1)
|
||||||
|
start = i;
|
||||||
|
});
|
||||||
|
start = Math.max(start - 120, 0);
|
||||||
|
var excerpt = ((start > 0) ? '...' : '') +
|
||||||
|
$.trim(text.substr(start, 240)) +
|
||||||
|
((start + 240 - text.length) ? '...' : '');
|
||||||
|
var rv = $('<div class="context"></div>').text(excerpt);
|
||||||
|
$.each(hlwords, function() {
|
||||||
|
rv = rv.highlightText(this, 'highlighted');
|
||||||
|
});
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
Search.init();
|
||||||
|
});
|
159
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/sidebar.js
vendored
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
/*
|
||||||
|
* sidebar.js
|
||||||
|
* ~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* This script makes the Sphinx sidebar collapsible.
|
||||||
|
*
|
||||||
|
* .sphinxsidebar contains .sphinxsidebarwrapper. This script adds
|
||||||
|
* in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton
|
||||||
|
* used to collapse and expand the sidebar.
|
||||||
|
*
|
||||||
|
* When the sidebar is collapsed the .sphinxsidebarwrapper is hidden
|
||||||
|
* and the width of the sidebar and the margin-left of the document
|
||||||
|
* are decreased. When the sidebar is expanded the opposite happens.
|
||||||
|
* This script saves a per-browser/per-session cookie used to
|
||||||
|
* remember the position of the sidebar among the pages.
|
||||||
|
* Once the browser is closed the cookie is deleted and the position
|
||||||
|
* reset to the default (expanded).
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// global elements used by the functions.
|
||||||
|
// the 'sidebarbutton' element is defined as global after its
|
||||||
|
// creation, in the add_sidebar_button function
|
||||||
|
var bodywrapper = $('.bodywrapper');
|
||||||
|
var sidebar = $('.sphinxsidebar');
|
||||||
|
var sidebarwrapper = $('.sphinxsidebarwrapper');
|
||||||
|
|
||||||
|
// for some reason, the document has no sidebar; do not run into errors
|
||||||
|
if (!sidebar.length) return;
|
||||||
|
|
||||||
|
// original margin-left of the bodywrapper and width of the sidebar
|
||||||
|
// with the sidebar expanded
|
||||||
|
var bw_margin_expanded = bodywrapper.css('margin-left');
|
||||||
|
var ssb_width_expanded = sidebar.width();
|
||||||
|
|
||||||
|
// margin-left of the bodywrapper and width of the sidebar
|
||||||
|
// with the sidebar collapsed
|
||||||
|
var bw_margin_collapsed = '.8em';
|
||||||
|
var ssb_width_collapsed = '.8em';
|
||||||
|
|
||||||
|
// colors used by the current theme
|
||||||
|
var dark_color = $('.related').css('background-color');
|
||||||
|
var light_color = $('.document').css('background-color');
|
||||||
|
|
||||||
|
function sidebar_is_collapsed() {
|
||||||
|
return sidebarwrapper.is(':not(:visible)');
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggle_sidebar() {
|
||||||
|
if (sidebar_is_collapsed())
|
||||||
|
expand_sidebar();
|
||||||
|
else
|
||||||
|
collapse_sidebar();
|
||||||
|
}
|
||||||
|
|
||||||
|
function collapse_sidebar() {
|
||||||
|
sidebarwrapper.hide();
|
||||||
|
sidebar.css('width', ssb_width_collapsed);
|
||||||
|
bodywrapper.css('margin-left', bw_margin_collapsed);
|
||||||
|
sidebarbutton.css({
|
||||||
|
'margin-left': '0',
|
||||||
|
'height': bodywrapper.height()
|
||||||
|
});
|
||||||
|
sidebarbutton.find('span').text('»');
|
||||||
|
sidebarbutton.attr('title', _('Expand sidebar'));
|
||||||
|
document.cookie = 'sidebar=collapsed';
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand_sidebar() {
|
||||||
|
bodywrapper.css('margin-left', bw_margin_expanded);
|
||||||
|
sidebar.css('width', ssb_width_expanded);
|
||||||
|
sidebarwrapper.show();
|
||||||
|
sidebarbutton.css({
|
||||||
|
'margin-left': ssb_width_expanded-12,
|
||||||
|
'height': bodywrapper.height()
|
||||||
|
});
|
||||||
|
sidebarbutton.find('span').text('«');
|
||||||
|
sidebarbutton.attr('title', _('Collapse sidebar'));
|
||||||
|
document.cookie = 'sidebar=expanded';
|
||||||
|
}
|
||||||
|
|
||||||
|
function add_sidebar_button() {
|
||||||
|
sidebarwrapper.css({
|
||||||
|
'float': 'left',
|
||||||
|
'margin-right': '0',
|
||||||
|
'width': ssb_width_expanded - 28
|
||||||
|
});
|
||||||
|
// create the button
|
||||||
|
sidebar.append(
|
||||||
|
'<div id="sidebarbutton"><span>«</span></div>'
|
||||||
|
);
|
||||||
|
var sidebarbutton = $('#sidebarbutton');
|
||||||
|
light_color = sidebarbutton.css('background-color');
|
||||||
|
// find the height of the viewport to center the '<<' in the page
|
||||||
|
var viewport_height;
|
||||||
|
if (window.innerHeight)
|
||||||
|
viewport_height = window.innerHeight;
|
||||||
|
else
|
||||||
|
viewport_height = $(window).height();
|
||||||
|
sidebarbutton.find('span').css({
|
||||||
|
'display': 'block',
|
||||||
|
'margin-top': (viewport_height - sidebar.position().top - 20) / 2
|
||||||
|
});
|
||||||
|
|
||||||
|
sidebarbutton.click(toggle_sidebar);
|
||||||
|
sidebarbutton.attr('title', _('Collapse sidebar'));
|
||||||
|
sidebarbutton.css({
|
||||||
|
'color': '#FFFFFF',
|
||||||
|
'border-left': '1px solid ' + dark_color,
|
||||||
|
'font-size': '1.2em',
|
||||||
|
'cursor': 'pointer',
|
||||||
|
'height': bodywrapper.height(),
|
||||||
|
'padding-top': '1px',
|
||||||
|
'margin-left': ssb_width_expanded - 12
|
||||||
|
});
|
||||||
|
|
||||||
|
sidebarbutton.hover(
|
||||||
|
function () {
|
||||||
|
$(this).css('background-color', dark_color);
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
$(this).css('background-color', light_color);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function set_position_from_cookie() {
|
||||||
|
if (!document.cookie)
|
||||||
|
return;
|
||||||
|
var items = document.cookie.split(';');
|
||||||
|
for(var k=0; k<items.length; k++) {
|
||||||
|
var key_val = items[k].split('=');
|
||||||
|
var key = key_val[0].replace(/ /, ""); // strip leading spaces
|
||||||
|
if (key == 'sidebar') {
|
||||||
|
var value = key_val[1];
|
||||||
|
if ((value == 'collapsed') && (!sidebar_is_collapsed()))
|
||||||
|
collapse_sidebar();
|
||||||
|
else if ((value == 'expanded') && (sidebar_is_collapsed()))
|
||||||
|
expand_sidebar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
add_sidebar_button();
|
||||||
|
var sidebarbutton = $('#sidebarbutton');
|
||||||
|
set_position_from_cookie();
|
||||||
|
});
|
1415
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/underscore.js
vendored
Normal file
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/up-pressed.png
vendored
Normal file
After Width: | Height: | Size: 372 B |
BIN
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/up.png
vendored
Normal file
After Width: | Height: | Size: 363 B |
808
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/_static/websupport.js
vendored
Normal file
@ -0,0 +1,808 @@
|
|||||||
|
/*
|
||||||
|
* websupport.js
|
||||||
|
* ~~~~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* sphinx.websupport utilties for all documentation.
|
||||||
|
*
|
||||||
|
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||||
|
* :license: BSD, see LICENSE for details.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
$.fn.autogrow = function() {
|
||||||
|
return this.each(function() {
|
||||||
|
var textarea = this;
|
||||||
|
|
||||||
|
$.fn.autogrow.resize(textarea);
|
||||||
|
|
||||||
|
$(textarea)
|
||||||
|
.focus(function() {
|
||||||
|
textarea.interval = setInterval(function() {
|
||||||
|
$.fn.autogrow.resize(textarea);
|
||||||
|
}, 500);
|
||||||
|
})
|
||||||
|
.blur(function() {
|
||||||
|
clearInterval(textarea.interval);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.autogrow.resize = function(textarea) {
|
||||||
|
var lineHeight = parseInt($(textarea).css('line-height'), 10);
|
||||||
|
var lines = textarea.value.split('\n');
|
||||||
|
var columns = textarea.cols;
|
||||||
|
var lineCount = 0;
|
||||||
|
$.each(lines, function() {
|
||||||
|
lineCount += Math.ceil(this.length / columns) || 1;
|
||||||
|
});
|
||||||
|
var height = lineHeight * (lineCount + 1);
|
||||||
|
$(textarea).css('height', height);
|
||||||
|
};
|
||||||
|
})(jQuery);
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
var comp, by;
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
initEvents();
|
||||||
|
initComparator();
|
||||||
|
}
|
||||||
|
|
||||||
|
function initEvents() {
|
||||||
|
$('a.comment-close').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
hide($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.vote').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
handleVote($(this));
|
||||||
|
});
|
||||||
|
$('a.reply').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
openReply($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.close-reply').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
closeReply($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.sort-option').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
handleReSort($(this));
|
||||||
|
});
|
||||||
|
$('a.show-proposal').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
showProposal($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.hide-proposal').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
hideProposal($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.show-propose-change').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
showProposeChange($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.hide-propose-change').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
hideProposeChange($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.accept-comment').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
acceptComment($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.delete-comment').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
deleteComment($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
$('a.comment-markup').live("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
toggleCommentMarkupBox($(this).attr('id').substring(2));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set comp, which is a comparator function used for sorting and
|
||||||
|
* inserting comments into the list.
|
||||||
|
*/
|
||||||
|
function setComparator() {
|
||||||
|
// If the first three letters are "asc", sort in ascending order
|
||||||
|
// and remove the prefix.
|
||||||
|
if (by.substring(0,3) == 'asc') {
|
||||||
|
var i = by.substring(3);
|
||||||
|
comp = function(a, b) { return a[i] - b[i]; };
|
||||||
|
} else {
|
||||||
|
// Otherwise sort in descending order.
|
||||||
|
comp = function(a, b) { return b[by] - a[by]; };
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset link styles and format the selected sort option.
|
||||||
|
$('a.sel').attr('href', '#').removeClass('sel');
|
||||||
|
$('a.by' + by).removeAttr('href').addClass('sel');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a comp function. If the user has preferences stored in
|
||||||
|
* the sortBy cookie, use those, otherwise use the default.
|
||||||
|
*/
|
||||||
|
function initComparator() {
|
||||||
|
by = 'rating'; // Default to sort by rating.
|
||||||
|
// If the sortBy cookie is set, use that instead.
|
||||||
|
if (document.cookie.length > 0) {
|
||||||
|
var start = document.cookie.indexOf('sortBy=');
|
||||||
|
if (start != -1) {
|
||||||
|
start = start + 7;
|
||||||
|
var end = document.cookie.indexOf(";", start);
|
||||||
|
if (end == -1) {
|
||||||
|
end = document.cookie.length;
|
||||||
|
by = unescape(document.cookie.substring(start, end));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setComparator();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show a comment div.
|
||||||
|
*/
|
||||||
|
function show(id) {
|
||||||
|
$('#ao' + id).hide();
|
||||||
|
$('#ah' + id).show();
|
||||||
|
var context = $.extend({id: id}, opts);
|
||||||
|
var popup = $(renderTemplate(popupTemplate, context)).hide();
|
||||||
|
popup.find('textarea[name="proposal"]').hide();
|
||||||
|
popup.find('a.by' + by).addClass('sel');
|
||||||
|
var form = popup.find('#cf' + id);
|
||||||
|
form.submit(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
addComment(form);
|
||||||
|
});
|
||||||
|
$('#s' + id).after(popup);
|
||||||
|
popup.slideDown('fast', function() {
|
||||||
|
getComments(id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide a comment div.
|
||||||
|
*/
|
||||||
|
function hide(id) {
|
||||||
|
$('#ah' + id).hide();
|
||||||
|
$('#ao' + id).show();
|
||||||
|
var div = $('#sc' + id);
|
||||||
|
div.slideUp('fast', function() {
|
||||||
|
div.remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform an ajax request to get comments for a node
|
||||||
|
* and insert the comments into the comments tree.
|
||||||
|
*/
|
||||||
|
function getComments(id) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: opts.getCommentsURL,
|
||||||
|
data: {node: id},
|
||||||
|
success: function(data, textStatus, request) {
|
||||||
|
var ul = $('#cl' + id);
|
||||||
|
var speed = 100;
|
||||||
|
$('#cf' + id)
|
||||||
|
.find('textarea[name="proposal"]')
|
||||||
|
.data('source', data.source);
|
||||||
|
|
||||||
|
if (data.comments.length === 0) {
|
||||||
|
ul.html('<li>No comments yet.</li>');
|
||||||
|
ul.data('empty', true);
|
||||||
|
} else {
|
||||||
|
// If there are comments, sort them and put them in the list.
|
||||||
|
var comments = sortComments(data.comments);
|
||||||
|
speed = data.comments.length * 100;
|
||||||
|
appendComments(comments, ul);
|
||||||
|
ul.data('empty', false);
|
||||||
|
}
|
||||||
|
$('#cn' + id).slideUp(speed + 200);
|
||||||
|
ul.slideDown(speed);
|
||||||
|
},
|
||||||
|
error: function(request, textStatus, error) {
|
||||||
|
showError('Oops, there was a problem retrieving the comments.');
|
||||||
|
},
|
||||||
|
dataType: 'json'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a comment via ajax and insert the comment into the comment tree.
|
||||||
|
*/
|
||||||
|
function addComment(form) {
|
||||||
|
var node_id = form.find('input[name="node"]').val();
|
||||||
|
var parent_id = form.find('input[name="parent"]').val();
|
||||||
|
var text = form.find('textarea[name="comment"]').val();
|
||||||
|
var proposal = form.find('textarea[name="proposal"]').val();
|
||||||
|
|
||||||
|
if (text == '') {
|
||||||
|
showError('Please enter a comment.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable the form that is being submitted.
|
||||||
|
form.find('textarea,input').attr('disabled', 'disabled');
|
||||||
|
|
||||||
|
// Send the comment to the server.
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: opts.addCommentURL,
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
node: node_id,
|
||||||
|
parent: parent_id,
|
||||||
|
text: text,
|
||||||
|
proposal: proposal
|
||||||
|
},
|
||||||
|
success: function(data, textStatus, error) {
|
||||||
|
// Reset the form.
|
||||||
|
if (node_id) {
|
||||||
|
hideProposeChange(node_id);
|
||||||
|
}
|
||||||
|
form.find('textarea')
|
||||||
|
.val('')
|
||||||
|
.add(form.find('input'))
|
||||||
|
.removeAttr('disabled');
|
||||||
|
var ul = $('#cl' + (node_id || parent_id));
|
||||||
|
if (ul.data('empty')) {
|
||||||
|
$(ul).empty();
|
||||||
|
ul.data('empty', false);
|
||||||
|
}
|
||||||
|
insertComment(data.comment);
|
||||||
|
var ao = $('#ao' + node_id);
|
||||||
|
ao.find('img').attr({'src': opts.commentBrightImage});
|
||||||
|
if (node_id) {
|
||||||
|
// if this was a "root" comment, remove the commenting box
|
||||||
|
// (the user can get it back by reopening the comment popup)
|
||||||
|
$('#ca' + node_id).slideUp();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(request, textStatus, error) {
|
||||||
|
form.find('textarea,input').removeAttr('disabled');
|
||||||
|
showError('Oops, there was a problem adding the comment.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recursively append comments to the main comment list and children
|
||||||
|
* lists, creating the comment tree.
|
||||||
|
*/
|
||||||
|
function appendComments(comments, ul) {
|
||||||
|
$.each(comments, function() {
|
||||||
|
var div = createCommentDiv(this);
|
||||||
|
ul.append($(document.createElement('li')).html(div));
|
||||||
|
appendComments(this.children, div.find('ul.comment-children'));
|
||||||
|
// To avoid stagnating data, don't store the comments children in data.
|
||||||
|
this.children = null;
|
||||||
|
div.data('comment', this);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* After adding a new comment, it must be inserted in the correct
|
||||||
|
* location in the comment tree.
|
||||||
|
*/
|
||||||
|
function insertComment(comment) {
|
||||||
|
var div = createCommentDiv(comment);
|
||||||
|
|
||||||
|
// To avoid stagnating data, don't store the comments children in data.
|
||||||
|
comment.children = null;
|
||||||
|
div.data('comment', comment);
|
||||||
|
|
||||||
|
var ul = $('#cl' + (comment.node || comment.parent));
|
||||||
|
var siblings = getChildren(ul);
|
||||||
|
|
||||||
|
var li = $(document.createElement('li'));
|
||||||
|
li.hide();
|
||||||
|
|
||||||
|
// Determine where in the parents children list to insert this comment.
|
||||||
|
for(i=0; i < siblings.length; i++) {
|
||||||
|
if (comp(comment, siblings[i]) <= 0) {
|
||||||
|
$('#cd' + siblings[i].id)
|
||||||
|
.parent()
|
||||||
|
.before(li.html(div));
|
||||||
|
li.slideDown('fast');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we get here, this comment rates lower than all the others,
|
||||||
|
// or it is the only comment in the list.
|
||||||
|
ul.append(li.html(div));
|
||||||
|
li.slideDown('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
function acceptComment(id) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: opts.acceptCommentURL,
|
||||||
|
data: {id: id},
|
||||||
|
success: function(data, textStatus, request) {
|
||||||
|
$('#cm' + id).fadeOut('fast');
|
||||||
|
$('#cd' + id).removeClass('moderate');
|
||||||
|
},
|
||||||
|
error: function(request, textStatus, error) {
|
||||||
|
showError('Oops, there was a problem accepting the comment.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteComment(id) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: opts.deleteCommentURL,
|
||||||
|
data: {id: id},
|
||||||
|
success: function(data, textStatus, request) {
|
||||||
|
var div = $('#cd' + id);
|
||||||
|
if (data == 'delete') {
|
||||||
|
// Moderator mode: remove the comment and all children immediately
|
||||||
|
div.slideUp('fast', function() {
|
||||||
|
div.remove();
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// User mode: only mark the comment as deleted
|
||||||
|
div
|
||||||
|
.find('span.user-id:first')
|
||||||
|
.text('[deleted]').end()
|
||||||
|
.find('div.comment-text:first')
|
||||||
|
.text('[deleted]').end()
|
||||||
|
.find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +
|
||||||
|
', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)
|
||||||
|
.remove();
|
||||||
|
var comment = div.data('comment');
|
||||||
|
comment.username = '[deleted]';
|
||||||
|
comment.text = '[deleted]';
|
||||||
|
div.data('comment', comment);
|
||||||
|
},
|
||||||
|
error: function(request, textStatus, error) {
|
||||||
|
showError('Oops, there was a problem deleting the comment.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function showProposal(id) {
|
||||||
|
$('#sp' + id).hide();
|
||||||
|
$('#hp' + id).show();
|
||||||
|
$('#pr' + id).slideDown('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideProposal(id) {
|
||||||
|
$('#hp' + id).hide();
|
||||||
|
$('#sp' + id).show();
|
||||||
|
$('#pr' + id).slideUp('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
function showProposeChange(id) {
|
||||||
|
$('#pc' + id).hide();
|
||||||
|
$('#hc' + id).show();
|
||||||
|
var textarea = $('#pt' + id);
|
||||||
|
textarea.val(textarea.data('source'));
|
||||||
|
$.fn.autogrow.resize(textarea[0]);
|
||||||
|
textarea.slideDown('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideProposeChange(id) {
|
||||||
|
$('#hc' + id).hide();
|
||||||
|
$('#pc' + id).show();
|
||||||
|
var textarea = $('#pt' + id);
|
||||||
|
textarea.val('').removeAttr('disabled');
|
||||||
|
textarea.slideUp('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleCommentMarkupBox(id) {
|
||||||
|
$('#mb' + id).toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Handle when the user clicks on a sort by link. */
|
||||||
|
function handleReSort(link) {
|
||||||
|
var classes = link.attr('class').split(/\s+/);
|
||||||
|
for (var i=0; i<classes.length; i++) {
|
||||||
|
if (classes[i] != 'sort-option') {
|
||||||
|
by = classes[i].substring(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setComparator();
|
||||||
|
// Save/update the sortBy cookie.
|
||||||
|
var expiration = new Date();
|
||||||
|
expiration.setDate(expiration.getDate() + 365);
|
||||||
|
document.cookie= 'sortBy=' + escape(by) +
|
||||||
|
';expires=' + expiration.toUTCString();
|
||||||
|
$('ul.comment-ul').each(function(index, ul) {
|
||||||
|
var comments = getChildren($(ul), true);
|
||||||
|
comments = sortComments(comments);
|
||||||
|
appendComments(comments, $(ul).empty());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to process a vote when a user clicks an arrow.
|
||||||
|
*/
|
||||||
|
function handleVote(link) {
|
||||||
|
if (!opts.voting) {
|
||||||
|
showError("You'll need to login to vote.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var id = link.attr('id');
|
||||||
|
if (!id) {
|
||||||
|
// Didn't click on one of the voting arrows.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// If it is an unvote, the new vote value is 0,
|
||||||
|
// Otherwise it's 1 for an upvote, or -1 for a downvote.
|
||||||
|
var value = 0;
|
||||||
|
if (id.charAt(1) != 'u') {
|
||||||
|
value = id.charAt(0) == 'u' ? 1 : -1;
|
||||||
|
}
|
||||||
|
// The data to be sent to the server.
|
||||||
|
var d = {
|
||||||
|
comment_id: id.substring(2),
|
||||||
|
value: value
|
||||||
|
};
|
||||||
|
|
||||||
|
// Swap the vote and unvote links.
|
||||||
|
link.hide();
|
||||||
|
$('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)
|
||||||
|
.show();
|
||||||
|
|
||||||
|
// The div the comment is displayed in.
|
||||||
|
var div = $('div#cd' + d.comment_id);
|
||||||
|
var data = div.data('comment');
|
||||||
|
|
||||||
|
// If this is not an unvote, and the other vote arrow has
|
||||||
|
// already been pressed, unpress it.
|
||||||
|
if ((d.value !== 0) && (data.vote === d.value * -1)) {
|
||||||
|
$('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();
|
||||||
|
$('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the comments rating in the local data.
|
||||||
|
data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);
|
||||||
|
data.vote = d.value;
|
||||||
|
div.data('comment', data);
|
||||||
|
|
||||||
|
// Change the rating text.
|
||||||
|
div.find('.rating:first')
|
||||||
|
.text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));
|
||||||
|
|
||||||
|
// Send the vote information to the server.
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: opts.processVoteURL,
|
||||||
|
data: d,
|
||||||
|
error: function(request, textStatus, error) {
|
||||||
|
showError('Oops, there was a problem casting that vote.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a reply form used to reply to an existing comment.
|
||||||
|
*/
|
||||||
|
function openReply(id) {
|
||||||
|
// Swap out the reply link for the hide link
|
||||||
|
$('#rl' + id).hide();
|
||||||
|
$('#cr' + id).show();
|
||||||
|
|
||||||
|
// Add the reply li to the children ul.
|
||||||
|
var div = $(renderTemplate(replyTemplate, {id: id})).hide();
|
||||||
|
$('#cl' + id)
|
||||||
|
.prepend(div)
|
||||||
|
// Setup the submit handler for the reply form.
|
||||||
|
.find('#rf' + id)
|
||||||
|
.submit(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
addComment($('#rf' + id));
|
||||||
|
closeReply(id);
|
||||||
|
})
|
||||||
|
.find('input[type=button]')
|
||||||
|
.click(function() {
|
||||||
|
closeReply(id);
|
||||||
|
});
|
||||||
|
div.slideDown('fast', function() {
|
||||||
|
$('#rf' + id).find('textarea').focus();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close the reply form opened with openReply.
|
||||||
|
*/
|
||||||
|
function closeReply(id) {
|
||||||
|
// Remove the reply div from the DOM.
|
||||||
|
$('#rd' + id).slideUp('fast', function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Swap out the hide link for the reply link
|
||||||
|
$('#cr' + id).hide();
|
||||||
|
$('#rl' + id).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recursively sort a tree of comments using the comp comparator.
|
||||||
|
*/
|
||||||
|
function sortComments(comments) {
|
||||||
|
comments.sort(comp);
|
||||||
|
$.each(comments, function() {
|
||||||
|
this.children = sortComments(this.children);
|
||||||
|
});
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the children comments from a ul. If recursive is true,
|
||||||
|
* recursively include childrens' children.
|
||||||
|
*/
|
||||||
|
function getChildren(ul, recursive) {
|
||||||
|
var children = [];
|
||||||
|
ul.children().children("[id^='cd']")
|
||||||
|
.each(function() {
|
||||||
|
var comment = $(this).data('comment');
|
||||||
|
if (recursive)
|
||||||
|
comment.children = getChildren($(this).find('#cl' + comment.id), true);
|
||||||
|
children.push(comment);
|
||||||
|
});
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Create a div to display a comment in. */
|
||||||
|
function createCommentDiv(comment) {
|
||||||
|
if (!comment.displayed && !opts.moderator) {
|
||||||
|
return $('<div class="moderate">Thank you! Your comment will show up '
|
||||||
|
+ 'once it is has been approved by a moderator.</div>');
|
||||||
|
}
|
||||||
|
// Prettify the comment rating.
|
||||||
|
comment.pretty_rating = comment.rating + ' point' +
|
||||||
|
(comment.rating == 1 ? '' : 's');
|
||||||
|
// Make a class (for displaying not yet moderated comments differently)
|
||||||
|
comment.css_class = comment.displayed ? '' : ' moderate';
|
||||||
|
// Create a div for this comment.
|
||||||
|
var context = $.extend({}, opts, comment);
|
||||||
|
var div = $(renderTemplate(commentTemplate, context));
|
||||||
|
|
||||||
|
// If the user has voted on this comment, highlight the correct arrow.
|
||||||
|
if (comment.vote) {
|
||||||
|
var direction = (comment.vote == 1) ? 'u' : 'd';
|
||||||
|
div.find('#' + direction + 'v' + comment.id).hide();
|
||||||
|
div.find('#' + direction + 'u' + comment.id).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opts.moderator || comment.text != '[deleted]') {
|
||||||
|
div.find('a.reply').show();
|
||||||
|
if (comment.proposal_diff)
|
||||||
|
div.find('#sp' + comment.id).show();
|
||||||
|
if (opts.moderator && !comment.displayed)
|
||||||
|
div.find('#cm' + comment.id).show();
|
||||||
|
if (opts.moderator || (opts.username == comment.username))
|
||||||
|
div.find('#dc' + comment.id).show();
|
||||||
|
}
|
||||||
|
return div;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A simple template renderer. Placeholders such as <%id%> are replaced
|
||||||
|
* by context['id'] with items being escaped. Placeholders such as <#id#>
|
||||||
|
* are not escaped.
|
||||||
|
*/
|
||||||
|
function renderTemplate(template, context) {
|
||||||
|
var esc = $(document.createElement('div'));
|
||||||
|
|
||||||
|
function handle(ph, escape) {
|
||||||
|
var cur = context;
|
||||||
|
$.each(ph.split('.'), function() {
|
||||||
|
cur = cur[this];
|
||||||
|
});
|
||||||
|
return escape ? esc.text(cur || "").html() : cur;
|
||||||
|
}
|
||||||
|
|
||||||
|
return template.replace(/<([%#])([\w\.]*)\1>/g, function() {
|
||||||
|
return handle(arguments[2], arguments[1] == '%' ? true : false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Flash an error message briefly. */
|
||||||
|
function showError(message) {
|
||||||
|
$(document.createElement('div')).attr({'class': 'popup-error'})
|
||||||
|
.append($(document.createElement('div'))
|
||||||
|
.attr({'class': 'error-message'}).text(message))
|
||||||
|
.appendTo('body')
|
||||||
|
.fadeIn("slow")
|
||||||
|
.delay(2000)
|
||||||
|
.fadeOut("slow");
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Add a link the user uses to open the comments popup. */
|
||||||
|
$.fn.comment = function() {
|
||||||
|
return this.each(function() {
|
||||||
|
var id = $(this).attr('id').substring(1);
|
||||||
|
var count = COMMENT_METADATA[id];
|
||||||
|
var title = count + ' comment' + (count == 1 ? '' : 's');
|
||||||
|
var image = count > 0 ? opts.commentBrightImage : opts.commentImage;
|
||||||
|
var addcls = count == 0 ? ' nocomment' : '';
|
||||||
|
$(this)
|
||||||
|
.append(
|
||||||
|
$(document.createElement('a')).attr({
|
||||||
|
href: '#',
|
||||||
|
'class': 'sphinx-comment-open' + addcls,
|
||||||
|
id: 'ao' + id
|
||||||
|
})
|
||||||
|
.append($(document.createElement('img')).attr({
|
||||||
|
src: image,
|
||||||
|
alt: 'comment',
|
||||||
|
title: title
|
||||||
|
}))
|
||||||
|
.click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
show($(this).attr('id').substring(2));
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.append(
|
||||||
|
$(document.createElement('a')).attr({
|
||||||
|
href: '#',
|
||||||
|
'class': 'sphinx-comment-close hidden',
|
||||||
|
id: 'ah' + id
|
||||||
|
})
|
||||||
|
.append($(document.createElement('img')).attr({
|
||||||
|
src: opts.closeCommentImage,
|
||||||
|
alt: 'close',
|
||||||
|
title: 'close'
|
||||||
|
}))
|
||||||
|
.click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
hide($(this).attr('id').substring(2));
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
var opts = {
|
||||||
|
processVoteURL: '/_process_vote',
|
||||||
|
addCommentURL: '/_add_comment',
|
||||||
|
getCommentsURL: '/_get_comments',
|
||||||
|
acceptCommentURL: '/_accept_comment',
|
||||||
|
deleteCommentURL: '/_delete_comment',
|
||||||
|
commentImage: '/static/_static/comment.png',
|
||||||
|
closeCommentImage: '/static/_static/comment-close.png',
|
||||||
|
loadingImage: '/static/_static/ajax-loader.gif',
|
||||||
|
commentBrightImage: '/static/_static/comment-bright.png',
|
||||||
|
upArrow: '/static/_static/up.png',
|
||||||
|
downArrow: '/static/_static/down.png',
|
||||||
|
upArrowPressed: '/static/_static/up-pressed.png',
|
||||||
|
downArrowPressed: '/static/_static/down-pressed.png',
|
||||||
|
voting: false,
|
||||||
|
moderator: false
|
||||||
|
};
|
||||||
|
|
||||||
|
if (typeof COMMENT_OPTIONS != "undefined") {
|
||||||
|
opts = jQuery.extend(opts, COMMENT_OPTIONS);
|
||||||
|
}
|
||||||
|
|
||||||
|
var popupTemplate = '\
|
||||||
|
<div class="sphinx-comments" id="sc<%id%>">\
|
||||||
|
<p class="sort-options">\
|
||||||
|
Sort by:\
|
||||||
|
<a href="#" class="sort-option byrating">best rated</a>\
|
||||||
|
<a href="#" class="sort-option byascage">newest</a>\
|
||||||
|
<a href="#" class="sort-option byage">oldest</a>\
|
||||||
|
</p>\
|
||||||
|
<div class="comment-header">Comments</div>\
|
||||||
|
<div class="comment-loading" id="cn<%id%>">\
|
||||||
|
loading comments... <img src="<%loadingImage%>" alt="" /></div>\
|
||||||
|
<ul id="cl<%id%>" class="comment-ul"></ul>\
|
||||||
|
<div id="ca<%id%>">\
|
||||||
|
<p class="add-a-comment">Add a comment\
|
||||||
|
(<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\
|
||||||
|
<div class="comment-markup-box" id="mb<%id%>">\
|
||||||
|
reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \
|
||||||
|
<tt>``code``</tt>, \
|
||||||
|
code blocks: <tt>::</tt> and an indented block after blank line</div>\
|
||||||
|
<form method="post" id="cf<%id%>" class="comment-form" action="">\
|
||||||
|
<textarea name="comment" cols="80"></textarea>\
|
||||||
|
<p class="propose-button">\
|
||||||
|
<a href="#" id="pc<%id%>" class="show-propose-change">\
|
||||||
|
Propose a change ▹\
|
||||||
|
</a>\
|
||||||
|
<a href="#" id="hc<%id%>" class="hide-propose-change">\
|
||||||
|
Propose a change ▿\
|
||||||
|
</a>\
|
||||||
|
</p>\
|
||||||
|
<textarea name="proposal" id="pt<%id%>" cols="80"\
|
||||||
|
spellcheck="false"></textarea>\
|
||||||
|
<input type="submit" value="Add comment" />\
|
||||||
|
<input type="hidden" name="node" value="<%id%>" />\
|
||||||
|
<input type="hidden" name="parent" value="" />\
|
||||||
|
</form>\
|
||||||
|
</div>\
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
var commentTemplate = '\
|
||||||
|
<div id="cd<%id%>" class="sphinx-comment<%css_class%>">\
|
||||||
|
<div class="vote">\
|
||||||
|
<div class="arrow">\
|
||||||
|
<a href="#" id="uv<%id%>" class="vote" title="vote up">\
|
||||||
|
<img src="<%upArrow%>" />\
|
||||||
|
</a>\
|
||||||
|
<a href="#" id="uu<%id%>" class="un vote" title="vote up">\
|
||||||
|
<img src="<%upArrowPressed%>" />\
|
||||||
|
</a>\
|
||||||
|
</div>\
|
||||||
|
<div class="arrow">\
|
||||||
|
<a href="#" id="dv<%id%>" class="vote" title="vote down">\
|
||||||
|
<img src="<%downArrow%>" id="da<%id%>" />\
|
||||||
|
</a>\
|
||||||
|
<a href="#" id="du<%id%>" class="un vote" title="vote down">\
|
||||||
|
<img src="<%downArrowPressed%>" />\
|
||||||
|
</a>\
|
||||||
|
</div>\
|
||||||
|
</div>\
|
||||||
|
<div class="comment-content">\
|
||||||
|
<p class="tagline comment">\
|
||||||
|
<span class="user-id"><%username%></span>\
|
||||||
|
<span class="rating"><%pretty_rating%></span>\
|
||||||
|
<span class="delta"><%time.delta%></span>\
|
||||||
|
</p>\
|
||||||
|
<div class="comment-text comment"><#text#></div>\
|
||||||
|
<p class="comment-opts comment">\
|
||||||
|
<a href="#" class="reply hidden" id="rl<%id%>">reply ▹</a>\
|
||||||
|
<a href="#" class="close-reply" id="cr<%id%>">reply ▿</a>\
|
||||||
|
<a href="#" id="sp<%id%>" class="show-proposal">proposal ▹</a>\
|
||||||
|
<a href="#" id="hp<%id%>" class="hide-proposal">proposal ▿</a>\
|
||||||
|
<a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\
|
||||||
|
<span id="cm<%id%>" class="moderation hidden">\
|
||||||
|
<a href="#" id="ac<%id%>" class="accept-comment">accept</a>\
|
||||||
|
</span>\
|
||||||
|
</p>\
|
||||||
|
<pre class="proposal" id="pr<%id%>">\
|
||||||
|
<#proposal_diff#>\
|
||||||
|
</pre>\
|
||||||
|
<ul class="comment-children" id="cl<%id%>"></ul>\
|
||||||
|
</div>\
|
||||||
|
<div class="clearleft"></div>\
|
||||||
|
</div>\
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
var replyTemplate = '\
|
||||||
|
<li>\
|
||||||
|
<div class="reply-div" id="rd<%id%>">\
|
||||||
|
<form id="rf<%id%>">\
|
||||||
|
<textarea name="comment" cols="80"></textarea>\
|
||||||
|
<input type="submit" value="Add reply" />\
|
||||||
|
<input type="button" value="Cancel" />\
|
||||||
|
<input type="hidden" name="parent" value="<%id%>" />\
|
||||||
|
<input type="hidden" name="node" value="" />\
|
||||||
|
</form>\
|
||||||
|
</div>\
|
||||||
|
</li>';
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
init();
|
||||||
|
});
|
||||||
|
})(jQuery);
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
// add comment anchors for all paragraphs that are commentable
|
||||||
|
$('.sphinx-has-comment').comment();
|
||||||
|
|
||||||
|
// highlight search words in search results
|
||||||
|
$("div.context").each(function() {
|
||||||
|
var params = $.getQueryParameters();
|
||||||
|
var terms = (params.q) ? params.q[0].split(/\s+/) : [];
|
||||||
|
var result = $(this);
|
||||||
|
$.each(terms, function() {
|
||||||
|
result.highlightText(this.toLowerCase(), 'highlighted');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// directly open comment window if requested
|
||||||
|
var anchor = document.location.hash;
|
||||||
|
if (anchor.substring(0, 9) == '#comment-') {
|
||||||
|
$('#ao' + anchor.substring(9)).click();
|
||||||
|
document.location.hash = '#s' + anchor.substring(9);
|
||||||
|
}
|
||||||
|
});
|
5126
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/config.html
vendored
Normal file
155
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/copyright.html
vendored
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
<!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">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>Copyright — phpMyAdmin 4.6.4 documentation</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/default.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DOCUMENTATION_OPTIONS = {
|
||||||
|
URL_ROOT: './',
|
||||||
|
VERSION: '4.6.4',
|
||||||
|
COLLAPSE_INDEX: false,
|
||||||
|
FILE_SUFFIX: '.html',
|
||||||
|
HAS_SOURCE: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||||
|
<link rel="copyright" title="Copyright" href="#" />
|
||||||
|
<link rel="top" title="phpMyAdmin 4.6.4 documentation" href="index.html" />
|
||||||
|
<link rel="next" title="Credits" href="credits.html" />
|
||||||
|
<link rel="prev" title="Distributing and packaging phpMyAdmin" href="vendors.html" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
accesskey="I">index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="credits.html" title="Credits"
|
||||||
|
accesskey="N">next</a> |</li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="vendors.html" title="Distributing and packaging phpMyAdmin"
|
||||||
|
accesskey="P">previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="document">
|
||||||
|
<div class="documentwrapper">
|
||||||
|
<div class="bodywrapper">
|
||||||
|
<div class="body">
|
||||||
|
|
||||||
|
<div class="section" id="copyright">
|
||||||
|
<span id="id1"></span><h1>Copyright<a class="headerlink" href="#copyright" title="Permalink to this headline">¶</a></h1>
|
||||||
|
<div class="highlight-none"><div class="highlight"><pre>Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
|
||||||
|
Copyright (C) 2001-2014 Marc Delisle <marc_at_infomarc.info>
|
||||||
|
Olivier Müller <om_at_omnis.ch>
|
||||||
|
Robin Johnson <robbat2_at_users.sourceforge.net>
|
||||||
|
Alexander M. Turek <me_at_derrabus.de>
|
||||||
|
Michal Čihař <michal_at_cihar.com>
|
||||||
|
Garvin Hicking <me_at_supergarv.de>
|
||||||
|
Michael Keck <mkkeck_at_users.sourceforge.net>
|
||||||
|
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
|
||||||
|
[check credits for more details]
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License version 2, as
|
||||||
|
published by the Free Software Foundation.</p>
|
||||||
|
<p>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.</p>
|
||||||
|
<p>You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <<a class="reference external" href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>>.</p>
|
||||||
|
<div class="section" id="third-party-licenses">
|
||||||
|
<h2>Third party licenses<a class="headerlink" href="#third-party-licenses" title="Permalink to this headline">¶</a></h2>
|
||||||
|
<p>phpMyAdmin includes several third party libraries which come under their
|
||||||
|
respective licenses.</p>
|
||||||
|
<p>jQuery’s license, which is where we got the files under js/jquery/ is
|
||||||
|
(MIT|GPL), a copy of each license is available in this repository (GPL
|
||||||
|
is available as LICENSE, MIT as js/jquery/MIT-LICENSE.txt).</p>
|
||||||
|
<p>TCPDF which is located under libraries/tcpdf is released under GPL
|
||||||
|
version 3 and the license is available as libraries/tcpdf/LICENSE.TXT.</p>
|
||||||
|
<p>DejaVu fonts which are located under libraries/tcpdf/fonts/ and their
|
||||||
|
license is documented in
|
||||||
|
libraries/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE.</p>
|
||||||
|
<p>PHP-gettext which is located under libraries/php-gettext/ is released
|
||||||
|
under GPL version 2 license which is available in the LICENSE file.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sphinxsidebar">
|
||||||
|
<div class="sphinxsidebarwrapper">
|
||||||
|
<h3><a href="index.html">Table Of Contents</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><a class="reference internal" href="#">Copyright</a><ul>
|
||||||
|
<li><a class="reference internal" href="#third-party-licenses">Third party licenses</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h4>Previous topic</h4>
|
||||||
|
<p class="topless"><a href="vendors.html"
|
||||||
|
title="previous chapter">Distributing and packaging phpMyAdmin</a></p>
|
||||||
|
<h4>Next topic</h4>
|
||||||
|
<p class="topless"><a href="credits.html"
|
||||||
|
title="next chapter">Credits</a></p>
|
||||||
|
<h3>This Page</h3>
|
||||||
|
<ul class="this-page-menu">
|
||||||
|
<li><a href="_sources/copyright.txt"
|
||||||
|
rel="nofollow">Show Source</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="searchbox" style="display: none">
|
||||||
|
<h3>Quick search</h3>
|
||||||
|
<form class="search" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" />
|
||||||
|
<input type="submit" value="Go" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
<p class="searchtip" style="font-size: 90%">
|
||||||
|
Enter search terms or a module, class or function name.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearer"></div>
|
||||||
|
</div>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
>index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="credits.html" title="Credits"
|
||||||
|
>next</a> |</li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="vendors.html" title="Distributing and packaging phpMyAdmin"
|
||||||
|
>previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
© <a href="#">Copyright</a> 2012 - 2016, The phpMyAdmin devel team.
|
||||||
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
1337
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/credits.html
vendored
Normal file
116
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/developers.html
vendored
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<!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">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>Developers Information — phpMyAdmin 4.6.4 documentation</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/default.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DOCUMENTATION_OPTIONS = {
|
||||||
|
URL_ROOT: './',
|
||||||
|
VERSION: '4.6.4',
|
||||||
|
COLLAPSE_INDEX: false,
|
||||||
|
FILE_SUFFIX: '.html',
|
||||||
|
HAS_SOURCE: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||||
|
<link rel="copyright" title="Copyright" href="copyright.html" />
|
||||||
|
<link rel="top" title="phpMyAdmin 4.6.4 documentation" href="index.html" />
|
||||||
|
<link rel="next" title="Distributing and packaging phpMyAdmin" href="vendors.html" />
|
||||||
|
<link rel="prev" title="FAQ - Frequently Asked Questions" href="faq.html" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
accesskey="I">index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="vendors.html" title="Distributing and packaging phpMyAdmin"
|
||||||
|
accesskey="N">next</a> |</li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="faq.html" title="FAQ - Frequently Asked Questions"
|
||||||
|
accesskey="P">previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="document">
|
||||||
|
<div class="documentwrapper">
|
||||||
|
<div class="bodywrapper">
|
||||||
|
<div class="body">
|
||||||
|
|
||||||
|
<div class="section" id="developers-information">
|
||||||
|
<span id="developers"></span><h1>Developers Information<a class="headerlink" href="#developers-information" title="Permalink to this headline">¶</a></h1>
|
||||||
|
<p>phpMyAdmin is Open Source, so you’re invited to contribute to it. Many
|
||||||
|
great features have been written by other people and you too can help
|
||||||
|
to make phpMyAdmin a useful tool.</p>
|
||||||
|
<p>You can check out all the possibilities to contribute in the
|
||||||
|
<a class="reference external" href="https://www.phpmyadmin.net/contribute/">contribute section on our website</a>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sphinxsidebar">
|
||||||
|
<div class="sphinxsidebarwrapper">
|
||||||
|
<h4>Previous topic</h4>
|
||||||
|
<p class="topless"><a href="faq.html"
|
||||||
|
title="previous chapter">FAQ - Frequently Asked Questions</a></p>
|
||||||
|
<h4>Next topic</h4>
|
||||||
|
<p class="topless"><a href="vendors.html"
|
||||||
|
title="next chapter">Distributing and packaging phpMyAdmin</a></p>
|
||||||
|
<h3>This Page</h3>
|
||||||
|
<ul class="this-page-menu">
|
||||||
|
<li><a href="_sources/developers.txt"
|
||||||
|
rel="nofollow">Show Source</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="searchbox" style="display: none">
|
||||||
|
<h3>Quick search</h3>
|
||||||
|
<form class="search" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" />
|
||||||
|
<input type="submit" value="Go" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
<p class="searchtip" style="font-size: 90%">
|
||||||
|
Enter search terms or a module, class or function name.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearer"></div>
|
||||||
|
</div>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
>index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="vendors.html" title="Distributing and packaging phpMyAdmin"
|
||||||
|
>next</a> |</li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="faq.html" title="FAQ - Frequently Asked Questions"
|
||||||
|
>previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
© <a href="copyright.html">Copyright</a> 2012 - 2016, The phpMyAdmin devel team.
|
||||||
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
1932
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/faq.html
vendored
Normal file
3816
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/genindex.html
vendored
Normal file
614
.devilbox/www/htdocs/vendor/phpmyadmin/doc/html/glossary.html
vendored
Normal file
@ -0,0 +1,614 @@
|
|||||||
|
<!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">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>Glossary — phpMyAdmin 4.6.4 documentation</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/default.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DOCUMENTATION_OPTIONS = {
|
||||||
|
URL_ROOT: './',
|
||||||
|
VERSION: '4.6.4',
|
||||||
|
COLLAPSE_INDEX: false,
|
||||||
|
FILE_SUFFIX: '.html',
|
||||||
|
HAS_SOURCE: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||||
|
<link rel="copyright" title="Copyright" href="copyright.html" />
|
||||||
|
<link rel="top" title="phpMyAdmin 4.6.4 documentation" href="index.html" />
|
||||||
|
<link rel="prev" title="Credits" href="credits.html" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
accesskey="I">index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="credits.html" title="Credits"
|
||||||
|
accesskey="P">previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="document">
|
||||||
|
<div class="documentwrapper">
|
||||||
|
<div class="bodywrapper">
|
||||||
|
<div class="body">
|
||||||
|
|
||||||
|
<div class="section" id="glossary">
|
||||||
|
<span id="id1"></span><h1>Glossary<a class="headerlink" href="#glossary" title="Permalink to this headline">¶</a></h1>
|
||||||
|
<p>From Wikipedia, the free encyclopedia</p>
|
||||||
|
<dl class="glossary docutils">
|
||||||
|
<dt id="term-htaccess">.htaccess</dt>
|
||||||
|
<dd><p class="first">the default name of Apache’s directory-level configuration file.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/.htaccess">https://www.wikipedia.org/wiki/.htaccess</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-acl">ACL</dt>
|
||||||
|
<dd>Access Contol List</dd>
|
||||||
|
<dt id="term-blowfish">Blowfish</dt>
|
||||||
|
<dd><p class="first">a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Blowfish_(cipher)">https://www.wikipedia.org/wiki/Blowfish_(cipher)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-browser">Browser</dt>
|
||||||
|
<dd><p class="first">a software application that enables a user to display and interact with text, images, and other information typically located on a web page at a website on the World Wide Web.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://en.wikipedia.org/wiki/Web_browser">https://en.wikipedia.org/wiki/Web_browser</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-bzip2">bzip2</dt>
|
||||||
|
<dd><p class="first">a free software/open source data compression algorithm and program developed by Julian Seward.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Bzip2">https://www.wikipedia.org/wiki/Bzip2</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-cgi">CGI</dt>
|
||||||
|
<dd><p class="first">Common Gateway Interface is an important World Wide Web technology that
|
||||||
|
enables a client web browser to request data from a program executed on
|
||||||
|
the Web server.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/CGI">https://www.wikipedia.org/wiki/CGI</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-changelog">Changelog</dt>
|
||||||
|
<dd><p class="first">a log or record of changes made to a project.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Changelog">https://www.wikipedia.org/wiki/Changelog</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-client">Client</dt>
|
||||||
|
<dd><p class="first">a computer system that accesses a (remote) service on another computer by some kind of network.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Client_(computing)">https://www.wikipedia.org/wiki/Client_(computing)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-column">column</dt>
|
||||||
|
<dd><p class="first">a set of data values of a particular simple type, one for each row of the table.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Column_(database)">https://www.wikipedia.org/wiki/Column_(database)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-cookie">Cookie</dt>
|
||||||
|
<dd><p class="first">a packet of information sent by a server to a World Wide Web browser and then sent back by the browser each time it accesses that server.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/HTTP_cookie">https://www.wikipedia.org/wiki/HTTP_cookie</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-csv">CSV</dt>
|
||||||
|
<dd><p class="first">Comma- separated values</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Comma-separated_values">https://www.wikipedia.org/wiki/Comma-separated_values</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-db">DB</dt>
|
||||||
|
<dd>look at <a class="reference internal" href="#term-database"><em class="xref std std-term">database</em></a></dd>
|
||||||
|
<dt id="term-database">database</dt>
|
||||||
|
<dd><p class="first">an organized collection of data.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Database">https://www.wikipedia.org/wiki/Database</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-engine">Engine</dt>
|
||||||
|
<dd>look at <a class="reference internal" href="#term-storage-engines"><em class="xref std std-term">storage engines</em></a></dd>
|
||||||
|
<dt id="term-extension">extension</dt>
|
||||||
|
<dd><p class="first">a PHP module that extends PHP with additional functionality.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/extension">https://www.wikipedia.org/wiki/extension</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-faq">FAQ</dt>
|
||||||
|
<dd><p class="first">Frequently Asked Questions is a list of commonly asked question and there
|
||||||
|
answers.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/FAQ">https://www.wikipedia.org/wiki/FAQ</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-field">Field</dt>
|
||||||
|
<dd><p class="first">one part of divided data/columns.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Field_(computer_science)">https://www.wikipedia.org/wiki/Field_(computer_science)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-foreign-key">foreign key</dt>
|
||||||
|
<dd><p class="first">a column or group of columns in a database row that point to a key column
|
||||||
|
or group of columns forming a key of another database row in some
|
||||||
|
(usually different) table.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Foreign_key">https://www.wikipedia.org/wiki/Foreign_key</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-fpdf">FPDF</dt>
|
||||||
|
<dd><p class="first">the free <a class="reference internal" href="#term-pdf"><em class="xref std std-term">PDF</em></a> library</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="http://www.fpdf.org/">http://www.fpdf.org/</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-gd">GD</dt>
|
||||||
|
<dd><p class="first">Graphics Library by Thomas Boutell and others for dynamically manipulating images.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/GD_Graphics_Library">https://www.wikipedia.org/wiki/GD_Graphics_Library</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-gd2">GD2</dt>
|
||||||
|
<dd>look at <a class="reference internal" href="#term-gd"><em class="xref std std-term">gd</em></a></dd>
|
||||||
|
<dt id="term-gzip">gzip</dt>
|
||||||
|
<dd><p class="first">gzip is short for GNU zip, a GNU free software file compression program.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Gzip">https://www.wikipedia.org/wiki/Gzip</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-host">host</dt>
|
||||||
|
<dd><p class="first">any machine connected to a computer network, a node that has a hostname.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Host">https://www.wikipedia.org/wiki/Host</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-hostname">hostname</dt>
|
||||||
|
<dd><p class="first">the unique name by which a network attached device is known on a network.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Hostname">https://www.wikipedia.org/wiki/Hostname</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-http">HTTP</dt>
|
||||||
|
<dd><p class="first">HyperText Transfer Protocol is the primary method used to transfer or
|
||||||
|
convey information on the World Wide Web.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/HyperText_Transfer_Protocol">https://www.wikipedia.org/wiki/HyperText_Transfer_Protocol</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-https">https</dt>
|
||||||
|
<dd><p class="first">a <a class="reference internal" href="#term-http"><em class="xref std std-term">HTTP</em></a>-connection with additional security measures.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Https:_URI_scheme">https://www.wikipedia.org/wiki/Https:_URI_scheme</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-iec">IEC</dt>
|
||||||
|
<dd>International Electrotechnical Commission</dd>
|
||||||
|
<dt id="term-iis">IIS</dt>
|
||||||
|
<dd><p class="first">Internet Information Services is a set of Internet-based services for
|
||||||
|
servers using Microsoft Windows.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Internet_Information_Services">https://www.wikipedia.org/wiki/Internet_Information_Services</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-index">Index</dt>
|
||||||
|
<dd><p class="first">a feature that allows quick access to the rows in a table.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Index_(database)">https://www.wikipedia.org/wiki/Index_(database)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-ip">IP</dt>
|
||||||
|
<dd><p class="first">Internet Protocol is a data-oriented protocol used by source and
|
||||||
|
destination hosts for communicating data across a packet-switched
|
||||||
|
internetwork.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Internet_Protocol">https://www.wikipedia.org/wiki/Internet_Protocol</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-ip-address">IP Address</dt>
|
||||||
|
<dd><p class="first">a unique number that devices use in order to identify and communicate with each other on a network utilizing the Internet Protocol standard.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/IP_Address">https://www.wikipedia.org/wiki/IP_Address</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-ipv6">IPv6</dt>
|
||||||
|
<dd><p class="first">IPv6 (Internet Protocol version 6) is the latest revision of the
|
||||||
|
Internet Protocol (<a class="reference internal" href="#term-ip"><em class="xref std std-term">IP</em></a>), designed to deal with the
|
||||||
|
long-anticipated problem of its precedessor IPv4 running out of addresses.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/IPv6">https://www.wikipedia.org/wiki/IPv6</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-isapi">ISAPI</dt>
|
||||||
|
<dd><p class="first">Internet Server Application Programming Interface is the API of Internet Information Services (IIS).</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/ISAPI">https://www.wikipedia.org/wiki/ISAPI</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-isp">ISP</dt>
|
||||||
|
<dd><p class="first">Internet service provider is a business or organization that offers users
|
||||||
|
access to the Internet and related services.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/ISP">https://www.wikipedia.org/wiki/ISP</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-iso">ISO</dt>
|
||||||
|
<dd>International Standards Organisation</dd>
|
||||||
|
<dt id="term-jpeg">JPEG</dt>
|
||||||
|
<dd><p class="first">a most commonly used standard method of lossy compression for photographic images.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/JPEG">https://www.wikipedia.org/wiki/JPEG</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-jpg">JPG</dt>
|
||||||
|
<dd>look at <a class="reference internal" href="#term-jpeg"><em class="xref std std-term">jpeg</em></a></dd>
|
||||||
|
<dt id="term-key">Key</dt>
|
||||||
|
<dd>look at <a class="reference internal" href="#term-index"><em class="xref std std-term">index</em></a></dd>
|
||||||
|
<dt id="term-latex">LATEX</dt>
|
||||||
|
<dd><p class="first">a document preparation system for the TEX typesetting program.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/LaTeX">https://www.wikipedia.org/wiki/LaTeX</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mac">Mac</dt>
|
||||||
|
<dd><p class="first">Apple Macintosh is line of personal computers is designed, developed, manufactured, and marketed by Apple Computer.</p>
|
||||||
|
<p class="last">. seealso:: <<a class="reference external" href="https://www.wikipedia.org/wiki/Mac">https://www.wikipedia.org/wiki/Mac</a>></p>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mac-os-x">Mac OS X</dt>
|
||||||
|
<dd><p class="first">the operating system which is included with all currently shipping Apple Macintosh computers in the consumer and professional markets.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Mac_OS_X">https://www.wikipedia.org/wiki/Mac_OS_X</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mcrypt">MCrypt</dt>
|
||||||
|
<dd><p class="first">a cryptographic library.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/MCrypt">https://www.wikipedia.org/wiki/MCrypt</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-42">mcrypt</dt>
|
||||||
|
<dd><p class="first">the MCrypt PHP extension.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://php.net/mcrypt">https://php.net/mcrypt</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mime">MIME</dt>
|
||||||
|
<dd><p class="first">Multipurpose Internet Mail Extensions is
|
||||||
|
an Internet Standard for the format of e-mail.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/MIME">https://www.wikipedia.org/wiki/MIME</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-module">module</dt>
|
||||||
|
<dd><p class="first">some sort of extension for the Apache Webserver.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/module">https://www.wikipedia.org/wiki/module</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mod-proxy-fcgi">mod_proxy_fcgi</dt>
|
||||||
|
<dd>an Apache module implmenting a Fast CGI interface; PHP can be run as a CGI module, FastCGI, or
|
||||||
|
directly as an Apache module.</dd>
|
||||||
|
<dt id="term-mysql">MySQL</dt>
|
||||||
|
<dd><p class="first">a multithreaded, multi-user, SQL (Structured Query Language) Database Management System (DBMS).</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/MySQL">https://www.wikipedia.org/wiki/MySQL</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-mysqli">mysqli</dt>
|
||||||
|
<dd><p class="first">the improved MySQL client PHP extension.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://php.net/mysqli">https://php.net/mysqli</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-48">mysql</dt>
|
||||||
|
<dd><p class="first">the MySQL client PHP extension.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://php.net/mysql">https://php.net/mysql</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-opendocument">OpenDocument</dt>
|
||||||
|
<dd><p class="first">open standard for office documents.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/OpenDocument">https://www.wikipedia.org/wiki/OpenDocument</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-os-x">OS X</dt>
|
||||||
|
<dd><p class="first">look at <a class="reference internal" href="#term-mac-os-x"><em class="xref std std-term">Mac OS X</em></a>.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/OS_X">https://www.wikipedia.org/wiki/OS_X</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-pdf">PDF</dt>
|
||||||
|
<dd><p class="first">Portable Document Format is a file format developed by Adobe Systems for
|
||||||
|
representing two dimensional documents in a device independent and
|
||||||
|
resolution independent format.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Portable_Document_Format">https://www.wikipedia.org/wiki/Portable_Document_Format</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-pear">PEAR</dt>
|
||||||
|
<dd><p class="first">the PHP Extension and Application Repository.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://pear.php.net/">https://pear.php.net/</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-pcre">PCRE</dt>
|
||||||
|
<dd><p class="first">Perl Compatible Regular Expressions is the perl-compatible regular
|
||||||
|
expression functions for PHP</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://php.net/pcre">https://php.net/pcre</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-php">PHP</dt>
|
||||||
|
<dd><p class="first">short for “PHP: Hypertext Preprocessor”, is an open-source, reflective
|
||||||
|
programming language used mainly for developing server-side applications
|
||||||
|
and dynamic web content, and more recently, a broader range of software
|
||||||
|
applications.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/PHP">https://www.wikipedia.org/wiki/PHP</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-port">port</dt>
|
||||||
|
<dd><p class="first">a connection through which data is sent and received.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Port_(computing)">https://www.wikipedia.org/wiki/Port_(computing)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-rfc">RFC</dt>
|
||||||
|
<dd><p class="first">Request for Comments (RFC) documents are a series of memoranda
|
||||||
|
encompassing new research, innovations, and methodologies applicable to
|
||||||
|
Internet technologies.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Request_for_Comments">https://www.wikipedia.org/wiki/Request_for_Comments</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-rfc-1952">RFC 1952</dt>
|
||||||
|
<dd><p class="first">GZIP file format specification version 4.3</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><span class="target" id="index-0"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc1952.html"><strong>RFC 1952</strong></a></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-row-record-tuple">Row (record, tuple)</dt>
|
||||||
|
<dd><p class="first">represents a single, implicitly structured data item in a table.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Row_(database)">https://www.wikipedia.org/wiki/Row_(database)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-server">Server</dt>
|
||||||
|
<dd><p class="first">a computer system that provides services to other computing systems over a network.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Server_(computing)">https://www.wikipedia.org/wiki/Server_(computing)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-storage-engines">Storage Engines</dt>
|
||||||
|
<dd><p class="first">handlers for different table types</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://dev.mysql.com/doc/en/storage-engines.html">https://dev.mysql.com/doc/en/storage-engines.html</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-socket">socket</dt>
|
||||||
|
<dd><p class="first">a form of inter-process communication.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Socket#Computer_sockets">https://www.wikipedia.org/wiki/Socket#Computer_sockets</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-ssl">SSL</dt>
|
||||||
|
<dd><p class="first">Secure Sockets Layer is a cryptographic protocol which provides secure
|
||||||
|
communication on the Internet.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Secure_Sockets_Layer">https://www.wikipedia.org/wiki/Secure_Sockets_Layer</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-stored-procedure">Stored procedure</dt>
|
||||||
|
<dd><p class="first">a subroutine available to applications accessing a relational database system</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://en.wikipedia.org/wiki/Stored_procedure">https://en.wikipedia.org/wiki/Stored_procedure</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-sql">SQL</dt>
|
||||||
|
<dd><p class="first">Structured Query Language</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/SQL">https://www.wikipedia.org/wiki/SQL</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-table">table</dt>
|
||||||
|
<dd><p class="first">a set of data elements (cells) that is organized, defined and stored as
|
||||||
|
horizontal rows and vertical columns where each item can be uniquely
|
||||||
|
identified by a label or key or by it?s position in relation to other
|
||||||
|
items.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Table_(database)">https://www.wikipedia.org/wiki/Table_(database)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-tar">tar</dt>
|
||||||
|
<dd><p class="first">a type of archive file format: the Tape ARchive format.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Tar_(file_format)">https://www.wikipedia.org/wiki/Tar_(file_format)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-tcp">TCP</dt>
|
||||||
|
<dd><p class="first">Transmission Control Protocol is one of the core protocols of the
|
||||||
|
Internet protocol suite.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/TCP">https://www.wikipedia.org/wiki/TCP</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-tcpdf">TCPDF</dt>
|
||||||
|
<dd><p class="first">Rewrite of <a class="reference internal" href="#term-ufpdf"><em class="xref std std-term">UFPDF</em></a> with various improvements.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://tcpdf.org/">https://tcpdf.org/</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-trigger">trigger</dt>
|
||||||
|
<dd><p class="first">a procedural code that is automatically executed in response to certain events on a particular table or view in a database</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://en.wikipedia.org/wiki/Database_trigger">https://en.wikipedia.org/wiki/Database_trigger</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-ufpdf">UFPDF</dt>
|
||||||
|
<dd>Unicode/UTF-8 extension for <a class="reference internal" href="#term-fpdf"><em class="xref std std-term">FPDF</em></a></dd>
|
||||||
|
<dt id="term-url">URL</dt>
|
||||||
|
<dd><p class="first">Uniform Resource Locator is a sequence of characters, conforming to a
|
||||||
|
standardized format, that is used for referring to resources, such as
|
||||||
|
documents and images on the Internet, by their location.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/URL">https://www.wikipedia.org/wiki/URL</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-webserver">Webserver</dt>
|
||||||
|
<dd><p class="first">A computer (program) that is responsible for accepting HTTP requests from clients and serving them Web pages.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Webserver">https://www.wikipedia.org/wiki/Webserver</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-xml">XML</dt>
|
||||||
|
<dd><p class="first">Extensible Markup Language is a W3C-recommended general- purpose markup
|
||||||
|
language for creating special-purpose markup languages, capable of
|
||||||
|
describing many different kinds of data.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/XML">https://www.wikipedia.org/wiki/XML</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-zip">ZIP</dt>
|
||||||
|
<dd><p class="first">a popular data compression and archival format.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/ZIP_(file_format)">https://www.wikipedia.org/wiki/ZIP_(file_format)</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt id="term-zlib">zlib</dt>
|
||||||
|
<dd><p class="first">an open-source, cross- platform data compression library by Jean-loup Gailly and Mark Adler.</p>
|
||||||
|
<div class="last admonition seealso">
|
||||||
|
<p class="first admonition-title">See also</p>
|
||||||
|
<p class="last"><<a class="reference external" href="https://www.wikipedia.org/wiki/Zlib">https://www.wikipedia.org/wiki/Zlib</a>></p>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sphinxsidebar">
|
||||||
|
<div class="sphinxsidebarwrapper">
|
||||||
|
<h4>Previous topic</h4>
|
||||||
|
<p class="topless"><a href="credits.html"
|
||||||
|
title="previous chapter">Credits</a></p>
|
||||||
|
<h3>This Page</h3>
|
||||||
|
<ul class="this-page-menu">
|
||||||
|
<li><a href="_sources/glossary.txt"
|
||||||
|
rel="nofollow">Show Source</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="searchbox" style="display: none">
|
||||||
|
<h3>Quick search</h3>
|
||||||
|
<form class="search" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" />
|
||||||
|
<input type="submit" value="Go" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
<p class="searchtip" style="font-size: 90%">
|
||||||
|
Enter search terms or a module, class or function name.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearer"></div>
|
||||||
|
</div>
|
||||||
|
<div class="related">
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="right" style="margin-right: 10px">
|
||||||
|
<a href="genindex.html" title="General Index"
|
||||||
|
>index</a></li>
|
||||||
|
<li class="right" >
|
||||||
|
<a href="credits.html" title="Credits"
|
||||||
|
>previous</a> |</li>
|
||||||
|
<li><a href="index.html">phpMyAdmin 4.6.4 documentation</a> »</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
© <a href="copyright.html">Copyright</a> 2012 - 2016, The phpMyAdmin devel team.
|
||||||
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|