Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

First version

  • Loading branch information...
commit 4a7eae245829d4fd254441c7dbe3674ac5927215 1 parent cb3c005
@helgi authored
Showing with 30,610 additions and 0 deletions.
  1. +9 −0 README.md
  2. +9 −0 autoload/a.php
  3. +8 −0 autoload/b.php
  4. +4 −0 autoload/cli.php
  5. +33 −0 autoload/create.php
  6. +2 −0  awesome.php
  7. +4 −0 cli/cli.php
  8. +19 −0 cli/create.php
  9. +4 −0 combo/cli.php
  10. +23 −0 combo/create.php
  11. +4 −0 combo/web.php
  12. +9 −0 example2/create.php
  13. +8 −0 example3/create.php
  14. +474 −0 example3/js/zepto.js
  15. +2 −0  example_1.php
  16. +2 −0  example_2.php
  17. +3 −0  example_3.php
  18. BIN  phpmyadmin/.DS_Store
  19. +8 −0 phpmyadmin/phpMyAdmin-3.4.9-english/CREDITS
  20. +565 −0 phpmyadmin/phpMyAdmin-3.4.9-english/ChangeLog
  21. +5,105 −0 phpmyadmin/phpMyAdmin-3.4.9-english/Documentation.html
  22. +3,702 −0 phpmyadmin/phpMyAdmin-3.4.9-english/Documentation.txt
  23. +6 −0 phpmyadmin/phpMyAdmin-3.4.9-english/INSTALL
  24. +340 −0 phpmyadmin/phpMyAdmin-3.4.9-english/LICENSE
  25. +85 −0 phpmyadmin/phpMyAdmin-3.4.9-english/README
  26. +37 −0 phpmyadmin/phpMyAdmin-3.4.9-english/README.VENDOR
  27. +1 −0  phpmyadmin/phpMyAdmin-3.4.9-english/RELEASE-DATE-3.4.9
  28. +8 −0 phpmyadmin/phpMyAdmin-3.4.9-english/TODO
  29. +296 −0 phpmyadmin/phpMyAdmin-3.4.9-english/browse_foreigners.php
  30. +70 −0 phpmyadmin/phpMyAdmin-3.4.9-english/bs_disp_as_mime_type.php
  31. +66 −0 phpmyadmin/phpMyAdmin-3.4.9-english/bs_play_media.php
  32. +117 −0 phpmyadmin/phpMyAdmin-3.4.9-english/changelog.php
  33. +25 −0 phpmyadmin/phpMyAdmin-3.4.9-english/chk_rel.php
  34. +143 −0 phpmyadmin/phpMyAdmin-3.4.9-english/config.sample.inc.php
  35. +20 −0 phpmyadmin/phpMyAdmin-3.4.9-english/contrib/README
  36. +19 −0 phpmyadmin/phpMyAdmin-3.4.9-english/contrib/htaccess
  37. +44 −0 phpmyadmin/phpMyAdmin-3.4.9-english/contrib/swekey.sample.conf
  38. +129 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_create.php
  39. +318 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_datadict.php
  40. +90 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_export.php
  41. +29 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_import.php
  42. +601 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_operations.php
  43. +268 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_printview.php
  44. +967 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_qbe.php
  45. +382 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_search.php
  46. +48 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_sql.php
  47. +605 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_structure.php
  48. +236 −0 phpmyadmin/phpMyAdmin-3.4.9-english/db_tracking.php
  49. +213 −0 phpmyadmin/phpMyAdmin-3.4.9-english/docs.css
  50. +73 −0 phpmyadmin/phpMyAdmin-3.4.9-english/enum_editor.php
  51. +729 −0 phpmyadmin/phpMyAdmin-3.4.9-english/export.php
  52. BIN  phpmyadmin/phpMyAdmin-3.4.9-english/favicon.ico
  53. +465 −0 phpmyadmin/phpMyAdmin-3.4.9-english/import.php
  54. +36 −0 phpmyadmin/phpMyAdmin-3.4.9-english/import_status.php
  55. +189 −0 phpmyadmin/phpMyAdmin-3.4.9-english/index.php
  56. +13 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/common.js
  57. +24 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/config.js
  58. +1 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/cross_framing_protection.js
  59. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/db_operations.js
  60. +6 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/db_search.js
  61. +7 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/db_structure.js
  62. +6 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/dom-drag.js
  63. +13 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/export.js
  64. +74 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/functions.js
  65. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/import.js
  66. +2 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/indexes.js
  67. +153 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/jquery-1.4.4.js
  68. +383 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/jquery-ui-1.8.custom.js
  69. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/jquery.json-2.2.js
  70. +15 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/jquery.qtip-1.0.0.min.js
  71. +6 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/jquery.sprintf.js
  72. +17 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/jquery/timepicker.js
  73. +2 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/keyhandler.js
  74. +234 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/messages.php
  75. +7 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/navigation.js
  76. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/pMap.js
  77. +2 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/querywindow.js
  78. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/replication.js
  79. +13 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/server_privileges.js
  80. +13 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/server_synchronize.js
  81. +34 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/sql.js
  82. +15 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/tbl_change.js
  83. +1 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/tbl_relation.js
  84. +3 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/tbl_select.js
  85. +4 −0 phpmyadmin/phpMyAdmin-3.4.9-english/js/tbl_structure.js
  86. +2 −0  phpmyadmin/phpMyAdmin-3.4.9-english/js/update-location.js
  87. +3 −0  phpmyadmin/phpMyAdmin-3.4.9-english/libraries/.htaccess
  88. +1,293 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Config.class.php
  89. +417 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Error.class.php
  90. +405 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Error_Handler.class.php
  91. +906 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/File.class.php
  92. +708 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Index.class.php
  93. +125 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/List.class.php
  94. +535 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/List_Database.class.php
  95. +764 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Message.class.php
  96. +100 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/PMA.php
  97. +56 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Partition.class.php
  98. +433 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/StorageEngine.class.php
  99. +1,205 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Table.class.php
  100. +388 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Theme.class.php
  101. +379 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Theme_Manager.class.php
  102. +941 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/Tracker.class.php
  103. +138 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/config.auth.lib.php
  104. +674 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/cookie.auth.lib.php
  105. +237 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/http.auth.lib.php
  106. +238 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/signon.auth.lib.php
  107. +172 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/swekey/authentication.inc.php
  108. +25 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/swekey/musbe-ca.crt
  109. +284 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/swekey/swekey.auth.lib.php
  110. +507 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/auth/swekey/swekey.php
  111. +500 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/blobstreaming.lib.php
  112. +522 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/blowfish.php
  113. +209 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/bookmark.lib.php
  114. +158 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/build_html_for_db.lib.php
  115. +86 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/charset_conversion.lib.php
  116. +256 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/chart.lib.php
  117. BIN  phpmyadmin/phpMyAdmin-3.4.9-english/libraries/chart/pChart/fonts/DejaVuSans.ttf
  118. +99 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/chart/pChart/fonts/LICENSE
  119. +6 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/chart/pChart/fonts/README
  120. +119 −0 phpmyadmin/phpMyAdmin-3.4.9-english/libraries/chart/pChart/pCache.class
Sorry, we could not display the entire diff because too many files (832) changed.
View
9 README.md
@@ -1 +1,10 @@
Examples from "Phar, the PHP .exe format" talk I (Helgi) wrote.
+
+
+To run any of the create scripts you will have to pass in -d phar.readonly=0 or change it in php.ini (not recommended) as Phar disables write access by default.
+
+`php -d phar.readonly=0 example2/create.php`
+
+### phpMyAdmin
+
+Due to Phar not liking relative paths so the phpmyadmin example isn't working right now
View
9 autoload/a.php
@@ -0,0 +1,9 @@
+<?php
+class a
+{
+ function __construct()
+ {
+ echo "This is class A\n";
+ $b = new b;
+ }
+}
View
8 autoload/b.php
@@ -0,0 +1,8 @@
+<?php
+class b
+{
+ function __construct()
+ {
+ echo "This is class B\n";
+ }
+}
View
4 autoload/cli.php
@@ -0,0 +1,4 @@
+<?php
+
+echo "This does CLI stuff\n";
+$a = new a;
View
33 autoload/create.php
@@ -0,0 +1,33 @@
+<?php
+if (!Phar::canWrite()) {
+ die("Phar is in read-only mode, try php -d phar.readonly=0 autoload/create.php\n");
+}
+
+@unlink('project.phar');
+$p = new Phar('project.phar', 0, 'project.phar');
+$p->buildFromDirectory(__DIR__);
+
+$stub = <<<'EOD'
+#!/usr/bin/env php
+<?php
+Phar::interceptFileFuncs();
+function __autoload ($load) {
+ include "phar://" . __FILE__ . "/$load.php";
+}
+include "phar://" . __FILE__ . "/cli.php";
+__HALT_COMPILER();
+EOD;
+$p->setStub($stub);
+
+chmod('project.phar', 0744);
+
+ #!/usr/bin/env php
+ <?php
+ Phar::interceptFileFuncs();
+ function __autoload ($load) {
+ include "phar://" . __FILE__ . "/$load.php";
+ }
+ include "phar://" . __FILE__ . "/cli.php";
+ __HALT_COMPILER();
+
+
View
2  awesome.php
@@ -0,0 +1,2 @@
+<?php
+echo "Hi Phar people! :-)\n";
View
4 cli/cli.php
@@ -0,0 +1,4 @@
+<?php
+
+echo "This does CLI stuff\n";
+var_dump($_SERVER);
View
19 cli/create.php
@@ -0,0 +1,19 @@
+<?php
+if (!Phar::canWrite()) {
+ die("Phar is in read-only mode, try php -d phar.readonly=0 cli/create.php\n");
+}
+
+@unlink('project.phar');
+$p = new Phar('project.phar', 0, 'project.phar');
+$p->buildFromDirectory(__DIR__);
+
+$stub = <<<'EOD'
+#!/usr/bin/env php
+<?php
+Phar::interceptFileFuncs();
+include "phar://" . __FILE__ . "/cli.php";
+__HALT_COMPILER();
+EOD;
+$p->setStub($stub);
+
+chmod('project.phar', 0744);
View
4 combo/cli.php
@@ -0,0 +1,4 @@
+<?php
+
+echo "This does CLI stuff even if it has a Web option as well!\n";
+var_dump($_SERVER);
View
23 combo/create.php
@@ -0,0 +1,23 @@
+<?php
+if (!Phar::canWrite()) {
+ die("Phar is in read-only mode, try php -d phar.readonly=0 combo/create.php\n");
+}
+
+$p = new Phar('project.phar', 0, 'project.phar');
+$p->buildFromDirectory(__DIR__);
+
+$stub = <<<'EOD'
+<?php
+Phar::interceptFileFuncs();
+Phar::mungServer(array('REQUEST_URI', 'PHP_SELF', 'SCRIPT_NAME'));
+Phar::WebPhar(null, 'web.php');
+include "phar://" . __FILE__ . DIRECTORY_SEPARATOR . "cli.php";
+__HALT_COMPILER();
+EOD;
+$p->setStub($stub);
+
+ Phar::interceptFileFuncs();
+ Phar::mungServer(array('REQUEST_URI', 'PHP_SELF', 'SCRIPT_NAME'));
+ Phar::WebPhar(null, 'web.php');
+ include "phar://" . __FILE__ . DIRECTORY_SEPARATOR . "cli.php";
+ __HALT_COMPILER();
View
4 combo/web.php
@@ -0,0 +1,4 @@
+This does <blink><strong>Web</strong></blink> stuff even if it has a CLI option as well!
+<pre>
+<?php
+var_dump($_SERVER);
View
9 example2/create.php
@@ -0,0 +1,9 @@
+<?php
+if (!Phar::canWrite()) {
+ die("Phar is in read-only mode, try php -d phar.readonly=0 example2/create.php\n");
+}
+
+@unlink('project.phar');
+$p = new Phar('example2/project.phar');
+$p['awesome.php'] = '<?php
+echo "Hi Phar people! :-) Example 2\n";';
View
8 example3/create.php
@@ -0,0 +1,8 @@
+<?php
+if (!Phar::canWrite()) {
+ die("Phar is in read-only mode, try php -d phar.readonly=0 example3/create.php\n");
+}
+
+@unlink('project.phar');
+$p = new Phar('example3/project.phar', 0, 'project.phar');
+$p->buildFromDirectory(__DIR__);
View
474 example3/js/zepto.js
@@ -0,0 +1,474 @@
+// Zepto.js
+// (c) 2010-2012 Thomas Fuchs
+// Zepto.js may be freely distributed under the MIT license.
+
+var Zepto = (function() {
+ var undefined, key, $$, classList, emptyArray = [], slice = emptyArray.slice,
+ document = window.document,
+ elementDisplay = {}, classCache = {},
+ getComputedStyle = document.defaultView.getComputedStyle,
+ cssNumber = { 'column-count': 1, 'columns': 1, 'font-weight': 1, 'line-height': 1,'opacity': 1, 'z-index': 1, 'zoom': 1 },
+ fragmentRE = /^\s*<(\w+)[^>]*>/,
+ elementTypes = [1, 9, 11],
+ adjacencyOperators = [ 'after', 'prepend', 'before', 'append' ],
+ table = document.createElement('table'),
+ tableRow = document.createElement('tr'),
+ containers = {
+ 'tr': document.createElement('tbody'),
+ 'tbody': table, 'thead': table, 'tfoot': table,
+ 'td': tableRow, 'th': tableRow,
+ '*': document.createElement('div')
+ },
+ readyRE = /complete|loaded|interactive/,
+ classSelectorRE = /^\.([\w-]+)$/,
+ idSelectorRE = /^#([\w-]+)$/,
+ tagSelectorRE = /^[\w-]+$/;
+
+ function isF(value) { return ({}).toString.call(value) == "[object Function]" }
+ function isO(value) { return value instanceof Object }
+ function isA(value) { return value instanceof Array }
+ function likeArray(obj) { return typeof obj.length == 'number' }
+
+ function compact(array) { return array.filter(function(item){ return item !== undefined && item !== null }) }
+ function flatten(array) { return array.length > 0 ? [].concat.apply([], array) : array }
+ function camelize(str) { return str.replace(/-+(.)?/g, function(match, chr){ return chr ? chr.toUpperCase() : '' }) }
+ function dasherize(str){
+ return str.replace(/::/g, '/')
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
+ .replace(/([a-z\d])([A-Z])/g, '$1_$2')
+ .replace(/_/g, '-')
+ .toLowerCase();
+ }
+ function uniq(array) { return array.filter(function(item,index,array){ return array.indexOf(item) == index }) }
+
+ function classRE(name){
+ return name in classCache ?
+ classCache[name] : (classCache[name] = new RegExp('(^|\\s)' + name + '(\\s|$)'));
+ }
+
+ function maybeAddPx(name, value) { return (typeof value == "number" && !cssNumber[dasherize(name)]) ? value + "px" : value; }
+
+ function defaultDisplay(nodeName) {
+ var element, display;
+ if (!elementDisplay[nodeName]) {
+ element = document.createElement(nodeName);
+ document.body.appendChild(element);
+ display = getComputedStyle(element, '').getPropertyValue("display");
+ element.parentNode.removeChild(element);
+ display == "none" && (display = "block");
+ elementDisplay[nodeName] = display;
+ }
+ return elementDisplay[nodeName];
+ }
+
+ function fragment(html, name) {
+ if (name === undefined) name = fragmentRE.test(html) && RegExp.$1;
+ if (!(name in containers)) name = '*';
+ var container = containers[name];
+ container.innerHTML = '' + html;
+ return slice.call(container.childNodes);
+ }
+
+ function Z(dom, selector){
+ dom = dom || emptyArray;
+ dom.__proto__ = Z.prototype;
+ dom.selector = selector || '';
+ return dom;
+ }
+
+ function $(selector, context){
+ if (!selector) return Z();
+ if (context !== undefined) return $(context).find(selector);
+ else if (isF(selector)) return $(document).ready(selector);
+ else if (selector instanceof Z) return selector;
+ else {
+ var dom;
+ if (isA(selector)) dom = compact(selector);
+ else if (elementTypes.indexOf(selector.nodeType) >= 0 || selector === window)
+ dom = [selector], selector = null;
+ else if (fragmentRE.test(selector))
+ dom = fragment(selector.trim(), RegExp.$1), selector = null;
+ else if (selector.nodeType && selector.nodeType == 3) dom = [selector];
+ else dom = $$(document, selector);
+ return Z(dom, selector);
+ }
+ }
+
+ $.extend = function(target){
+ slice.call(arguments, 1).forEach(function(source) {
+ for (key in source) target[key] = source[key];
+ })
+ return target;
+ }
+
+ $.qsa = $$ = function(element, selector){
+ var found;
+ return (element === document && idSelectorRE.test(selector)) ?
+ ( (found = element.getElementById(RegExp.$1)) ? [found] : emptyArray ) :
+ slice.call(
+ classSelectorRE.test(selector) ? element.getElementsByClassName(RegExp.$1) :
+ tagSelectorRE.test(selector) ? element.getElementsByTagName(selector) :
+ element.querySelectorAll(selector)
+ );
+ }
+
+ function filtered(nodes, selector){
+ return selector === undefined ? $(nodes) : $(nodes).filter(selector);
+ }
+
+ function funcArg(context, arg, idx, payload){
+ return isF(arg) ? arg.call(context, idx, payload) : arg;
+ }
+
+ $.isFunction = isF;
+ $.isObject = isO;
+ $.isArray = isA;
+
+ $.inArray = function(elem, array, i) {
+ return emptyArray.indexOf.call(array, elem, i);
+ }
+
+ $.map = function(elements, callback) {
+ var value, values = [], i, key;
+ if (likeArray(elements))
+ for (i = 0; i < elements.length; i++) {
+ value = callback(elements[i], i);
+ if (value != null) values.push(value);
+ }
+ else
+ for (key in elements) {
+ value = callback(elements[key], key);
+ if (value != null) values.push(value);
+ }
+ return flatten(values);
+ }
+
+ $.each = function(elements, callback) {
+ var i, key;
+ if (likeArray(elements))
+ for(i = 0; i < elements.length; i++) {
+ if(callback.call(elements[i], i, elements[i]) === false) return elements;
+ }
+ else
+ for(key in elements) {
+ if(callback.call(elements[key], key, elements[key]) === false) return elements;
+ }
+ return elements;
+ }
+
+ $.fn = {
+ forEach: emptyArray.forEach,
+ reduce: emptyArray.reduce,
+ push: emptyArray.push,
+ indexOf: emptyArray.indexOf,
+ concat: emptyArray.concat,
+ map: function(fn){
+ return $.map(this, function(el, i){ return fn.call(el, i, el) });
+ },
+ slice: function(){
+ return $(slice.apply(this, arguments));
+ },
+ ready: function(callback){
+ if (readyRE.test(document.readyState)) callback($);
+ else document.addEventListener('DOMContentLoaded', function(){ callback($) }, false);
+ return this;
+ },
+ get: function(idx){ return idx === undefined ? this : this[idx] },
+ size: function(){ return this.length },
+ remove: function () {
+ return this.each(function () {
+ if (this.parentNode != null) {
+ this.parentNode.removeChild(this);
+ }
+ });
+ },
+ each: function(callback){
+ this.forEach(function(el, idx){ callback.call(el, idx, el) });
+ return this;
+ },
+ filter: function(selector){
+ return $([].filter.call(this, function(element){
+ return element.parentNode && $$(element.parentNode, selector).indexOf(element) >= 0;
+ }));
+ },
+ end: function(){
+ return this.prevObject || $();
+ },
+ andSelf:function(){
+ return this.add(this.prevObject || $())
+ },
+ add:function(selector,context){
+ return $(uniq(this.concat($(selector,context))));
+ },
+ is: function(selector){
+ return this.length > 0 && $(this[0]).filter(selector).length > 0;
+ },
+ not: function(selector){
+ var nodes=[];
+ if (isF(selector) && selector.call !== undefined)
+ this.each(function(idx){
+ if (!selector.call(this,idx)) nodes.push(this);
+ });
+ else {
+ var excludes = typeof selector == 'string' ? this.filter(selector) :
+ (likeArray(selector) && isF(selector.item)) ? slice.call(selector) : $(selector);
+ this.forEach(function(el){
+ if (excludes.indexOf(el) < 0) nodes.push(el);
+ });
+ }
+ return $(nodes);
+ },
+ eq: function(idx){
+ return idx === -1 ? this.slice(idx) : this.slice(idx, + idx + 1);
+ },
+ first: function(){ var el = this[0]; return el && !isO(el) ? el : $(el) },
+ last: function(){ var el = this[this.length - 1]; return el && !isO(el) ? el : $(el) },
+ find: function(selector){
+ var result;
+ if (this.length == 1) result = $$(this[0], selector);
+ else result = this.map(function(){ return $$(this, selector) });
+ return $(result);
+ },
+ closest: function(selector, context){
+ var node = this[0], candidates = $$(context || document, selector);
+ if (!candidates.length) node = null;
+ while (node && candidates.indexOf(node) < 0)
+ node = node !== context && node !== document && node.parentNode;
+ return $(node);
+ },
+ parents: function(selector){
+ var ancestors = [], nodes = this;
+ while (nodes.length > 0)
+ nodes = $.map(nodes, function(node){
+ if ((node = node.parentNode) && node !== document && ancestors.indexOf(node) < 0) {
+ ancestors.push(node);
+ return node;
+ }
+ });
+ return filtered(ancestors, selector);
+ },
+ parent: function(selector){
+ return filtered(uniq(this.pluck('parentNode')), selector);
+ },
+ children: function(selector){
+ return filtered(this.map(function(){ return slice.call(this.children) }), selector);
+ },
+ siblings: function(selector){
+ return filtered(this.map(function(i, el){
+ return slice.call(el.parentNode.children).filter(function(child){ return child!==el });
+ }), selector);
+ },
+ empty: function(){ return this.each(function(){ this.innerHTML = '' }) },
+ pluck: function(property){ return this.map(function(){ return this[property] }) },
+ show: function(){
+ return this.each(function() {
+ this.style.display == "none" && (this.style.display = null);
+ if (getComputedStyle(this, '').getPropertyValue("display") == "none") {
+ this.style.display = defaultDisplay(this.nodeName)
+ }
+ })
+ },
+ replaceWith: function(newContent) {
+ return this.each(function() {
+ $(this).before(newContent).remove();
+ });
+ },
+ wrap: function(newContent) {
+ return this.each(function() {
+ $(this).wrapAll($(newContent)[0].cloneNode(false));
+ });
+ },
+ wrapAll: function(newContent) {
+ if (this[0]) {
+ $(this[0]).before(newContent = $(newContent));
+ newContent.append(this);
+ }
+ return this;
+ },
+ unwrap: function(){
+ this.parent().each(function(){
+ $(this).replaceWith($(this).children());
+ });
+ return this;
+ },
+ hide: function(){
+ return this.css("display", "none")
+ },
+ toggle: function(setting){
+ return (setting === undefined ? this.css("display") == "none" : setting) ? this.show() : this.hide();
+ },
+ prev: function(){ return $(this.pluck('previousElementSibling')) },
+ next: function(){ return $(this.pluck('nextElementSibling')) },
+ html: function(html){
+ return html === undefined ?
+ (this.length > 0 ? this[0].innerHTML : null) :
+ this.each(function (idx) {
+ var originHtml = this.innerHTML;
+ $(this).empty().append( funcArg(this, html, idx, originHtml) );
+ });
+ },
+ text: function(text){
+ return text === undefined ?
+ (this.length > 0 ? this[0].textContent : null) :
+ this.each(function(){ this.textContent = text });
+ },
+ attr: function(name, value){
+ var res;
+ return (typeof name == 'string' && value === undefined) ?
+ (this.length == 0 ? undefined :
+ (name == 'value' && this[0].nodeName == 'INPUT') ? this.val() :
+ (!(res = this[0].getAttribute(name)) && name in this[0]) ? this[0][name] : res
+ ) :
+ this.each(function(idx){
+ if (isO(name)) for (key in name) this.setAttribute(key, name[key])
+ else this.setAttribute(name, funcArg(this, value, idx, this.getAttribute(name)));
+ });
+ },
+ removeAttr: function(name) {
+ return this.each(function() { this.removeAttribute(name); });
+ },
+ data: function(name, value){
+ return this.attr('data-' + name, value);
+ },
+ val: function(value){
+ return (value === undefined) ?
+ (this.length > 0 ? this[0].value : null) :
+ this.each(function(idx){
+ this.value = funcArg(this, value, idx, this.value);
+ });
+ },
+ offset: function(){
+ if(this.length==0) return null;
+ var obj = this[0].getBoundingClientRect();
+ return {
+ left: obj.left + window.pageXOffset,
+ top: obj.top + window.pageYOffset,
+ width: obj.width,
+ height: obj.height
+ };
+ },
+ css: function(property, value){
+ if (value === undefined && typeof property == 'string') {
+ return(
+ this.length == 0
+ ? undefined
+ : this[0].style[camelize(property)] || getComputedStyle(this[0], '').getPropertyValue(property)
+ );
+ }
+ var css = '';
+ for (key in property) css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';';
+ if (typeof property == 'string') css = dasherize(property) + ":" + maybeAddPx(property, value);
+ return this.each(function() { this.style.cssText += ';' + css });
+ },
+ index: function(element){
+ return element ? this.indexOf($(element)[0]) : this.parent().children().indexOf(this[0]);
+ },
+ hasClass: function(name){
+ if (this.length < 1) return false;
+ else return classRE(name).test(this[0].className);
+ },
+ addClass: function(name){
+ return this.each(function(idx) {
+ classList = [];
+ var cls = this.className, newName = funcArg(this, name, idx, cls);
+ newName.split(/\s+/g).forEach(function(klass) {
+ if (!$(this).hasClass(klass)) {
+ classList.push(klass)
+ }
+ }, this);
+ classList.length && (this.className += (cls ? " " : "") + classList.join(" "))
+ });
+ },
+ removeClass: function(name){
+ return this.each(function(idx) {
+ if(name === undefined)
+ return this.className = '';
+ classList = this.className;
+ funcArg(this, name, idx, classList).split(/\s+/g).forEach(function(klass) {
+ classList = classList.replace(classRE(klass), " ")
+ });
+ this.className = classList.trim()
+ });
+ },
+ toggleClass: function(name, when){
+ return this.each(function(idx){
+ var newName = funcArg(this, name, idx, this.className);
+ (when === undefined ? !$(this).hasClass(newName) : when) ?
+ $(this).addClass(newName) : $(this).removeClass(newName);
+ });
+ }
+ };
+
+ 'filter,add,not,eq,first,last,find,closest,parents,parent,children,siblings'.split(',').forEach(function(property){
+ var fn = $.fn[property];
+ $.fn[property] = function() {
+ var ret = fn.apply(this, arguments);
+ ret.prevObject = this;
+ return ret;
+ }
+ });
+
+ ['width', 'height'].forEach(function(dimension){
+ $.fn[dimension] = function(value) {
+ var offset, Dimension = dimension.replace(/./, function(m) { return m[0].toUpperCase() });
+ if (value === undefined) return this[0] == window ? window['inner' + Dimension] :
+ this[0] == document ? document.documentElement['offset' + Dimension] :
+ (offset = this.offset()) && offset[dimension];
+ else return this.each(function(idx){
+ var el = $(this);
+ el.css(dimension, funcArg(this, value, idx, el[dimension]()));
+ });
+ }
+ });
+
+ function insert(operator, target, node) {
+ var parent = (operator % 2) ? target : target.parentNode;
+ parent && parent.insertBefore(node,
+ !operator ? target.nextSibling : // after
+ operator == 1 ? parent.firstChild : // prepend
+ operator == 2 ? target : // before
+ null); // append
+ }
+
+ function traverseNode (node, fun) {
+ fun(node);
+ for (var key in node.childNodes) {
+ traverseNode(node.childNodes[key], fun);
+ }
+ }
+
+ adjacencyOperators.forEach(function(key, operator) {
+ $.fn[key] = function(html){
+ var nodes = isO(html) ? html : fragment(html);
+ if (!('length' in nodes) || nodes.nodeType) nodes = [nodes];
+ if (nodes.length < 1) return this;
+ var size = this.length, copyByClone = size > 1, inReverse = operator < 2;
+
+ return this.each(function(index, target){
+ for (var i = 0; i < nodes.length; i++) {
+ var node = nodes[inReverse ? nodes.length-i-1 : i];
+ traverseNode(node, function (node) {
+ if (node.nodeName != null && node.nodeName.toUpperCase() === 'SCRIPT' && (!node.type || node.type === 'text/javascript')) {
+ window['eval'].call(window, node.innerHTML);
+ }
+ });
+ if (copyByClone && index < size - 1) node = node.cloneNode(true);
+ insert(operator, target, node);
+ }
+ });
+ };
+
+ var reverseKey = (operator % 2) ? key+'To' : 'insert'+(operator ? 'Before' : 'After');
+ $.fn[reverseKey] = function(html) {
+ $(html)[key](this);
+ return this;
+ };
+ });
+
+ Z.prototype = $.fn;
+
+ return $;
+})();
+
+window.Zepto = Zepto;
+'$' in window || (window.$ = Zepto);
View
2  example_1.php
@@ -0,0 +1,2 @@
+<?php
+include 'awesome.php';
View
2  example_2.php
@@ -0,0 +1,2 @@
+<?php
+include 'phar://example2/project.phar/awesome.php';
View
3  example_3.php
@@ -0,0 +1,3 @@
+<?php
+header('Content-type: text/javascript');
+echo file_get_contents('phar://example3/project.phar/js/zepto.js');
View
BIN  phpmyadmin/.DS_Store
Binary file not shown
View
8 phpmyadmin/phpMyAdmin-3.4.9-english/CREDITS
@@ -0,0 +1,8 @@
+phpMyAdmin - Credits
+====================
+
+ Please have a look to the Documentation.txt or
+ Documentation.html files, or visit
+ http://www.phpmyadmin.net/home_page/team.php and
+ http://www.phpmyadmin.net/home_page/about.php
+
View
565 phpmyadmin/phpMyAdmin-3.4.9-english/ChangeLog
@@ -0,0 +1,565 @@
+phpMyAdmin - ChangeLog
+======================
+
+3.4.9.0 (2011-12-21)
+- bug #3442028 [edit] Inline editing enum fields with null shows no dropdown
+- bug #3442004 [interface] DB suggestion not correct for user with underscore
+- bug #3438420 [core] Magic quotes removed in PHP 5.4
+- bug #3398788 [session] No feedback when result is empty (signon auth_type)
+- bug #3384035 [display] Problems regarding ShowTooltipAliasTB
+- bug #3306875 [edit] Can't rename a database that contains views
+- bug #3452506 [edit] Unable to move tables with triggers
+- bug #3449659 [navi] Fast filter broken with table tree
+- bug #3448485 [GUI] Firefox favicon frameset regression
+- [core] Better compatibility with mysql extension
+- [security] Self-XSS on export options (export server/database/table), see PMASA-2011-20
+- [security] Self-XSS in setup (host parameter), see PMASA-2011-19
+
+3.4.8.0 (2011-12-01)
+- bug #3425230 [interface] enum data split at space char (more space to edit)
+- bug #3426840 [interface] ENUM/SET editor can't handle commas in values
+- bug #3427256 [interface] no links to browse/empty views and tables
+- bug #3430377 [interface] Deleted search results remain visible
+- bug #3428627 [import] ODS import ignores memory limits
+- bug #3426836 [interface] Visual column separation
+- bug #3428065 [parser] TRUE not recognized by parser
++ patch #3433770 [config] Make location of php-gettext configurable
+- patch #3430291 [import] Handle conflicts in some open_basedir situations
+- bug #3431427 [display] Dropdown results - setting NULL does not work
+- patch #3428764 [edit] Inline edit on multi-server configuration
+- patch #3437354 [core] Notice: Array to string conversion in PHP 5.4
+- [interface] When ShowTooltipAliasTB is true, VIEW is wrongly shown as the
+ view name in main panel db Structure page
+- bug #3439292 [core] Fail to synchronize column with name of keyword
+- bug #3425156 [interface] Add column after drop
+- [interface] Avoid showing the password in phpinfo()'s output
+- bug #3441572 [GUI] 'newer version of phpMyAdmin' message not shown in IE8
+- bug #3407235 [interface] Entering the key through a lookup window does not reset NULL
+- [security] Self-XSS on database names (Synchronize), see PMASA-2011-18
+- [security] Self-XSS on database names (Operations/rename), see PMASA-2011-18
+- [security] Self-XSS on column type (Create index), see PMASA-2011-18
+- [security] Self-XSS on column type (table Search), see PMASA-2011-18
+- [security] Self-XSS on invalid query (table overview), see PMASA-2011-18
+
+3.4.7.1 (2011-11-10)
+- [security] Fixed possible local file inclusion in XML import
+(CVE-2011-4107).
+
+3.4.7.0 (2011-10-23)
+- bug #3418610 [interface] Links in navigation when $cfg['MainPageIconic'] = false
+- bug #3418849 [interface] Inline edit shows dropdowns even after closing
+- bug [view] View renaming did not work
+- bug [navi] Wrong icon for view (MySQL 5.5)
+- bug #3420229 [doc] Missing documentation section
+- bug #3423725 [pdf] Broken PDF file when exporting database to PDF
+- [core] Allow to set language in URL
+- bug #3425184 [doc] Fix links to PHP documentation
+- bug #3426031 [export] Export to bzip2 is not working
+
+3.4.6.0 (2011-10-16)
+- patch #3404173 InnoDB comment display with tooltips/aliases
+- bug #3404886 [navi] Edit SQL statement after error
+- bug #3403165 [interface] Collation not displayed for long enum fields
+- bug #3399951 [export] Config for export compression not used
+- bug #3400690 [privileges] DB-specific privileges won't submit
+- bug #3410604 [config] Configuration storage incorrect suggested table name
+- bug #3383572 [interface] Cannot execute saved query
+- bug #3411535 [display] Full text button unchecks results display options
+- bug #3411224 [display] Broken binary column when 'Show binary contents' is not set
+- bug #3411633 [core] Call to undefined function PMA_isSuperuser()
+- bug #3413743 [interface] Display options link missing after search
+- bug #3324161 [core] CSP policy causing designer JS buttons to fail
+- bug #3412862 [relation] Relations/constraints are dropped/created on every change
+- bug #3390832 [display] Delete records from last page breaks search
+- bug #3392150 [schema] PMA_User_Schema::processUserChoice() is broken
+- bug #3414744 [core] External link fails in 3.4.5
+- patch #3314626 [display] CharTextareaRows is not respected
+- bug #3417089 [synchronize] Extraneous db choices
+- [security] Fixed local path disclosure vulnerability, see PMASA-2011-15
+- [security] Fixed XSS in setup (host/verbose parameter), see PMASA-2011-16
+
+3.4.5.0 (2011-09-14)
+- bug #3375325 [interface] Page list in navigation frame looks odd
+- bug #3313235 [interface] Error div misplaced
+- bug #3374802 [interface] Comment on a column breaks inline editing
+- patch #3383711 [display] Order by a column in a view doesn't work in some cases
+- bug #3386434 [interface] Add missing space to server status
+- [core] Remove library PHPExcel, due to license issues
+- [export] Remove native Excel export modules (xls and xlsx formats)
+- [import] Remove native Excel import modules (xls and xlsx formats)
+- bug #3392920 [edit] BLOB emptied after editing another column
+- [security] Fixed XSS in Inline Edit on save action, see PMASA-2011-14
+- [security] Fixed XSS with db/table/column names, see PMASA-2011-14
+
+3.4.4.0 (2011-08-24)
+- bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes
+- bug #3323101 [parser] Invalid escape sequence in SQL parser
+- bug #3348995 [config] $cfg['Export']['asfile'] set to false does not select asText option
+- bug #3340151 [export] Working SQL query exports error page
+- bug #3353649 [interface] "Create an index on X columns" form not validated
+- bug #3350790 [interface] JS error in Table->Structure->Index->Edit
+- bug #3353811 [interface] Info message has "error" class
+- bug #3357837 [interface] TABbing through a NULL field in the inline mode resets NULL
+- remove version number in /setup
+- bug #3367993 [usability] Missing "Generate Password" button
+- bug #3363221 [display] Missing Server Parameter on inline sql query
+- bug #3367986 [navi] Drop field -> lost active table
+- remove misleading comment on the "Rename database" interface
+- bug #3374374 [interface] Fix footnote for inexact count while browsing
+- bug #3372807 [interface] Fix security warning link in setup
+- bug #3374347 [display] Backquotes in normal text on import page
+- bug #3358750 [core] With Suhosin, urls are too long in edit links
+- [security] Missing sanitization on the table, column and index names leads to XSS vulnerabilities, see PMASA-2011-13
+
+3.4.3.2 (2011-07-23)
+- [security] Fixed XSS vulnerability, see PMASA-2011-9
+- [security] Fixed local file inclusion vulnerability, see PMASA-2011-10
+- [security] Fixed local file inclusion vulnerability and code execution, see PMASA-2011-11
+- [security] Fixed possible session manipulation in swekey authentication, see PMASA-2011-12
+
+3.4.3.1 (2011-07-02)
+- [security] Fixed possible session manipulation in swekey authentication, see PMASA-2011-5
+- [security] Fixed possible code injection incase session variables are compromised, see PMASA-2011-6
+- [security] Fixed regexp quoting issue in Synchronize code, see PMASA-2011-7
+- [security] Fixed filtering of a file path, which allowed for directory traversal, see PMASA-2011-8
+
+3.4.3.0 (2011-06-27)
+- bug #3311170 [sync] Missing helper icons in Synchronize
+- patch #3304473 [setup] Redefine a lable that was wrong
+- bug #3304544 [parser] master is not a reserved word
+- bug #3307616 [edit] Inline edit updates multiple duplicate rows
+- patch #3311539 [edit] Inline edit does not escape backslashes
+- bug #3313210 [interface] Columns class sometimes changed for nothing
+- patch #3313326 [interface] Some tooltips do not disappear
+- bug #3315720 [search] Fix search in non unicode tables
+- bug #3315741 [display] Inline query edit broken
+- patch #3317206 [privileges] Generate password option missing on new accounts
+- bug #3317293 [edit] Inline edit places HTML line breaks in edit area
+- bug #3319466 [interface] Inline query edit does not escape special characters
+- minor XSS (require a valid token)
+
+3.4.2.0 (2011-06-07)
+- bug #3301249 [interface] Iconic table operations does not remove inline edit label
+- bug #3303869 [interface] Unnecessary scrolling on Databases page
+- patch #3303813 [setup] Define a label that was missing
+- bug #3305606 [interface] Show all button wraps on privileges page
+- bug #3305517 [config] Config for export compression not used
+- bug #3305883 [interface] Table is dropped regardless of confirmation
+- [auth] Fixed error handling for signon auth method.
+- bug #3276001 [core] Avoid caching of index.php.
+- bug #3306958 [interface] Unnecessary Details slider
+- bug #3308476 [interface] "Show all" not persistent after a sort
+- bug #3308072 [auth] Version disclosure to anonymous visitors
+- bug #3306981 [interface] pmahomme and table statistics
+
+3.4.1.0 (2011-05-20)
+- bug #3301108 [interface] Synchronize and already configured host
+- bug #3302457 Inline edit and $cfg['PropertiesIconic']
+- Patch #3302313 Show a translated label
+- bug #3300981 [navi] Table filter is case sensitive
+- bug #3285929 [privileges] Revert temporary fix
+- bug #3302872 [synchronize] Synchronize and user name
+- bug #3302733 [core] Some browsers report an insecure https connection
+- [security] Make redirector require valid token
+
+3.4.0.0 (2011-05-11)
++ rfe #2890226 [view] Enable VIEW rename
++ rfe #838637 [privileges] Export a user's privileges
+- [core] Updated mootools to fix some glitches with Safari.
++ rfe #2816943 [interface] Add REGEXP ^...$ to select dialog.
++ rfe #2924956 [interface] Add insert ignore option to editing row.
++ rfe #2838080 [interface] Show warning when javascript is disabled.
++ rfe #2823707 [edit] Call UUID function separately to show it in insert.
++ rfe #2420684 [export] Allow export of timestamps in UTC.
++ [core] Remove config data from session as it brings chicken-egg problem.
++ [core] Cookie path now honors PmaAbsoluteUri.
++ rfe #2393597 [core] phpMyAdmin honors https in PmaAbsoluteUri.
++ rfe #1778337 [core] Try moving tables by RENAME and fail to CREATE/INSERT if that fails.
++ rfe #1721189 [core] Force reload js on code change.
++ rfe #1954161 [interface] Do not display long numbers in server status.
++ rfe #2033616 [edit] Add option to just display insert query.
++ rfe #1435032 [interface] Move SSL status to the end, it is usually empty.
++ rfe #1340812 [interface] Show numbers of columns in table structure.
++ rfe #1186511 [inrerface] Add link to reload navigation frame.
++ rfe #2936156 [auth] Signon authentication forwards error message through session data.
++ rfe #2835109 [interface] Move ^1 to the end of message.
++ rfe #854911 [interface] Grey out non applicable actions in structure
++ [interface] Allow to create new table from navigation frame (in light mode).
++ rfe #1025696 [browse] Add direct download of binary fields.
+- [browse] Properly display NULL value for BLOB.
+- rfe #1516803 [edit] Allow to set BLOB to/from NULL with ProtectBinary.
+- [edit] Do not default to UNHEX when using file upload.
+- rfe #1379201 [core] Add option to configure session_save_path.
++ [interface] Provide links to documentation in highlighted SQL.
++ [interface] It is now possible to bookmark most pages in JS capable browser.
+- bug #2936482 [core] Fix SSL detection.
++ rfe #2937850 [doc] Add some hints to chk_rel.php for quick setup.
++ rfe #2938579 [interface] Add class to some elements for easier theming.
++ rfe #2937840 [doc] Add some interesting configs to config.sample.inc.php.
++ rfe #2792992 [doc] Added advice to re-login after changing pmadb settings
++ patch #2952353 [interface] Prefill "Copy table to" in tbl_operations.php, thanks to iinl
++ [lang] Add English (United Kingdom) translation, thanks to Robert Readman.
++ patch #2948421 [auth] HTTP Basic auth realm name,
+ thanks to Harald Jenny - haraldj
+- bug #2954916 [interface] Do not insert doc links to not formatted SQL.
++ [lang] Chinese Simplified update, thanks to Shanyan Baishui - rimyxp
++ [lang] Turkish update, thanks to Burak Yavuz
++ rfe #2963310 [interface] Focus TEXTAREA "sql_query" on click on "SQL" link
++ [lang] Uzbek update, thanks to Orzu Samarqandiy
++ rfe #2958013 [import] After import, also list uploaded filename, thanks
+ to Pavel Konnikov and Herman van Rink
++ patch #2974341 [structure] Clicking on table name in db Structure should
+ Browse the table if possible, thanks to bhdouglass - dougboybhd
++ patch #2975533 [search] New search operators, thanks to
+ Martynas Mickevičius
++ patch #2967320 [designer] Colored relations based on the primary key,
+ thanks to GreenRover - greenrover
+- [core] Provide way for vendors to easily change paths to config files.
++ patch #2979922, rfe #2804874 [interface] Add inline query editing, thanks to Muhammd Adnan.
+- bug #2966752 [setup] Allow to configure changes tracking in setup script.
++ patch #2981165 [edit] Optionally disable the Type column,
+ thanks to Brian Douglass - bhdouglass
++ patch #2984058 [edit] Buttons for quicky creating common SQL queries, thanks
+ to sutharshan.
++ patch #2984337 [interface] Convert loading of export/import to jQuery ready
+ event, thanks to sutharshan.
+- [edit] CURRENT_TIMESTAMP is also valid for datetime fields.
+- patch #2985068 [engines] Fix parsing of PBXT status, thanks to Madhura Jayaratne.
+- patch #2986073 [interface] Convert upload progress bar to jQuery, thanks to
+ Philip Frank.
+- patch #2983960 [interface] Add javascript validation of datetime input,
+ thanks to Sutharshan Balachandren.
+- rfe #2981999 [interface] Default sort order is now SMART.
+- rfe #2972969 [interface] Fix flipping of headers in non-IE browsers.
++ rfe #2964518 [interface] Allow to choose servers from configuration for
+ synchronisation.
++ rfe #2988633 [relation] Improve ON DELETE/ON UPDATE drop-downs
++ rfe #2988629 [relation] Improve labels in relation view
++ rfe #2983207, patch #2988715 [interface] Use jQuery calendar dialog, thanks
+ to Muhammad Adnan.
++ [doc] Incorporate synchronisation docs into main document.
++ [core] Include Content Security Policy HTTP headers.
+- bug #3004216 [CSS] Field attributes use inline CSS
+- patch #2999595, rfe #2998130 [interface] Cleanup navigation frame.
+- patch #3025161 [core] Prevent sending of unnecessary cookies,
+ thanks to Piotr Przybylski - crackpl
+- bug [password] Generate password only available if JS is enabled
+ (fixed for Privileges and Change password)
+- [core] RecodingEngine now accepts none as valid option.
++ [core] Dropped AllowAnywhereRecoding configuration variable.
+- rfe #3016457 [interface] Define tab order in SQL form to allow easier tab
+ navigation.
++ [core] Centralized format string expansion, @VARIABLES@ are recommended way
+ now, used by file name templates, default queries, export and title
+ generating.
++ [validator] SQL validator works also with SOAP PHP extension.
+- [interface] Better formatting for SQL validator results.
+- [doc] The linked-tables infrastructure is now called phpMyAdmin
+ configuration storage.
+- [interface] Move drop/empty links from being tabs to Operations tab.
+- [interface] Fixed rendering of error/notice/info titles background.
+- patch #3038293 [doc] Language and grammar fixes,
+ thanks to Isaac Bennetch - ibennetch
+- patch #3038312 [export] JSON export,
+ thanks to Hauke Henningsen - blubberkeks152
+- rfe #1494550 [interface] Editor for SET/ENUM fields.
+- rfe #2649375 [interface] Simplified interface to backup/restore.
+- rfe #2973909 Users preferences
+- [relations] Dropped WYSIWYG-PDF configuration variable.
+- rfe #806035, #686260 [relations] Export relations to Dia, SVG and others
++ [interface] Added charts to status tab, profiling page and query results
++ [interface] AJAXification on various pages
+- [core] Remove last remaining parts of profiling code which was removed in 2006.
+- bug #3042665 [parser] Add workaround for MySQL way of handling backtick.
+- bug #3056610 [interface] Removed modification options for information_schema
++ patch #3055886 [config] Add Left frame table filter visibility config option, thanks to eesau
+- [core] Force generating of new session on login
++ rfe #1105678 [interface] Drop page-break-before as it is useless for smaller
+ tables.
++ rfe #2956556 [interface] Allow to wrap enum values.
+- bug #1669459 [interface] Do not automatically mark PDF schema rows to delete
+- bug #3087682 [interface] Do not apply LeftFrameDBSeparator on first character.
++ rfe #3111455 [interface] Column highlighting and marking in table view
++ Visual query builder
+- bug #3115519 [interface] Prevent long queries from being shown in confirmation popup
+- patch #3112792 [navi] Left panel table grouping incorrect,
+ thanks to garas - garas
+- bug #3123433 [interface] Avoid double escaping of MySQL errors.
+- [interface] Use less noisy message and remove disable link on server charts and database statistics.
++ rfe #3141330 [relation] When displaying results, show a link to the foreign
+ table even when phpMyAdmin configuration storage is not active
+- bug #3141327 [relation] Foreign key input options
+- [export] Better handling of export to PHP array.
+- rfe #3158867 [privileges] No DROP DATABASE warning if you delete a user
+- [interface] Add link to documentation for status variables.
+- [security] Redirect external links to avoid Referer leakage.
+- [interface] Default to not count tables in database.
+- patch #3172172 [interface] Shortcut for copying table row.
+- bug #3175227 [auth] Reset user cache on login.
+- rfe #3148361 [interface] Replace hard coded limit with $cfg['LimitChars'].
+- bug #3177136 [interface] Indicate that bookmark is being used on browse.
+- [interface] Indicate shared bookmarks in interface.
+- patch #3176420 [Search] Ajaxify browse and delete criteria in DB Search,
+ thanks to Thilanka Kaushalya
+- [interface] New default theme pmahomme, dropped darkblue_orange theme.
+- rfe #2936155 [auth] Allow to pass additional parameters using signon method.
+- rfe #1640812 [auth] Add example for OpenID authentication using signon method.
+- rfe #1312657 [dbi] Default to mysqli extension.
+- rfe #1168350 [interface] Add clear button to SQL edit box.
+- [core] Update library PHPExcel to version 1.7.6
+- bug #3206876 [core] Work without mbstring installed.
+- rfe #3196075, patch #3212068 [interface] Add links to variables documentation.
+- bug #3208723 [import] Fix import of utf-8 XML files.
+- bug #3039384 [auth] Force signon auth on signon URL change.
+- bug #3168733 [core] Synchronization does not honor AllowArbitraryServer
+- bug #3134495 [synchronization] Data containing single quotes prevents sync,
+ thanks to jviewer
+- Remove the custom color picker feature
+- bug #3285929 [privileges] Don't fail silently on missing priviledge to execute REVOKE ALL PRIVILEGES
+
+3.3.11.0 (not yet released)
+
+3.3.10.1 (2011-05-20)
+- [security] XSS on Tracking page
+
+3.3.10.0 (2011-03-19)
+- patch #3147400 [structure] Aria table size printed as unknown,
+ thanks to erickoh75 - erickoh75
+- patch #3150164 [structure] Ordering by size gives incorrect results,
+ thanks to Madhura Jayaratne - madhuracj
+- bug #3153409 [core] 0 row(s) affected
+- bug #3155842 [core] Edit relational page and page number
+- [security] Minor security fixes, see PMASA-2010-9 and PMASA-2010-10
+- [lang] German update, thanks to to jannicars@users.sourceforge.net.
+
+3.3.9.2 (2011-02-11)
+- [security] SQL injection, see PMASA-2011-2
+
+3.3.9.1 (2011-02-08)
+- [security] Path disclosure, see PMASA-2011-1
+
+3.3.9.0 (2011-01-03)
+- bug [doc] Fix references to MySQL doc
+- patch #3101490 Default function for TIMESTAMP, thanks to jirand - jirand
+- bug #3103853 [js] Double quotes were not escaped in generated js
+- bug #3077463 [core] Events were not copied when copying/renaming database
+- bug #1762306 [core] Copy database with view of a view
+- patch #3117535 [replication] Add quotes to database in initial statement,
+ thanks to Craig Duncan - duncan3dc
+- bug #3112614 [pdf schema] Scratchboard for PDF pages not working
+- bug #3125606 [parser] Query for table "level" causes strange display
+- bug #3127904 [parser] Close all opened round brackets indents
+
+3.3.8.1 (2010-11-29)
+- bug #3115519 (private) [security] XSS on db search, see PMASA-2010-8
+
+3.3.8.0 (2010-10-25)
+- bug #3059311 [import] BIGINT field type added to table analysis
+- [core] Update library PHPExcel to version 1.7.4
+- bug #3062455 [core] copy procedures and routines before tables
+- bug #3062455 [export] with SQL, export procedures and routines before tables
+- bug #3056023 [import] USE query not working
+- bug #3038193 [display] Error when editing row with GEOMETRY column
+- bug #3062454 [interface] Display routines/events also when no tables are defined
+- support ARIA storage engine as well as its previous name MARIA
+
+3.3.7.0 (2010-09-07)
+- patch #3050492 [PDF scratchboard] Cannot drag table box to the edge after
+ a page size increase, thanks to Martin Schönberger - mad05
+
+3.3.6.0 (2010-08-28)
+- bug #3033063 [core] Navi gets wrong db name
+- bug #3031705 [core] Fix generating condition for real numbers by comparing
+ them to string.
+- bug #3034026 [confirmation] TRUNCATE queries get no confirmation request
+- bug #3036132 [core] Triggers not fetched if dbname has an hyphen
+- patch #3039269 [dbi] Wrong variable checked for nopassword option,
+ thanks to Will Palmer - wpalmer
+- bug #3040226 [XHTML] LockFromUpdate checkbox not checked by default
+- bug [doc] Withdraw or edit FAQ entries related to older MySQL or PHP
+- bug #3042706 [pmadb] Relations, bookmarks, etc deleted after table drop
+- bug #3044189 [doc] Cleared documentation for hide_db.
+- bug #3042495 [core] Move PMA_sendHeaderLocation to core.lib.php.
+
+3.3.5.1 (2010-08-20)
+- [core] Fixed various XSS issues, see PMASA-2010-5 for more details.
+
+3.3.5.0 (2010-07-26)
+- patch #2932113 [information_schema] Slow export when having lots of
+ databases, thanks to Stéphane Pontier - shadow_walker
+- bug #3022705 [import] Import button does not work in Catalan when there
+ is no progress bar possible
+- bug [replication] Do not offer information_schema in the list of databases
+- bug [js] Avoid loading twice a js file
+- bug #3024344 [setup] Setup forces numeric MemoryLimit
+- bug #3025975 [auth] Odd LoginCookieValidity default value
+- bug #3026400 [PHP] ereg functions are deprecated
+- bug #3027557 [PHP] split() deprecated in PHP 5.3 (backport fixes from master)
+- bug #3023507 [core] No result set display from stored procedure SELECT
+- bug [export] CSV for MS Excel (Windows) should have semi-colon as separator
+- [core] Update library PHPExcel to version 1.7.3c
+- bug #2994885, bug #3029168 [import] Convert Excel column name correctly
+- bug [scripts] MySQL 5.5.5 does not accept TIMESTAMP(14) in create_tables.sql
+
+3.3.4.0 (2010-06-28)
+- bug #2996161 [import] properly escape import value
+- bug #2998889 [import] Import button does not work in Catalan
+- [browse] Fix handling of sort order if only column is specified.
++ [lang] Greek update, thanks to Panagiotis Papazoglou - panos78
++ [lang] Updated lot of translation based on work done in master branch.
+- bug #3008411 [databases] Last dropped database remains active in navi
+- bug #2986383 [parser] Not all data being shown / counted
+- bug [synchronize] Rows were deleted in target table regardless of the
+ "Would you like to delete..." option
+- bug [privileges] List of tables not shown when the db name has a wildcard
+- bug #3011126 [display] Edit link missing after long query
+- patch #3013264 [doc] FAQ 1.40 uses a comma instead of a period,
+ thanks to Isaac Bennetch - ibennetch
+- [engines] Fix getting InnoDB status.
+- bug #2986422 [import] Results for query are not displayed
+
+3.3.3.0 (2010-05-10)
+- patch #2982480 [navi] Do not group if there would be one table in group,
+ thanks to Lorikeet Lee.
+- patch #2983492 [sync] When asking to synchronize Structure and Data,
+ only Structure is done, thanks to Ankit Gupta - ankitgupta3
+- patch #2984893 [engines] InnoDB storage page emits a warning,
+ thanks to Madhura Jayaratne - madhuracj
+- bug #2974687, bug #2974692 [compatibility] PHPExcel : IBM AIX iconv() does not work,
+ thanks to Björn Wiberg - bwiberg
+- bug #2983066 [interface] Flush table on table operations shows the query twice,
+ thanks to Martynas Mickevičius - BlinK_
+- bug #2983060, patch #2987900 [interface] Fix initial state of tables in
+ designer, thanks to Sutharshan Balachandren.
+- bug #2983062, patch #2989408 [engines] Fix warnings when changing table
+ engine to Maria, thanks to Madhura Jayaratne.
+- bug #2974067 [display] non-binary fields shown as hex
+- bug #2983065 [operations] Error when changing from Maria to MyISAM engine
+- bug #2975408 [tracking] Data too long for column data_sql
+- bug [tracking] Tracking report should obey MaxCharactersInDisplayedSQL
+- bug [edit] Avoid selecting UNHEX function by default for a BLOB column for
+ which editing is protected
+- bug #2994168 [structure] Show auto_increment in uppercase
+- bug #2993970 [pdf schema] Page numbering in Table of Contents
+
+3.3.2.0 (2010-04-13)
+- patch #2969449 [core] Name for MERGE engine varies depending on the
+ MySQL version, thanks to Dieter Adriaenssens - ruleant
+- bug #2966078 [browse] Incorrect LIMIT is saved and sticks while browsing
+- bug #2967366 [Structure] Some results of Propose table structure are
+ shown in hex
+- bug #2967565 [insert] UNHEX not selected by default when inserting BINARY
+- [navi] Changed link to git repository on main page
+- bug #2972232 [menu] Import menu tab not present on main page
+- patch #2976790 [menu] Go to the upper level after table DROP,
+ thanks to Kaarel Nummert - kaarelnu
+- patch #2978815 [pdf] Fix generating PDF with table dimensions, thanks to BlinK_
+- patch #2977725 [export] XML wrongly encoded, thanks to Victor Volkov - hanut
+- patch #2979234 [import] Create tables with current charset and collation.
+- patch #2979234, bug #2960105 [import] Properly import unicode text from ODS.
+- bug #2973280 [export] Proper handling of temporary directory in XLS export.
+- bug #2980582 [interface] Properly format server status parameter.
+- bug #2973949 [session] SQL History broken (revert patch #2899969),
+ thanks to Dieter Adriaenssens - ruleant
+- [doc] Be more specific about problems with Suhosin.
+
+3.3.1.0 (2010-03-16)
+- bug #2941037 [core] Database structure not sorted by table correctly
+- bug #2948492 [interface] Slide effect masks some fields on search page
+- bug #2959746 [interface] Unknown table status: TABLE_TYPE
+- bug #2953050 [export] export VIEW as SQL includes INSERT statement
+- bug #2942032 [core] Cannot detect PmaAbsoluteUri correctly on Windows
+- bug #2961609 [auth] Potential information disclosure at login page
+- patch #2961540 [export] Do not export data of MERGE table,
+ thanks to Dieter Adriaenssens - ruleant
+- bug #2961198 [parser] Querying a table named "data"
+- bug #2931429 [structure] Editing long triggers
+- bug #2970769 [structure] Incorrect reference to mootools-more.js
+
+3.3.0.0 (2010-03-07)
++ rfe #2308632 [edit] Use hex for (var)binary fields,
+ thanks to Maarten Dieleman - maartendieleman
++ patch #2794819 [navi] Filter for displayed table names,
+ thanks to Michael Valushko - dylfin
+- bug #2794840 [core] Cannot redeclare pma_tableheader()
+- rfe #2726479 [core] configurable maximal length of URL
++ patch #2724755 [display] Full/partial text links (big T) are back,
+ thanks to nullbarriere - nullbarriere
+- bug [display] handle NavigationBarIconic as documented for navi buttons
++ rfe #2726479 [export] Export tables preselect
++ patch #2805828 [export] PHP array export plugin,
+ thanks to Geoffray Warnants - amnsk
++ patch #2798592 [import] Progress bar,
+ thanks to Tomas Srnka - tomassrnka
+- bug [gui] Generate Password not working for 'Change Login Information', only for 'Change password'
++ [lang] Arabic update, thanks to Meno25 - meno25
++ rfe #2822190 [structure] BOOLEAN is standard SQL
++ [lang] German update, thanks to knittl
++ [lang] German update, thanks to virsacer
++ rfe #2813867 [structure] Default sorting order in list of tables
++ [import] Added MySQL type-detection functionality to import library,
+ thanks to Derek Schaefer
++ [import] Added ODS, Excel XLS, Excel XLSX, and XML import modules,
+ thanks to Derek Schaefer
++ [export] Added Excel XLSX export module,
+ thanks to Derek Schaefer
++ [core] Added ability for tracking changes made through phpMyAdmin
++ rfe #2839504 [engines] Support InnoDB plugin's new row formats
++ [core] Added ability for synchronizing databases among servers.
++ [lang] #2843101 Dutch update, thanks to scavenger2008
++ [lang] Galician update, thanks to Xosé Calvo - xosecalvo
++ [export] Added MediaWiki export module,
+ thanks to Derek Schaefer - drummingds1
++ [lang] Turkish update, thanks to Burak Yavuz
++ [auth] Add custom port configuration in signon, thanks to Gary Smith
+- [core] Removed context from the error handler
+- bug #2883633 [export] Export of InnoDB table is incomplete
++ rfe #2862575 [status] Order query statistics by % desc, skip rows with 0
++ rfe #2823686 [interface] Increase default height of query window
++ rfe #2129902 [structure] Don't hide indexes
++ patch #2812070 [interface] Allow selecting a range of rows by holding shift, thanks to Joolee
++ [lang] Russian update, thanks to Victor Volkov
++ [lang] Greek update, thanks to Panagiotis Papazoglou
++ [lang] Norwegian update, thanks to Sven-Erik Andersen
+- bug #2929958 [import] Cannot import (French interface)
+- [security] Use X-Frame-Options header to protect against ClickJacking.
++ [lang] Finnish update, thanks to Jouni Kahkonen
++ [lang] Lithuanian update, thanks to Rytis Slatkevicius - rytis_s
+- bug #2931939 [status] Seeing "m" as unit is confusing
+- bug #2926613 [edit] Copy database shows errors when DB has foreign key
++ [lang] Catalan update, thanks to Xavier Navarro
+
+3.2.6.0 (not released)
+- bug #2938492 [display] information_schema sorting order
+- bug #2941101 [import] import timeout when table already created and
+ several data lines
+- bug #2944069 [config] Extraneus dot from dirname() when installed in root, thanks to ayanamist
+
+3.2.5.0 (2010-01-10)
+- patch #2903400 [bookmarks] Status of bookmark table,
+ thanks to Virsacer - virsacer
+- bug [history] QueryHistoryDB is not respected
+- bug #2905629 [auth] Blowfish secret is not hashed
+- bug #2910000 [gui] ShowServerInfo should hide all server info from main page
+- bug #2910568 [structure] Table size for ARCHIVE tables is not displayed
+- patch #2899969 [core] Session lock blocks working from a second window,
+ thanks to Greg Roach - fisharebest
+- patch #2915168 [import] Incorrect parsing of DELIMITER keyword,
+ thanks to Greg Roach - fisharebest
+- patch #2918831 [export] Missing backquotes on reserved words,
+ thanks to Virsacer - virsacer
+- [core] Fix broken cleanup of $_GET
+- bug #2924357 [operations] Cannot rename a database that has foreign key
+ constraints
+- bug #869006 [structure] Ignore number of records for MRG_MyISAM tables
+- bug [browse] "Show BLOB contents" should display HTML code that is present
+ in a BLOB, thanks to Vincent van der Tuin
+- [privileges] Improve escaping of hostname
+
+ --- Older ChangeLogs can be found on our project website ---
+ http://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
View
5,105 phpmyadmin/phpMyAdmin-3.4.9-english/Documentation.html
5,105 additions, 0 deletions not shown
View
3,702 phpmyadmin/phpMyAdmin-3.4.9-english/Documentation.txt
3,702 additions, 0 deletions not shown
View
6 phpmyadmin/phpMyAdmin-3.4.9-english/INSTALL
@@ -0,0 +1,6 @@
+phpMyAdmin - Installation
+=========================
+
+Please have a look to the Documentation.txt or Documentation.html files.
+
+
View
340 phpmyadmin/phpMyAdmin-3.4.9-english/LICENSE
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, 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 Library 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 St, 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 Library General
+Public License instead of this License.
View
85 phpmyadmin/phpMyAdmin-3.4.9-english/README
@@ -0,0 +1,85 @@
+phpMyAdmin - Readme
+===================
+
+Version 3.4.9
+
+A set of PHP-scripts to manage MySQL over the web.
+
+http://www.phpmyadmin.net/
+
+Copyright
+---------
+
+Copyright (C) 1998-2000
+ Tobias Ratschiller <tobias_at_ratschiller.com>
+
+Copyright (C) 2001-2011
+ 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 Documentation.txt/.html file for more details]
+
+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, write to the Free Software Foundation, Inc., 51 Franklin
+St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Requirements
+------------
+
+* PHP 5.2 or later
+* MySQL 5.0 or later
+* a web-browser (doh!)
+
+Summary
+-------
+
+phpMyAdmin is intended to handle the administration of MySQL over the web.
+For a summary of features, please see the Documentation.txt/.html file.
+
+Download
+--------
+
+You can get the newest version at http://www.phpmyadmin.net/.
+
+More Information
+----------------
+
+Please see the Documentation.txt/.html file.
+
+Support
+-------
+
+See reference about support forums under http://www.phpmyadmin.net/
+
+
+Enjoy!
+------
+
+The phpMyAdmin Devel team
+
+
+PS:
+
+Please, don't send us emails with question like "How do I compile PHP with
+MySQL-support". We just don't have the time to be your free help desk.
+
+Please send your questions to the appropriate mailing lists / forums. Before
+contacting us, please read the Documentation.html (esp. the FAQ part).
+
View
37 phpmyadmin/phpMyAdmin-3.4.9-english/README.VENDOR
@@ -0,0 +1,37 @@
+phpMyAdmin - hints for distributing 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 libraries/vendor_config.php.
+
+For example if you want setup script to generate config file in var,
+change SETUP_CONFIG_FILE to /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
+js/colorpicker
+ jQuery based color picker
+
+libraries/php-gettext
+ php-gettext library
+libraries/tcpdf
+ tcpdf library, modified for our needs!
+
+# vim: et ts=4 sw=4 sts=4 tw=72 spell spelllang=en_us
View
1  phpmyadmin/phpMyAdmin-3.4.9-english/RELEASE-DATE-3.4.9
@@ -0,0 +1 @@
+Wed Dec 21 20:06:46 UTC 2011
View
8 phpmyadmin/phpMyAdmin-3.4.9-english/TODO
@@ -0,0 +1,8 @@
+phpMyAdmin - Todo
+=================
+
+We are currently using the Sourceforge Tracker as Todo list:
+
+ http://sourceforge.net/tracker/?atid=377411&group_id=23067&func=browse
+
+-- swix/20010704
View
296 phpmyadmin/phpMyAdmin-3.4.9-english/browse_foreigners.php
@@ -0,0 +1,296 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * display selection for relational field values
+ *
+ * @package phpMyAdmin
+ */
+
+/**
+ * Gets a core script and starts output buffering work
+ */
+require_once './libraries/common.inc.php';
+
+PMA_checkParameters(array('db', 'table', 'field'));
+
+require_once './libraries/ob.lib.php';
+PMA_outBufferPre();
+
+require_once './libraries/header_http.inc.php';
+
+/**
+ * Displays the frame
+ */
+require_once './libraries/transformations.lib.php'; // Transformations
+$cfgRelation = PMA_getRelationsParam();
+$foreigners = ($cfgRelation['relwork'] ? PMA_getForeigners($db, $table) : FALSE);
+
+$override_total = TRUE;
+
+if (!isset($pos)) {
+ $pos = 0;
+}
+
+$foreign_limit = 'LIMIT ' . $pos . ', ' . $GLOBALS['cfg']['MaxRows'] . ' ';
+if (isset($foreign_navig) && $foreign_navig == __('Show all')) {
+ unset($foreign_limit);
+}
+
+$foreignData = PMA_getForeignData($foreigners, $field, $override_total, isset($foreign_filter) ? $foreign_filter : '', $foreign_limit);
+
+if (isset($rownumber)) {
+ $rownumber_param = '&amp;rownumber=' . urlencode($rownumber);
+} else {
+ $rownumber_param = '';
+}
+
+$gotopage = '';
+$showall = '';
+
+if (is_array($foreignData['disp_row'])) {
+
+ if ($cfg['ShowAll'] && ($foreignData['the_total'] > $GLOBALS['cfg']['MaxRows'])) {
+ $showall = '<input type="submit" name="foreign_navig" value="' . __('Show all') . '" />';
+ }
+
+ $session_max_rows = $GLOBALS['cfg']['MaxRows'];
+ $pageNow = @floor($pos / $session_max_rows) + 1;
+ $nbTotalPage = @ceil($foreignData['the_total'] / $session_max_rows);
+
+ if ($foreignData['the_total'] > $GLOBALS['cfg']['MaxRows']) {
+ $gotopage = PMA_pageselector(
+ $session_max_rows,
+ $pageNow,
+ $nbTotalPage,
+ 200,
+ 5,
+ 5,
+ 20,
+ 10,
+ __('Page number:')
+ );
+ }
+}
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xml:lang="<?php echo $available_languages[$lang][1]; ?>"
+ lang="<?php echo $available_languages[$lang][1]; ?>"
+ dir="<?php echo $text_dir; ?>">
+
+<head>
+ <title>phpMyAdmin</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset; ?>" />
+ <link rel="stylesheet" type="text/css"
+ href="phpmyadmin.css.php?<?php echo PMA_generate_common_url('', ''); ?>&amp;js_frame=right&amp;nocache=<?php echo $GLOBALS['PMA_Config']->getThemeUniqueValue(); ?>" />
+<?php
+// includes everything asked for by libraries/common.inc.php
+require_once './libraries/header_scripts.inc.php';
+?>
+ <script type="text/javascript">
+ //<![CDATA[
+ self.focus();
+ function formupdate(fieldmd5, key) {
+ var $inline = window.opener.jQuery('.browse_foreign_clicked');
+ if ($inline.length != 0) {
+ $inline.removeClass('browse_foreign_clicked')
+ // puts new value in the previous element which is
+ // a span with class curr_value
+ .prev().text(key);
+ self.close();
+ return false;
+ }
+
+ if (opener && opener.document && opener.document.insertForm) {
+ var field = 'fields';
+ var field_null = 'fields_null';
+
+ <?php if (isset($rownumber)) { ?>
+ var element_name = field + '[multi_edit][<?php echo htmlspecialchars($rownumber); ?>][' + fieldmd5 + ']';
+ var null_name = field_null + '[multi_edit][<?php echo htmlspecialchars($rownumber); ?>][' + fieldmd5 + ']';
+ <?php } else { ?>
+ var element_name = field + '[]';
+ <?php } ?>
+
+ <?php if (isset($fieldkey) && is_numeric($fieldkey)) { ?>
+ var element_name_alt = field + '[<?php echo $fieldkey; ?>]';
+ <?php } else { ?>
+ var element_name_alt = field + '[0]';
+ <?php } ?>
+
+ if (opener.document.insertForm.elements[element_name]) {
+ // Edit/Insert form
+ opener.document.insertForm.elements[element_name].value = key;
+ if (opener.document.insertForm.elements[null_name]) {
+ opener.document.insertForm.elements[null_name].checked = false;
+ }
+ self.close();
+ return false;
+ } else if (opener.document.insertForm.elements[element_name_alt]) {
+ // Search form
+ opener.document.insertForm.elements[element_name_alt].value = key;
+ self.close();
+ return false;
+ }
+ }
+
+ alert('<?php echo PMA_jsFormat(__('The target browser window could not be updated. Maybe you have closed the parent window, or your browser\'s security settings are configured to block cross-window updates.')); ?>');
+ }
+ //]]>
+ </script>
+</head>
+
+<body id="body_browse_foreigners">
+
+<form action="browse_foreigners.php" method="post">
+<fieldset>
+<?php echo PMA_generate_common_hidden_inputs($db, $table); ?>
+<input type="hidden" name="field" value="<?php echo htmlspecialchars($field); ?>" />
+<input type="hidden" name="fieldkey"
+ value="<?php echo isset($fieldkey) ? htmlspecialchars($fieldkey) : ''; ?>" />
+<?php if (isset($rownumber)) { ?>
+<input type="hidden" name="rownumber" value="<?php echo htmlspecialchars($rownumber); ?>" />
+<?php } ?>
+<span class="formelement">
+ <label for="input_foreign_filter"><?php echo __('Search') . ':'; ?></label>
+ <input type="text" name="foreign_filter" id="input_foreign_filter"
+ value="<?php echo isset($foreign_filter) ? htmlspecialchars($foreign_filter) : ''; ?>" />
+ <input type="submit" name="submit_foreign_filter" value="<?php echo __('Go');?>" />
+</span>
+<span class="formelement">
+ <?php echo $gotopage; ?>
+</span>
+<span class="formelement">
+ <?php echo $showall; ?>
+</span>
+</fieldset>
+</form>
+
+<table width="100%">
+<?php
+if (is_array($foreignData['disp_row'])) {
+ $header = '<tr>
+ <th>' . __('Keyname') . '</th>
+ <th>' . __('Description') . '</th>
+ <td width="20%"></td>
+ <th>' . __('Description') . '</th>
+ <th>' . __('Keyname') . '</th>
+ </tr>';
+
+ echo '<thead>' . $header . '</thead>' . "\n"
+ .'<tfoot>' . $header . '</tfoot>' . "\n"
+ .'<tbody>' . "\n";
+
+ $values = array();
+ $keys = array();
+ foreach ($foreignData['disp_row'] as $relrow) {
+ if ($foreignData['foreign_display'] != FALSE) {
+ $values[] = $relrow[$foreignData['foreign_display']];
+ } else {
+ $values[] = '';
+ }
+
+ $keys[] = $relrow[$foreignData['foreign_field']];
+ }
+
+ asort($keys);
+
+ $hcount = 0;
+ $odd_row = true;
+ $val_ordered_current_row = 0;
+ $val_ordered_current_equals_data = false;
+ $key_ordered_current_equals_data = false;
+ foreach ($keys as $key_ordered_current_row => $value) {
+ //for ($i = 0; $i < $count; $i++) {
+ $hcount++;
+
+ if ($cfg['RepeatCells'] > 0 && $hcount > $cfg['RepeatCells']) {
+ echo $header;
+ $hcount = 0;
+ $odd_row = true;