├── BUGS ├── CREDITS ├── DEVELOPERS ├── FAQ ├── HISTORY ├── INSTALL ├── LICENSE ├── TODO ├── TRANSLATORS ├── admin.php ├── aggregates.php ├── ajax-ac-insert.php ├── all_db.php ├── browser.php ├── casts.php ├── classes ├── ArrayRecordSet.php ├── Gui.php ├── Misc.php ├── Plugin.php ├── PluginManager.php ├── class.select.php └── database │ ├── ADODB_base.php │ ├── Connection.php │ ├── Postgres.php │ ├── Postgres10.php │ ├── Postgres11.php │ ├── Postgres74.php │ ├── Postgres80.php │ ├── Postgres81.php │ ├── Postgres82.php │ ├── Postgres83.php │ ├── Postgres84.php │ ├── Postgres90.php │ ├── Postgres91.php │ ├── Postgres92.php │ ├── Postgres93.php │ ├── Postgres94.php │ ├── Postgres95.php │ └── Postgres96.php ├── colproperties.php ├── composer.json ├── conf └── config.inc.php-dist ├── constraints.php ├── conversions.php ├── database.php ├── dataexport.php ├── dataimport.php ├── dbexport.php ├── display.php ├── domains.php ├── fulltext.php ├── functions.js ├── functions.php ├── groups.php ├── help.php ├── help ├── PostgresDoc10.php ├── PostgresDoc11.php ├── PostgresDoc12.php ├── PostgresDoc74.php ├── PostgresDoc80.php ├── PostgresDoc81.php ├── PostgresDoc82.php ├── PostgresDoc83.php ├── PostgresDoc84.php ├── PostgresDoc90.php ├── PostgresDoc91.php ├── PostgresDoc92.php ├── PostgresDoc93.php ├── PostgresDoc94.php ├── PostgresDoc95.php └── PostgresDoc96.php ├── history.php ├── images └── themes │ ├── bootstrap │ ├── Favicon.ico │ ├── Introduction.png │ └── title.png │ ├── cappuccino │ ├── Lminus.png │ ├── Lplus.png │ ├── Tminus.png │ ├── Tplus.png │ ├── inputbckg.png │ ├── openListe.png │ └── title.png │ └── default │ ├── AddArguments.png │ ├── Admin.png │ ├── Aggregate.png │ ├── Aggregates.png │ ├── AllUsers.png │ ├── AvailableReplicationSet.png │ ├── AvailableSubscription.png │ ├── Backup.png │ ├── Cast.png │ ├── Casts.png │ ├── CheckConstraint.png │ ├── Cluster.png │ ├── Column.png │ ├── Columns.png │ ├── Constraints.png │ ├── Conversion.png │ ├── Conversions.png │ ├── Copy.png │ ├── CorruptedDatabase.png │ ├── Cut.png │ ├── Database.png │ ├── Databases.png │ ├── Definition.png │ ├── Delete.png │ ├── DisabledJob.png │ ├── DisconnectedDatabase.png │ ├── DisconnectedServer.png │ ├── Domain.png │ ├── Domains.png │ ├── EnableArgument.png │ ├── Erase.png │ ├── Execute.png │ ├── ExecuteSave.png │ ├── Explain.png │ ├── Export.png │ ├── Favicon.ico │ ├── Filter.png │ ├── ForeignKey.png │ ├── Fts.png │ ├── FtsCfg.png │ ├── FtsDict.png │ ├── FtsParser.png │ ├── Function.png │ ├── Functions.png │ ├── GurusHint.png │ ├── Help.png │ ├── Histories.png │ ├── History.png │ ├── I.png │ ├── Import.png │ ├── Index.png │ ├── Indexes.png │ ├── Introduction.png │ ├── Job.png │ ├── Jobs.png │ ├── Key.png │ ├── L.png │ ├── Language.png │ ├── Languages.png │ ├── Listen.png │ ├── Listens.png │ ├── Lminus.png │ ├── Loading.gif │ ├── LowerArgument.png │ ├── Lplus.png │ ├── Node.png │ ├── Nodes.png │ ├── ObjectNotFound.png │ ├── OfferedReplicationSet.png │ ├── OfferedSubscription.png │ ├── Open.png │ ├── Operator.png │ ├── OperatorClass.png │ ├── OperatorClasses.png │ ├── Operators.png │ ├── Paste.png │ ├── Path.png │ ├── Paths.png │ ├── PrimaryKey.png │ ├── Privileges.png │ ├── Processes.png │ ├── Property.png │ ├── RaiseArgument.png │ ├── Record.png │ ├── Records.png │ ├── Redo.png │ ├── Refresh.png │ ├── RemoveArgument.png │ ├── Replication.png │ ├── ReplicationSets.png │ ├── Restore.png │ ├── Roles.png │ ├── Rule.png │ ├── Rules.png │ ├── Save.png │ ├── Schedule.png │ ├── Schedules.png │ ├── Schema.png │ ├── Schemas.png │ ├── Search.png │ ├── Sequence.png │ ├── Sequences.png │ ├── Server.png │ ├── Servers.png │ ├── SqlEditor.png │ ├── Statistics.png │ ├── Step.png │ ├── Steps.png │ ├── Stop.png │ ├── Subscriptions.png │ ├── T.png │ ├── Table.png │ ├── Tables.png │ ├── Tablespace.png │ ├── Tablespaces.png │ ├── Tminus.png │ ├── Tplus.png │ ├── Trigger.png │ ├── TriggerFunction.png │ ├── TriggerFunctions.png │ ├── Triggers.png │ ├── Type.png │ ├── Types.png │ ├── Undo.png │ ├── UniqueConstraint.png │ ├── User.png │ ├── UserGroup.png │ ├── UserGroups.png │ ├── Users.png │ ├── Variables.png │ ├── View.png │ ├── Views.png │ ├── blank.png │ └── title.png ├── index.php ├── indexes.js ├── indexes.php ├── info.php ├── intro.php ├── js ├── ac_insert_row.js ├── database.js └── display.js ├── lang ├── README ├── afrikaans.php ├── arabic.php ├── catalan.php ├── chinese-zh-CN.php ├── chinese-zh-TW.php ├── czech.php ├── danish.php ├── dutch.php ├── english.php ├── french.php ├── galician.php ├── german.php ├── greek.php ├── hebrew.php ├── hungarian.php ├── italian.php ├── japanese.php ├── langcheck ├── lithuanian.php ├── mongol.php ├── polish.php ├── portuguese-br.php ├── portuguese-pt.php ├── romanian.php ├── russian-utf8.php ├── russian.php ├── slovak.php ├── spanish.php ├── swedish.php ├── synch ├── translations.php ├── turkish.php └── ukrainian.php ├── languages.php ├── libraries ├── adodb │ ├── adodb-csvlib.inc.php │ ├── adodb-datadict.inc.php │ ├── adodb-error.inc.php │ ├── adodb-iterator.inc.php │ ├── adodb-lib.inc.php │ ├── adodb-time.inc.php │ ├── adodb.inc.php │ ├── drivers │ │ ├── adodb-postgres.inc.php │ │ ├── adodb-postgres64.inc.php │ │ ├── adodb-postgres7.inc.php │ │ └── adodb-postgres8.inc.php │ ├── lang │ │ ├── adodb-ar.inc.php │ │ ├── adodb-bg.inc.php │ │ ├── adodb-bgutf8.inc.php │ │ ├── adodb-ca.inc.php │ │ ├── adodb-cn.inc.php │ │ ├── adodb-cz.inc.php │ │ ├── adodb-da.inc.php │ │ ├── adodb-de.inc.php │ │ ├── adodb-en.inc.php │ │ ├── adodb-es.inc.php │ │ ├── adodb-esperanto.inc.php │ │ ├── adodb-fa.inc.php │ │ ├── adodb-fr.inc.php │ │ ├── adodb-hu.inc.php │ │ ├── adodb-it.inc.php │ │ ├── adodb-nl.inc.php │ │ ├── adodb-pl.inc.php │ │ ├── adodb-pt-br.inc.php │ │ ├── adodb-ro.inc.php │ │ ├── adodb-ru1251.inc.php │ │ ├── adodb-sv.inc.php │ │ ├── adodb-uk1251.inc.php │ │ └── adodb_th.inc.php │ ├── license.txt │ ├── readme.txt │ ├── toexport.inc.php │ └── tohtml.inc.php ├── decorator.inc.php ├── errorhandler.inc.php ├── highlight.php ├── js │ └── jquery.js └── lib.inc.php ├── links.js ├── login.php ├── logout.php ├── multiactionform.js ├── opclasses.php ├── operators.php ├── plugin.php ├── plugins ├── GuiControl │ ├── conf │ │ └── config.inc.php │ └── plugin.php └── Report │ ├── INSTALL │ ├── README │ ├── classes │ └── Reports.php │ ├── conf │ └── config.inc.php │ ├── images │ ├── Report.png │ └── Reports.png │ ├── lang │ ├── afrikaans.php │ ├── arabic.php │ ├── catalan.php │ ├── chinese-sim.php │ ├── chinese-tr.php │ ├── chinese-utf8-zh_CN.php │ ├── chinese-utf8-zh_TW.php │ ├── czech.php │ ├── danish.php │ ├── dutch.php │ ├── english.php │ ├── french.php │ ├── galician.php │ ├── german.php │ ├── greek.php │ ├── hebrew.php │ ├── hungarian.php │ ├── italian.php │ ├── japanese.php │ ├── lithuanian.php │ ├── mongol.php │ ├── polish.php │ ├── portuguese-br.php │ ├── portuguese-pt.php │ ├── romanian.php │ ├── russian.php │ ├── slovak.php │ ├── spanish.php │ ├── swedish.php │ ├── turkish.php │ └── ukrainian.php │ ├── plugin.php │ └── sql │ └── reports-pgsql.sql ├── privileges.php ├── redirect.php ├── robots.txt ├── roles.php ├── rules.php ├── schemas.php ├── sequences.php ├── servers.php ├── sql.php ├── sqledit.php ├── tables.js ├── tables.php ├── tablespaces.php ├── tblproperties.php ├── themes ├── bootstrap │ ├── global.css │ └── title.png ├── cappuccino │ └── global.css ├── default │ └── global.css ├── global.css ├── gotar │ └── global.css └── themes.php ├── triggers.php ├── types.php ├── users.php ├── viewproperties.php ├── views.php └── xloadtree ├── xloadtree2.js └── xtree2.js /BUGS: -------------------------------------------------------------------------------- 1 | Internal Bugs List 2 | ------------------ 3 | 4 | This file is used to track current working tasks - just ignore it! 5 | 6 | conditional testing for user visible fields across postgres versions in selenium. 7 | 8 | dump sequences when dumping tables 9 | fix dumping clustering info 10 | 11 | Need to fix: 12 | * After changing password need to update data structures to avoid logouts 13 | * Report login errors 14 | * Don't offer owner change feature if user is not superuser 15 | * check use of apostrophes, etc. in tree menu 16 | * add different null formats to import and export 17 | * make browser language detection only happen when language is set 18 | to 'auto'. make that the default. 19 | * float and decimal types aren't listed. 20 | * Click 'Run' on this report doesn't work (only column 2 is displayed): 21 | 22 | SELECT 23 | 1, 24 | 2; 25 | 26 | * redirect.php doesn't work for database's after certain tabs have been 27 | selected, eg. 'Variables', 'Processes'. 28 | 29 | NEEDS TESTING 30 | ------------- 31 | 32 | * COPY should work in normal sql screen and sql popup window 33 | * notice on viewing reports page - does this still occur? 34 | * highlight things on the info stats page 35 | * advanced stats functions 36 | * prevent the user from dropping all the superusers 37 | * rename function in 7.2 and below doesn't come back to the correct function 38 | * Fix SQL window parent update to not update any random window 39 | * Show owner on privileges screen? 40 | * Allows tabs in textareas on IE: http://devilock.mine.nu/textarea_tab.html 41 | * add help links everywhere. fix formatting of help links. 42 | * Deal with named parameters that have ',' in the type name 43 | * make sure composite types are found in the find feature 44 | -------------------------------------------------------------------------------- /CREDITS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/CREDITS -------------------------------------------------------------------------------- /HISTORY: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/HISTORY -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | phpPgAdmin Installation Guide 2 | ----------------------------- 3 | 4 | 1. Unpack your download 5 | 6 | If you've downloaded a tar.gz package, execute from a terminal: 7 | 8 | gunzip phpPgAdmin-*.tar.gz 9 | tar -xvf phpPgAdmin-*.tar 10 | 11 | Else, if you've downloaded a tar.bz2 package, execute from a terminal: 12 | 13 | bunzip2 phpPgAdmin-*.tar.bz2 14 | tar -xvf phpPgAdmin-*.tar 15 | 16 | Else, if you've downloaded a zip package, execute from a terminal: 17 | 18 | unzip phpPgAdmin-*.zip 19 | 20 | 2. Configure phpPgAdmin 21 | 22 | edit phpPgAdmin/conf/config.inc.php 23 | 24 | If you mess up the configuration file, you can recover it from the 25 | config.inc.php-dist file. 26 | 27 | 3. If you run your PHP installation in safe mode, in order that the database 28 | dump feature can work correctly, you need to set the 'safe_mode_allowed_env_vars' 29 | php.ini variable to include the PGPASSWORD and PGUSER environmental variables 30 | and the safe_mode_exec_dir to include /usr/bin (or wherever the pg_dump 31 | binaries are found). 32 | 33 | eg. safe_mode_allowed_env_vars = PHP_,PG 34 | safe_mode_exec_dir = /usr/bin 35 | 36 | Given that you usually don't want to allow everything in /usr/bin to 37 | be executed, you might want to copy the pg_dump and pg_dumpall utilities 38 | to a directory by themselves. 39 | 40 | Also, you will need to ensure that your 'pg_dump' and 'pg_dumpall' utilities 41 | are executable by the PHP process, if you want dump support in phpPgAdmin. 42 | 43 | Lastly, if you run phpPgAdmin in safe mode, very long running imports, 44 | exports and transactions may time out and be aborted. 45 | 46 | 4. Ensure the statistics collector is enabled in PostgreSQL. phpPgAdmin will 47 | display table, index performance, and usage statistics if you have enabled 48 | the PostgreSQL statistics collector. While this is normally enabled by 49 | default, to ensure it is running, make sure the following lines in your 50 | postgresql.conf are uncommented: 51 | 52 | track_activities 53 | track_counts 54 | 55 | 5. Browse to the phpPgAdmin installation using a web browser. You might 56 | need cookies enabled for phpPgAdmin to work. 57 | 58 | 6. IMPORTANT - SECURITY 59 | 60 | PostgreSQL by default does not require you to use a password to log in. 61 | We STRONGLY recommend that you enable md5 passwords for local connections 62 | in your pg_hba.conf, and set a password for the default superuser account. 63 | 64 | Due to the large number of phpPgAdmin installations that have not set 65 | passwords on local connections, there is now a configuration file 66 | option called 'extra_login_security', which is TRUE by default. While 67 | this option is enabled, you will be unable to log in to phpPgAdmin as 68 | the 'root', 'administrator', 'pgsql' or 'postgres' users and empty passwords 69 | will not work. 70 | 71 | Once you are certain you have properly secured your database server, you 72 | can then disable 'extra_login_security' so that you can log in as your 73 | database administrator using the administrator password. 74 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002 - 2019 The phpPgAdmin Project 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; either version 2 of the License, or 6 | (at your option) any later version. 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License 11 | for more details. 12 | 13 | -------------------------------------------------------------------------------- /TRANSLATORS: -------------------------------------------------------------------------------- 1 | Translator Info 2 | --------------- 3 | 4 | If you like phpPgAdmin, then why not translate it into your native language? 5 | 6 | There are quite a large number of strings to be translated. Partial 7 | translations are better than no translations at all, and a rough guide is that 8 | the strings are in the order from most important to least important in the 9 | language file. You can ask the developers list if you don't know what a 10 | certain string means. 11 | 12 | We tried keeping translation easy in phpPgAdmin by using ONLY the UTF-8 charset. 13 | Make sure to always work on UTF-8 files when creating a new translation or 14 | editing an existing one. 15 | 16 | To Create a new translation: 17 | 18 | 1. Go to the lang/ subdirectory 19 | 20 | 2. Copy english.php to yourlanguage.php 21 | 22 | 3. Update the comment at the top of the file. Put yourself as the language 23 | maintainer. Edit the 'applang' variable and put your language's name in it, 24 | in your language. 25 | Edit the 'applocale' and put your language code according to the standard: 26 | http://www.ietf.org/rfc/rfc1766.txt 27 | 28 | Basically, you just need to put your language code [1] and optionally country 29 | code [2] separated by a '-'. As instance for french canadian, it is: fr-CA 30 | [1]: http://www.w3.org/WAI/ER/IG/ert/iso639.htm 31 | [2]: http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm 32 | 33 | 4. Go through as much of the rest of the file as you wish, replacing the 34 | English strings with strings in your native language. 35 | 36 | At this point, you can send the yourlanguage.php file to us and we will take 37 | care of testing and recoding the translation. Please only do that if you 38 | find the rest of these steps too difficult. 39 | 40 | 5. To add your language to phpPgAdmin, edit the lang/translations.php file 41 | and add your language to the $appLangFiles array. 42 | Also, add your language to the $availableLanguages array for 43 | browser auto detection. 44 | 45 | 6. Send your contribution to us. We need the lang/translations.php entry as 46 | well as the lang/yourlanguage.php file. Email to the developers list: 47 | phppgadmin-devel@lists.sourceforge.net 48 | 49 | 7. There exists a tool named 'langcheck' in the lang/ directory. To run it, 50 | just type 'php langcheck '. It will give you a report about 51 | which strings are missing from your language file and which need to be 52 | deleted. 53 | 54 | Thank you for your contribution! You have just made phpPgAdmin accessible 55 | to thousands more users! 56 | -------------------------------------------------------------------------------- /ajax-ac-insert.php: -------------------------------------------------------------------------------- 1 | $v) { 13 | $fkeynames[$k] = html_entity_decode($v, ENT_QUOTES); 14 | } 15 | 16 | $keyspos = array_combine($fkeynames, $_POST['keys']); 17 | 18 | $f_schema = html_entity_decode($_POST['f_schema'], ENT_QUOTES); 19 | $data->fieldClean($f_schema); 20 | $f_table = html_entity_decode($_POST['f_table'], ENT_QUOTES); 21 | $data->fieldClean($f_table); 22 | $f_attname = $fkeynames[$_POST['fattpos'][0]]; 23 | $data->fieldClean($f_attname); 24 | 25 | $q = "SELECT * 26 | FROM \"{$f_schema}\".\"{$f_table}\" 27 | WHERE \"{$f_attname}\"::text LIKE '{$_POST['fvalue']}%' 28 | ORDER BY \"{$f_attname}\" LIMIT 12 {$offset};"; 29 | 30 | $res = $data->selectSet($q); 31 | 32 | if (!$res->EOF) { 33 | echo ""; 34 | echo ''; 35 | foreach (array_keys($res->fields) as $h) { 36 | echo ''; 42 | 43 | } 44 | echo "\n"; 45 | $i=0; 46 | while ((!$res->EOF) && ($i < 11)) { 47 | $j=0; 48 | echo ""; 49 | foreach ($res->fields as $n => $v) { 50 | $finfo = $res->fetchField($j++); 51 | if (in_array($n, $fkeynames)) 52 | echo ""; 55 | else 56 | echo ""; 59 | } 60 | echo "\n"; 61 | $i++; 62 | $res->moveNext(); 63 | } 64 | echo "
'; 37 | 38 | if (in_array($h, $fkeynames)) 39 | echo '[referenced key]'; 40 | 41 | echo htmlentities($h, ENT_QUOTES, 'UTF-8'), '
", 53 | $misc->printVal($v, $finfo->type, array('clip' => 'collapsed')), 54 | "", 57 | $misc->printVal($v, $finfo->type, array('clip' => 'collapsed')), 58 | "
\n"; 65 | 66 | $page_tests=''; 67 | 68 | $js = ""; 85 | } 86 | else { 87 | printf("

{$lang['strnofkref']}

", "\"{$_POST['f_schema']}\".\"{$_POST['f_table']}\".\"{$fkeynames[$_POST['fattpos']]}\""); 88 | 89 | if ($_POST['offset']) 90 | echo "Prev <<"; 91 | } 92 | ?> 93 | -------------------------------------------------------------------------------- /browser.php: -------------------------------------------------------------------------------- 1 | printHeader('', ' 18 | 19 | 20 | '); 23 | 24 | $misc->printBody('browser'); 25 | echo "
\n"; 26 | ?> 27 | 28 | 33 |
<?php echo $lang['strrefresh']; ?>
34 | 78 | 79 | \n"; 82 | $misc->printFooter(); 83 | 84 | ?> 85 | -------------------------------------------------------------------------------- /casts.php: -------------------------------------------------------------------------------- 1 | printTrail('database'); 32 | $misc->printTabs('database','casts'); 33 | $misc->printMsg($msg); 34 | 35 | $casts = $data->getCasts(); 36 | 37 | $columns = array( 38 | 'source_type' => array( 39 | 'title' => $lang['strsourcetype'], 40 | 'field' => field('castsource'), 41 | ), 42 | 'target_type' => array( 43 | 'title' => $lang['strtargettype'], 44 | 'field' => field('casttarget'), 45 | ), 46 | 'function' => array( 47 | 'title' => $lang['strfunction'], 48 | 'field' => field('castfunc'), 49 | 'params'=> array('null' => $lang['strbinarycompat']), 50 | ), 51 | 'implicit' => array( 52 | 'title' => $lang['strimplicit'], 53 | 'field' => field('castcontext'), 54 | 'type' => 'callback', 55 | 'params'=> array('function' => 'renderCastContext', 'align' => 'center'), 56 | ), 57 | 'comment' => array( 58 | 'title' => $lang['strcomment'], 59 | 'field' => field('castcomment'), 60 | ), 61 | ); 62 | 63 | $actions = array(); 64 | 65 | $misc->printTable($casts, $columns, $actions, 'casts-casts', $lang['strnocasts']); 66 | } 67 | 68 | /** 69 | * Generate XML for the browser tree. 70 | */ 71 | function doTree() { 72 | global $misc, $data; 73 | 74 | $casts = $data->getCasts(); 75 | 76 | $proto = concat(field('castsource'), ' AS ', field('casttarget')); 77 | 78 | $attrs = array( 79 | 'text' => $proto, 80 | 'icon' => 'Cast' 81 | ); 82 | 83 | $misc->printTree($casts, $attrs, 'casts'); 84 | exit; 85 | } 86 | 87 | if ($action == 'tree') doTree(); 88 | 89 | $misc->printHeader($lang['strcasts']); 90 | $misc->printBody(); 91 | 92 | switch ($action) { 93 | case 'tree': 94 | doTree(); 95 | break; 96 | default: 97 | doDefault(); 98 | break; 99 | } 100 | 101 | $misc->printFooter(); 102 | 103 | ?> 104 | -------------------------------------------------------------------------------- /classes/ArrayRecordSet.php: -------------------------------------------------------------------------------- 1 | _array = $data; 17 | $this->_count = count($this->_array); 18 | $this->fields = reset($this->_array); 19 | if ($this->fields === false) $this->EOF = true; 20 | } 21 | 22 | function recordCount() { 23 | return $this->_count; 24 | } 25 | 26 | function moveNext() { 27 | $this->fields = next($this->_array); 28 | if ($this->fields === false) $this->EOF = true; 29 | } 30 | } 31 | 32 | ?> 33 | -------------------------------------------------------------------------------- /classes/Gui.php: -------------------------------------------------------------------------------- 1 | Value 17 | * @param $szName string to specify the name of the form element 18 | * @param (optional) $bBlankEntry bool to specify whether or not we want a blank selection 19 | * @param (optional) $szDefault string to specify the default VALUE selected 20 | * @param (optional) $bMultiple bool to specify whether or not we want a multi select combo box 21 | * @param (optional) $iSize int to specify the size IF a multi select combo 22 | * @return string with the generated HTML select box 23 | */ 24 | static function printCombo(&$arrOptions, $szName, $bBlankEntry = true, $szDefault = '', $bMultiple = false, $iSize = 10) { 25 | $htmlOut = ''; 26 | if ($bMultiple) // If multiple select combo 27 | $htmlOut .= "\n"; 30 | if ($bBlankEntry) 31 | $htmlOut .= "\n"; 32 | 33 | foreach ($arrOptions as $curKey => $curVal) { 34 | $curVal = htmlspecialchars($curVal); 35 | $curKey = htmlspecialchars($curKey); 36 | if ($curVal == $szDefault) { 37 | $htmlOut .= "\n"; 38 | } 39 | else { 40 | $htmlOut .= "\n"; 41 | } 42 | } 43 | $htmlOut .= "\n"; 44 | 45 | return $htmlOut; 46 | } 47 | } 48 | ?> 49 | -------------------------------------------------------------------------------- /classes/Plugin.php: -------------------------------------------------------------------------------- 1 | get_name(); 12 | 13 | if (file_exists("{$plugin_directory}/lang")) { 14 | if (file_exists("{$plugin_directory}/lang/english.php")) { 15 | require_once("{$plugin_directory}/lang/english.php"); 16 | } 17 | 18 | if (file_exists("{$plugin_directory}/lang/{$language}.php")) { 19 | include_once("{$plugin_directory}/lang/{$language}.php"); 20 | } 21 | 22 | $this->lang = $plugin_lang; 23 | } 24 | 25 | if (file_exists("{$plugin_directory}/conf/config.inc.php")) { 26 | include_once("{$plugin_directory}/conf/config.inc.php"); 27 | $this->conf = $plugin_conf; 28 | } 29 | } 30 | 31 | abstract function get_hooks(); 32 | 33 | abstract function get_actions(); 34 | 35 | /** 36 | * In some page (display, sql, ...), a "return" link will show up if 37 | * $_GET['return'] = 'plugin' is given. The "get_subject_params" method 38 | * of the plugin designated by $_GET['plugin'] is then called to add needed 39 | * parameters in the href URL. 40 | * This method can returns parameters based on context from $_REQUEST. See 41 | * plugin Report as example. 42 | * 43 | * @returns an associative of parameter_name => value 44 | */ 45 | function get_subject_params() { 46 | $vars = array(); 47 | return $vars; 48 | } 49 | 50 | /** 51 | * Get the plugin name, that will be used as identification 52 | * @return $name 53 | */ 54 | function get_name() { 55 | return $this->name; 56 | } 57 | 58 | /** 59 | * Returns the structure suitable for the method $misc->icon() to print 60 | * the given icon. 61 | * @param $img - The icon name 62 | * @return the information suitable for the method $misc->icon() 63 | */ 64 | function icon($img) { 65 | return array($this->name, $img); 66 | } 67 | } 68 | ?> 69 | -------------------------------------------------------------------------------- /classes/PluginManager.php: -------------------------------------------------------------------------------- 1 | add_plugin($plugin); 47 | } 48 | catch (Exception $e) { 49 | continue; 50 | } 51 | } else { 52 | printf($lang['strpluginnotfound']."\t\n", $activated_plugin); 53 | exit; 54 | } 55 | } 56 | } 57 | 58 | /** 59 | * Add a plugin in the list of plugins to manage 60 | * @param $plugin - Instance from plugin 61 | */ 62 | function add_plugin($plugin) { 63 | global $lang; 64 | 65 | //The $plugin_name is the identification of the plugin. 66 | //Example: PluginExample is the identification for PluginExample 67 | //It will be used to get a specific plugin from the plugins_list. 68 | $plugin_name = $plugin->get_name(); 69 | $this->plugins_list[$plugin_name] = $plugin; 70 | 71 | //Register the plugin's functions 72 | $hooks = $plugin->get_hooks(); 73 | foreach ($hooks as $hook => $functions) { 74 | if (!in_array($hook, $this->available_hooks)) { 75 | printf($lang['strhooknotfound']."\t\n", $hook); 76 | exit; 77 | } 78 | $this->hooks[$hook][$plugin_name] = $functions; 79 | } 80 | 81 | //Register the plugin's actions 82 | $actions = $plugin->get_actions(); 83 | $this->actions[$plugin_name] = $actions; 84 | } 85 | 86 | function getPlugin($plugin) { 87 | if (isset($this->plugins_list[$plugin])) 88 | return $this->plugins_list[$plugin]; 89 | 90 | return null; 91 | } 92 | 93 | /** 94 | * Execute the plugins hook functions when needed. 95 | * @param $hook - The place where the function will be called 96 | * @param $function_args - An array reference with arguments to give to called function 97 | */ 98 | function do_hook($hook, &$function_args) { 99 | if (isset($this->hooks[$hook])) { 100 | foreach ($this->hooks[$hook] as $plugin_name => $functions) { 101 | $plugin = $this->plugins_list[$plugin_name]; 102 | foreach ($functions as $function) { 103 | if (method_exists($plugin, $function)) { 104 | call_user_func(array($plugin, $function), $function_args); 105 | } 106 | } 107 | } 108 | } 109 | } 110 | 111 | /** 112 | * Execute a plugin's action 113 | * @param $plugin_name - The plugin name. 114 | * @param $action - action that will be executed. 115 | */ 116 | function do_action($plugin_name, $action) { 117 | global $lang; 118 | 119 | if (!isset($this->plugins_list[$plugin_name])) { 120 | // Show an error and stop the application 121 | printf($lang['strpluginnotfound']."\t\n", $plugin_name); 122 | exit; 123 | } 124 | $plugin = $this->plugins_list[$plugin_name]; 125 | 126 | // Check if the plugin's method exists and if this method is an declared action. 127 | if (method_exists($plugin, $action) and in_array($action, $this->actions[$plugin_name])) { 128 | call_user_func(array($plugin, $action)); 129 | } 130 | else { 131 | // Show an error and stop the application 132 | printf($lang['stractionnotfound']."\t\n", $action, $plugin_name); 133 | exit; 134 | } 135 | } 136 | } 137 | ?> 138 | -------------------------------------------------------------------------------- /classes/database/Connection.php: -------------------------------------------------------------------------------- 1 | conn = ADONewConnection('postgres7'); 24 | $this->conn->setFetchMode($fetchMode); 25 | 26 | // Ignore host if null 27 | if ($host === null || $host == '') 28 | if ($port !== null && $port != '') 29 | $pghost = ':'.$port; 30 | else 31 | $pghost = ''; 32 | else 33 | $pghost = "{$host}:{$port}"; 34 | 35 | // Add sslmode to $pghost as needed 36 | if (($sslmode == 'disable') || ($sslmode == 'allow') || ($sslmode == 'prefer') || ($sslmode == 'require')) { 37 | $pghost .= ':'.$sslmode; 38 | } elseif ($sslmode == 'legacy') { 39 | $pghost .= ' requiressl=1'; 40 | } 41 | 42 | $this->conn->connect($pghost, $user, $password, $database); 43 | } 44 | 45 | /** 46 | * Gets the name of the correct database driver to use. As a side effect, 47 | * sets the platform. 48 | * @param (return-by-ref) $description A description of the database and version 49 | * @return The class name of the driver eg. Postgres84 50 | * @return null if version is < 7.4 51 | * @return -3 Database-specific failure 52 | */ 53 | function getDriver(&$description) { 54 | 55 | $v = pg_version($this->conn->_connectionID); 56 | if (isset($v['server'])) $version = $v['server']; 57 | 58 | // If we didn't manage to get the version without a query, query... 59 | if (!isset($version)) { 60 | $adodb = new ADODB_base($this->conn); 61 | 62 | $sql = "SELECT VERSION() AS version"; 63 | $field = $adodb->selectField($sql, 'version'); 64 | 65 | // Check the platform, if it's mingw, set it 66 | if (preg_match('/ mingw /i', $field)) 67 | $this->platform = 'MINGW'; 68 | 69 | $params = explode(' ', $field); 70 | if (!isset($params[1])) return -3; 71 | 72 | $version = $params[1]; // eg. 8.4.4 73 | } 74 | 75 | $description = "PostgreSQL {$version}"; 76 | 77 | // Detect version and choose appropriate database driver 78 | switch (substr($version,0,2)) { 79 | case '10': return 'Postgres10';break; 80 | case '11': return 'Postgres11';break; 81 | case '12': return 'Postgres';break; 82 | } 83 | 84 | switch (substr($version,0,3)) { 85 | case '9.6': return 'Postgres96'; break; 86 | case '9.5': return 'Postgres95'; break; 87 | case '9.4': return 'Postgres94'; break; 88 | case '9.3': return 'Postgres93'; break; 89 | case '9.2': return 'Postgres92'; break; 90 | case '9.1': return 'Postgres91'; break; 91 | case '9.0': return 'Postgres90'; break; 92 | case '8.4': return 'Postgres84'; break; 93 | case '8.3': return 'Postgres83'; break; 94 | case '8.2': return 'Postgres82'; break; 95 | case '8.1': return 'Postgres81'; break; 96 | case '8.0': 97 | case '7.5': return 'Postgres80'; break; 98 | case '7.4': return 'Postgres74'; break; 99 | } 100 | 101 | /* All <7.4 versions are not supported */ 102 | // if major version is 7 or less and wasn't cought in the 103 | // switch/case block, we have an unsupported version. 104 | if ((int)substr($version, 0, 1) < 8) 105 | return null; 106 | 107 | // If unknown version, then default to latest driver 108 | return 'Postgres'; 109 | 110 | } 111 | 112 | /** 113 | * Get the last error in the connection 114 | * @return Error string 115 | */ 116 | function getLastError() { 117 | return pg_last_error($this->conn->_connectionID); 118 | } 119 | } 120 | 121 | ?> 122 | -------------------------------------------------------------------------------- /classes/database/Postgres11.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | } 30 | ?> 31 | -------------------------------------------------------------------------------- /classes/database/Postgres90.php: -------------------------------------------------------------------------------- 1 | help_page; 28 | } 29 | 30 | // Capabilities 31 | 32 | } 33 | ?> 34 | -------------------------------------------------------------------------------- /classes/database/Postgres91.php: -------------------------------------------------------------------------------- 1 | help_page; 28 | } 29 | 30 | // Administration functions 31 | /** 32 | * Returns all available process information. 33 | * @param $database (optional) Find only connections to specified database 34 | * @return A recordset 35 | */ 36 | function getProcesses($database = null) { 37 | if ($database === null) 38 | $sql = "SELECT datname, usename, procpid AS pid, waiting, current_query AS query, query_start 39 | FROM pg_catalog.pg_stat_activity 40 | ORDER BY datname, usename, procpid"; 41 | else { 42 | $this->clean($database); 43 | $sql = "SELECT datname, usename, procpid AS pid, waiting, current_query AS query, query_start 44 | FROM pg_catalog.pg_stat_activity 45 | WHERE datname='{$database}' 46 | ORDER BY usename, procpid"; 47 | } 48 | 49 | $rc = $this->selectSet($sql); 50 | 51 | return $rc; 52 | } 53 | 54 | // Tablespace functions 55 | 56 | /** 57 | * Retrieves information for all tablespaces 58 | * @param $all Include all tablespaces (necessary when moving objects back to the default space) 59 | * @return A recordset 60 | */ 61 | function getTablespaces($all = false) { 62 | global $conf; 63 | 64 | $sql = "SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation, 65 | (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid AND pd.classoid='pg_tablespace'::regclass) AS spccomment 66 | FROM pg_catalog.pg_tablespace"; 67 | 68 | if (!$conf['show_system'] && !$all) { 69 | $sql .= ' WHERE spcname NOT LIKE $$pg\_%$$'; 70 | } 71 | 72 | $sql .= " ORDER BY spcname"; 73 | 74 | return $this->selectSet($sql); 75 | } 76 | 77 | /** 78 | * Retrieves a tablespace's information 79 | * @return A recordset 80 | */ 81 | function getTablespace($spcname) { 82 | $this->clean($spcname); 83 | 84 | $sql = "SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation, 85 | (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid AND pd.classoid='pg_tablespace'::regclass) AS spccomment 86 | FROM pg_catalog.pg_tablespace WHERE spcname='{$spcname}'"; 87 | 88 | return $this->selectSet($sql); 89 | } 90 | 91 | 92 | // Capabilities 93 | function hasUserSignals() { return false; } 94 | 95 | 96 | 97 | } 98 | ?> 99 | -------------------------------------------------------------------------------- /classes/database/Postgres92.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | } 30 | ?> 31 | -------------------------------------------------------------------------------- /classes/database/Postgres93.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | } 30 | ?> 31 | -------------------------------------------------------------------------------- /classes/database/Postgres94.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | } 30 | ?> 31 | -------------------------------------------------------------------------------- /classes/database/Postgres95.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | 30 | /** 31 | * Returns all available process information. 32 | * @param $database (optional) Find only connections to specified database 33 | * @return A recordset 34 | */ 35 | function getProcesses($database = null) { 36 | if ($database === null) 37 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, 38 | case when state='idle in transaction' then ' in transaction' when state = 'idle' then '' else query end as query 39 | FROM pg_catalog.pg_stat_activity 40 | ORDER BY datname, usename, pid"; 41 | else { 42 | $this->clean($database); 43 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, 44 | case when state='idle in transaction' then ' in transaction' when state = 'idle' then '' else query end as query 45 | FROM pg_catalog.pg_stat_activity 46 | WHERE datname='{$database}' 47 | ORDER BY usename, pid"; 48 | } 49 | 50 | return $this->selectSet($sql); 51 | } 52 | 53 | 54 | } 55 | ?> 56 | -------------------------------------------------------------------------------- /classes/database/Postgres96.php: -------------------------------------------------------------------------------- 1 | help_page; 27 | } 28 | 29 | // Sequence functions 30 | 31 | /** 32 | * Returns properties of a single sequence 33 | * @param $sequence Sequence name 34 | * @return A recordset 35 | */ 36 | function getSequence($sequence) { 37 | $c_schema = $this->_schema; 38 | $this->clean($c_schema); 39 | $c_sequence = $sequence; 40 | $this->fieldClean($sequence); 41 | $this->clean($c_sequence); 42 | 43 | $sql = " 44 | SELECT c.relname AS seqname, s.*, 45 | pg_catalog.obj_description(s.tableoid, 'pg_class') AS seqcomment, 46 | u.usename AS seqowner, n.nspname 47 | FROM \"{$sequence}\" AS s, pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n 48 | WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid 49 | AND c.relname = '{$c_sequence}' AND c.relkind = 'S' AND n.nspname='{$c_schema}' 50 | AND n.oid = c.relnamespace"; 51 | 52 | return $this->selectSet( $sql ); 53 | } 54 | 55 | 56 | } 57 | ?> 58 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phppgadmin/phppgadmin", 3 | "description": "phpPgAdmin is a web-based administration tool for PostgreSQL. It is perfect for PostgreSQL DBAs, newbies, and hosting services.", 4 | "type": "Application", 5 | "license": "GPL-2.0+", 6 | "require": { 7 | "php": ">=7.1", 8 | "ext-pgsql": "*", 9 | "ext-mbstring": "*" 10 | }, 11 | "minimum-stability": "stable", 12 | "autoload": { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /conversions.php: -------------------------------------------------------------------------------- 1 | printTrail('schema'); 23 | $misc->printTabs('schema', 'conversions'); 24 | $misc->printMsg($msg); 25 | 26 | $conversions = $data->getconversions(); 27 | 28 | $columns = array( 29 | 'conversion' => array( 30 | 'title' => $lang['strname'], 31 | 'field' => field('conname'), 32 | ), 33 | 'source_encoding' => array( 34 | 'title' => $lang['strsourceencoding'], 35 | 'field' => field('conforencoding'), 36 | ), 37 | 'target_encoding' => array( 38 | 'title' => $lang['strtargetencoding'], 39 | 'field' => field('contoencoding'), 40 | ), 41 | 'default' => array( 42 | 'title' => $lang['strdefault'], 43 | 'field' => field('condefault'), 44 | 'type' => 'yesno', 45 | ), 46 | 'comment' => array( 47 | 'title' => $lang['strcomment'], 48 | 'field' => field('concomment'), 49 | ), 50 | ); 51 | 52 | $actions = array(); 53 | 54 | $misc->printTable($conversions, $columns, $actions, 'conversions-conversions', $lang['strnoconversions']); 55 | } 56 | 57 | /** 58 | * Generate XML for the browser tree. 59 | */ 60 | function doTree() { 61 | global $misc, $data; 62 | 63 | $conversions = $data->getconversions(); 64 | 65 | $attrs = array( 66 | 'text' => field('conname'), 67 | 'icon' => 'Conversion', 68 | 'toolTip'=> field('concomment') 69 | ); 70 | 71 | $misc->printTree($conversions, $attrs, 'conversions'); 72 | exit; 73 | } 74 | 75 | if ($action == 'tree') doTree(); 76 | 77 | $misc->printHeader($lang['strconversions']); 78 | $misc->printBody(); 79 | 80 | switch ($action) { 81 | default: 82 | doDefault(); 83 | break; 84 | } 85 | 86 | $misc->printFooter(); 87 | 88 | ?> 89 | -------------------------------------------------------------------------------- /help.php: -------------------------------------------------------------------------------- 1 | getHelp($_REQUEST['help']); 20 | 21 | if (is_array($url)) { 22 | doChoosePage($url); 23 | return; 24 | } 25 | 26 | if ($url) { 27 | header("Location: $url"); 28 | exit; 29 | } 30 | } 31 | 32 | doBrowse($lang['strinvalidhelppage']); 33 | } 34 | 35 | function doBrowse($msg = '') { 36 | global $misc, $data, $lang; 37 | 38 | $misc->printHeader($lang['strhelppagebrowser']); 39 | $misc->printBody(); 40 | 41 | $misc->printTitle($lang['strselecthelppage']); 42 | 43 | echo $misc->printMsg($msg); 44 | 45 | echo "
\n"; 46 | 47 | $pages = $data->getHelpPages(); 48 | foreach ($pages as $page => $dummy) { 49 | echo "
{$page}
\n"; 50 | 51 | $urls = $data->getHelp($page); 52 | if (!is_array($urls)) $urls = array($urls); 53 | foreach ($urls as $url) { 54 | echo "
{$url}
\n"; 55 | } 56 | } 57 | 58 | echo "
\n"; 59 | 60 | $misc->printFooter(); 61 | } 62 | 63 | function doChoosePage($urls) { 64 | global $misc, $lang; 65 | 66 | $misc->printHeader($lang['strhelppagebrowser']); 67 | $misc->printBody(); 68 | 69 | $misc->printTitle($lang['strselecthelppage']); 70 | 71 | echo "
    \n"; 72 | foreach($urls as $url) { 73 | echo "
  • {$url}
  • \n"; 74 | } 75 | echo "
\n"; 76 | 77 | $misc->printFooter(); 78 | } 79 | 80 | switch ($action) { 81 | case 'browse': 82 | doBrowse(); 83 | break; 84 | default: 85 | doDefault(); 86 | break; 87 | } 88 | ?> 89 | -------------------------------------------------------------------------------- /help/PostgresDoc10.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '10'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc11.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '11'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc12.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '12'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc80.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '8.0'); 12 | 13 | $this->help_page['pg.column.add'][0] = 'ddl-alter.html#AEN2217'; 14 | $this->help_page['pg.column.drop'][0] = 'ddl-alter.html#AEN2226'; 15 | 16 | $this->help_page['pg.constraint.add'] = 'ddl-alter.html#AEN2217'; 17 | $this->help_page['pg.constraint.check'] = 'ddl-constraints.html#AEN1978'; 18 | $this->help_page['pg.constraint.drop'] = 'ddl-alter.html#AEN2226'; 19 | $this->help_page['pg.constraint.primary_key'] = 'ddl-constraints.html#AEN2055'; 20 | $this->help_page['pg.constraint.unique_key'] = 'ddl-constraints.html#AEN2033'; 21 | 22 | $this->help_page['pg.domain'] = 'extend-type-system.html#AEN27940'; 23 | 24 | $this->help_page['pg.function'][2] = 'sql-expressions.html#AEN1652'; 25 | 26 | $this->help_page['pg.operator'][2] = 'sql-expressions.html#AEN1623'; 27 | 28 | ?> 29 | -------------------------------------------------------------------------------- /help/PostgresDoc81.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '8.1'); 12 | 13 | $this->help_page['pg.role'] = 'user-manag.html'; 14 | $this->help_page['pg.role.create'] = array('sql-createrole.html','user-manag.html#DATABASE-ROLES'); 15 | $this->help_page['pg.role.alter'] = array('sql-alterrole.html','role-attributes.html'); 16 | $this->help_page['pg.role.drop'] = array('sql-droprole.html','user-manag.html#DATABASE-ROLES'); 17 | 18 | ?> 19 | -------------------------------------------------------------------------------- /help/PostgresDoc82.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '8.2'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc83.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '8.3'); 12 | 13 | $this->help_page['pg.fts'] = 'textsearch.html'; 14 | 15 | $this->help_page['pg.ftscfg'] = 'textsearch-intro.html#TEXTSEARCH-INTRO-CONFIGURATIONS'; 16 | $this->help_page['pg.ftscfg.example'] = 'textsearch-configuration.html'; 17 | $this->help_page['pg.ftscfg.drop'] = 'sql-droptsconfig.html'; 18 | $this->help_page['pg.ftscfg.create'] = 'sql-createtsconfig.html'; 19 | $this->help_page['pg.ftscfg.alter'] = 'sql-altertsconfig.html'; 20 | 21 | $this->help_page['pg.ftsdict'] = 'textsearch-dictionaries.html'; 22 | $this->help_page['pg.ftsdict.drop'] = 'sql-droptsdictionary.html'; 23 | $this->help_page['pg.ftsdict.create'] = array('sql-createtsdictionary.html', 'sql-createtstemplate.html'); 24 | $this->help_page['pg.ftsdict.alter'] = 'sql-altertsdictionary.html'; 25 | 26 | $this->help_page['pg.ftsparser'] = 'textsearch-parsers.html'; 27 | ?> 28 | -------------------------------------------------------------------------------- /help/PostgresDoc84.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '8.4'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc90.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.0'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc91.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.1'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc92.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.2'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc93.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.3'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc94.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.4'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc95.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.5'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /help/PostgresDoc96.php: -------------------------------------------------------------------------------- 1 | help_base = sprintf($GLOBALS['conf']['help_base'], '9.6'); 12 | 13 | ?> 14 | -------------------------------------------------------------------------------- /images/themes/bootstrap/Favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/bootstrap/Favicon.ico -------------------------------------------------------------------------------- /images/themes/bootstrap/Introduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/bootstrap/Introduction.png -------------------------------------------------------------------------------- /images/themes/bootstrap/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/bootstrap/title.png -------------------------------------------------------------------------------- /images/themes/cappuccino/Lminus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/Lminus.png -------------------------------------------------------------------------------- /images/themes/cappuccino/Lplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/Lplus.png -------------------------------------------------------------------------------- /images/themes/cappuccino/Tminus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/Tminus.png -------------------------------------------------------------------------------- /images/themes/cappuccino/Tplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/Tplus.png -------------------------------------------------------------------------------- /images/themes/cappuccino/inputbckg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/inputbckg.png -------------------------------------------------------------------------------- /images/themes/cappuccino/openListe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/openListe.png -------------------------------------------------------------------------------- /images/themes/cappuccino/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/cappuccino/title.png -------------------------------------------------------------------------------- /images/themes/default/AddArguments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/AddArguments.png -------------------------------------------------------------------------------- /images/themes/default/Admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Admin.png -------------------------------------------------------------------------------- /images/themes/default/Aggregate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Aggregate.png -------------------------------------------------------------------------------- /images/themes/default/Aggregates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Aggregates.png -------------------------------------------------------------------------------- /images/themes/default/AllUsers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/AllUsers.png -------------------------------------------------------------------------------- /images/themes/default/AvailableReplicationSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/AvailableReplicationSet.png -------------------------------------------------------------------------------- /images/themes/default/AvailableSubscription.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/AvailableSubscription.png -------------------------------------------------------------------------------- /images/themes/default/Backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Backup.png -------------------------------------------------------------------------------- /images/themes/default/Cast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Cast.png -------------------------------------------------------------------------------- /images/themes/default/Casts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Casts.png -------------------------------------------------------------------------------- /images/themes/default/CheckConstraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/CheckConstraint.png -------------------------------------------------------------------------------- /images/themes/default/Cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Cluster.png -------------------------------------------------------------------------------- /images/themes/default/Column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Column.png -------------------------------------------------------------------------------- /images/themes/default/Columns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Columns.png -------------------------------------------------------------------------------- /images/themes/default/Constraints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Constraints.png -------------------------------------------------------------------------------- /images/themes/default/Conversion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Conversion.png -------------------------------------------------------------------------------- /images/themes/default/Conversions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Conversions.png -------------------------------------------------------------------------------- /images/themes/default/Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Copy.png -------------------------------------------------------------------------------- /images/themes/default/CorruptedDatabase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/CorruptedDatabase.png -------------------------------------------------------------------------------- /images/themes/default/Cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Cut.png -------------------------------------------------------------------------------- /images/themes/default/Database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Database.png -------------------------------------------------------------------------------- /images/themes/default/Databases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Databases.png -------------------------------------------------------------------------------- /images/themes/default/Definition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Definition.png -------------------------------------------------------------------------------- /images/themes/default/Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Delete.png -------------------------------------------------------------------------------- /images/themes/default/DisabledJob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/DisabledJob.png -------------------------------------------------------------------------------- /images/themes/default/DisconnectedDatabase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/DisconnectedDatabase.png -------------------------------------------------------------------------------- /images/themes/default/DisconnectedServer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/DisconnectedServer.png -------------------------------------------------------------------------------- /images/themes/default/Domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Domain.png -------------------------------------------------------------------------------- /images/themes/default/Domains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Domains.png -------------------------------------------------------------------------------- /images/themes/default/EnableArgument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/EnableArgument.png -------------------------------------------------------------------------------- /images/themes/default/Erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Erase.png -------------------------------------------------------------------------------- /images/themes/default/Execute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Execute.png -------------------------------------------------------------------------------- /images/themes/default/ExecuteSave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/ExecuteSave.png -------------------------------------------------------------------------------- /images/themes/default/Explain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Explain.png -------------------------------------------------------------------------------- /images/themes/default/Export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Export.png -------------------------------------------------------------------------------- /images/themes/default/Favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Favicon.ico -------------------------------------------------------------------------------- /images/themes/default/Filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Filter.png -------------------------------------------------------------------------------- /images/themes/default/ForeignKey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/ForeignKey.png -------------------------------------------------------------------------------- /images/themes/default/Fts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Fts.png -------------------------------------------------------------------------------- /images/themes/default/FtsCfg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/FtsCfg.png -------------------------------------------------------------------------------- /images/themes/default/FtsDict.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/FtsDict.png -------------------------------------------------------------------------------- /images/themes/default/FtsParser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/FtsParser.png -------------------------------------------------------------------------------- /images/themes/default/Function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Function.png -------------------------------------------------------------------------------- /images/themes/default/Functions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Functions.png -------------------------------------------------------------------------------- /images/themes/default/GurusHint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/GurusHint.png -------------------------------------------------------------------------------- /images/themes/default/Help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Help.png -------------------------------------------------------------------------------- /images/themes/default/Histories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Histories.png -------------------------------------------------------------------------------- /images/themes/default/History.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/History.png -------------------------------------------------------------------------------- /images/themes/default/I.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/I.png -------------------------------------------------------------------------------- /images/themes/default/Import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Import.png -------------------------------------------------------------------------------- /images/themes/default/Index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Index.png -------------------------------------------------------------------------------- /images/themes/default/Indexes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Indexes.png -------------------------------------------------------------------------------- /images/themes/default/Introduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Introduction.png -------------------------------------------------------------------------------- /images/themes/default/Job.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Job.png -------------------------------------------------------------------------------- /images/themes/default/Jobs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Jobs.png -------------------------------------------------------------------------------- /images/themes/default/Key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Key.png -------------------------------------------------------------------------------- /images/themes/default/L.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/L.png -------------------------------------------------------------------------------- /images/themes/default/Language.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Language.png -------------------------------------------------------------------------------- /images/themes/default/Languages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Languages.png -------------------------------------------------------------------------------- /images/themes/default/Listen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Listen.png -------------------------------------------------------------------------------- /images/themes/default/Listens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Listens.png -------------------------------------------------------------------------------- /images/themes/default/Lminus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Lminus.png -------------------------------------------------------------------------------- /images/themes/default/Loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Loading.gif -------------------------------------------------------------------------------- /images/themes/default/LowerArgument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/LowerArgument.png -------------------------------------------------------------------------------- /images/themes/default/Lplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Lplus.png -------------------------------------------------------------------------------- /images/themes/default/Node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Node.png -------------------------------------------------------------------------------- /images/themes/default/Nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Nodes.png -------------------------------------------------------------------------------- /images/themes/default/ObjectNotFound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/ObjectNotFound.png -------------------------------------------------------------------------------- /images/themes/default/OfferedReplicationSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/OfferedReplicationSet.png -------------------------------------------------------------------------------- /images/themes/default/OfferedSubscription.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/OfferedSubscription.png -------------------------------------------------------------------------------- /images/themes/default/Open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Open.png -------------------------------------------------------------------------------- /images/themes/default/Operator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Operator.png -------------------------------------------------------------------------------- /images/themes/default/OperatorClass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/OperatorClass.png -------------------------------------------------------------------------------- /images/themes/default/OperatorClasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/OperatorClasses.png -------------------------------------------------------------------------------- /images/themes/default/Operators.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Operators.png -------------------------------------------------------------------------------- /images/themes/default/Paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Paste.png -------------------------------------------------------------------------------- /images/themes/default/Path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Path.png -------------------------------------------------------------------------------- /images/themes/default/Paths.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Paths.png -------------------------------------------------------------------------------- /images/themes/default/PrimaryKey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/PrimaryKey.png -------------------------------------------------------------------------------- /images/themes/default/Privileges.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Privileges.png -------------------------------------------------------------------------------- /images/themes/default/Processes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Processes.png -------------------------------------------------------------------------------- /images/themes/default/Property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Property.png -------------------------------------------------------------------------------- /images/themes/default/RaiseArgument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/RaiseArgument.png -------------------------------------------------------------------------------- /images/themes/default/Record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Record.png -------------------------------------------------------------------------------- /images/themes/default/Records.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Records.png -------------------------------------------------------------------------------- /images/themes/default/Redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Redo.png -------------------------------------------------------------------------------- /images/themes/default/Refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Refresh.png -------------------------------------------------------------------------------- /images/themes/default/RemoveArgument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/RemoveArgument.png -------------------------------------------------------------------------------- /images/themes/default/Replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Replication.png -------------------------------------------------------------------------------- /images/themes/default/ReplicationSets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/ReplicationSets.png -------------------------------------------------------------------------------- /images/themes/default/Restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Restore.png -------------------------------------------------------------------------------- /images/themes/default/Roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Roles.png -------------------------------------------------------------------------------- /images/themes/default/Rule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Rule.png -------------------------------------------------------------------------------- /images/themes/default/Rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Rules.png -------------------------------------------------------------------------------- /images/themes/default/Save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Save.png -------------------------------------------------------------------------------- /images/themes/default/Schedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Schedule.png -------------------------------------------------------------------------------- /images/themes/default/Schedules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Schedules.png -------------------------------------------------------------------------------- /images/themes/default/Schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Schema.png -------------------------------------------------------------------------------- /images/themes/default/Schemas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Schemas.png -------------------------------------------------------------------------------- /images/themes/default/Search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Search.png -------------------------------------------------------------------------------- /images/themes/default/Sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Sequence.png -------------------------------------------------------------------------------- /images/themes/default/Sequences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Sequences.png -------------------------------------------------------------------------------- /images/themes/default/Server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Server.png -------------------------------------------------------------------------------- /images/themes/default/Servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Servers.png -------------------------------------------------------------------------------- /images/themes/default/SqlEditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/SqlEditor.png -------------------------------------------------------------------------------- /images/themes/default/Statistics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Statistics.png -------------------------------------------------------------------------------- /images/themes/default/Step.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Step.png -------------------------------------------------------------------------------- /images/themes/default/Steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Steps.png -------------------------------------------------------------------------------- /images/themes/default/Stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Stop.png -------------------------------------------------------------------------------- /images/themes/default/Subscriptions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Subscriptions.png -------------------------------------------------------------------------------- /images/themes/default/T.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/T.png -------------------------------------------------------------------------------- /images/themes/default/Table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Table.png -------------------------------------------------------------------------------- /images/themes/default/Tables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Tables.png -------------------------------------------------------------------------------- /images/themes/default/Tablespace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Tablespace.png -------------------------------------------------------------------------------- /images/themes/default/Tablespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Tablespaces.png -------------------------------------------------------------------------------- /images/themes/default/Tminus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Tminus.png -------------------------------------------------------------------------------- /images/themes/default/Tplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Tplus.png -------------------------------------------------------------------------------- /images/themes/default/Trigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Trigger.png -------------------------------------------------------------------------------- /images/themes/default/TriggerFunction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/TriggerFunction.png -------------------------------------------------------------------------------- /images/themes/default/TriggerFunctions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/TriggerFunctions.png -------------------------------------------------------------------------------- /images/themes/default/Triggers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Triggers.png -------------------------------------------------------------------------------- /images/themes/default/Type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Type.png -------------------------------------------------------------------------------- /images/themes/default/Types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Types.png -------------------------------------------------------------------------------- /images/themes/default/Undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Undo.png -------------------------------------------------------------------------------- /images/themes/default/UniqueConstraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/UniqueConstraint.png -------------------------------------------------------------------------------- /images/themes/default/User.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/User.png -------------------------------------------------------------------------------- /images/themes/default/UserGroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/UserGroup.png -------------------------------------------------------------------------------- /images/themes/default/UserGroups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/UserGroups.png -------------------------------------------------------------------------------- /images/themes/default/Users.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Users.png -------------------------------------------------------------------------------- /images/themes/default/Variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Variables.png -------------------------------------------------------------------------------- /images/themes/default/View.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/View.png -------------------------------------------------------------------------------- /images/themes/default/Views.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/Views.png -------------------------------------------------------------------------------- /images/themes/default/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/blank.png -------------------------------------------------------------------------------- /images/themes/default/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/images/themes/default/title.png -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | printHeader('', null, true); 13 | 14 | $rtl = (strcasecmp($lang['applangdir'], 'rtl') == 0); 15 | 16 | $cols = $rtl ? '*,'.$conf['left_width'] : $conf['left_width'].',*'; 17 | $mainframe = '' 18 | ?> 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | <body> 29 | <?php echo $lang['strnoframes'] ?><br /> 30 | <a href="intro.php"><?php echo $lang['strnoframeslink'] ?></a> 31 | </body> 32 | 33 | 34 | 35 | 36 | printFooter(false); 38 | ?> 39 | -------------------------------------------------------------------------------- /indexes.js: -------------------------------------------------------------------------------- 1 | // Globals 2 | // 3 | 4 | 5 | /* 6 | * Multiple Selection lists in HTML Document 7 | */ 8 | var tableColumnList; 9 | var indexColumnList; 10 | 11 | /* 12 | * Two Array vars 13 | */ 14 | 15 | var indexColumns, tableColumns; 16 | 17 | 18 | function buttonPressed(object) { 19 | 20 | if (object.name == "add") { 21 | from = tableColumnList; 22 | to = indexColumnList; 23 | } 24 | else { 25 | to = tableColumnList; 26 | from = indexColumnList; 27 | } 28 | 29 | var selectedOptions = getSelectedOptions(from); 30 | 31 | for (i = 0; i < selectedOptions.length; i++) { 32 | option = new Option(selectedOptions[i].text); 33 | addToArray(to, option); 34 | removeFromArray(from, selectedOptions[i].index); 35 | } 36 | } 37 | 38 | function doSelectAll() { 39 | for(var x = 0; x < indexColumnList.options.length; x++){ 40 | indexColumnList.options[x].selected = true; 41 | } 42 | } 43 | 44 | function init() { 45 | tableColumnList = document.formIndex.TableColumnList; 46 | indexColumnList = document.getElementById("IndexColumnList"); 47 | indexColumns = indexColumnList.options; 48 | tableColumns = tableColumnList.options; 49 | } 50 | 51 | 52 | function getSelectedOptions(obj) { 53 | var selectedOptions = new Array(); 54 | 55 | for (i = 0; i < obj.options.length; i++) { 56 | if (obj.options[i].selected) { 57 | selectedOptions.push(obj.options[i]); 58 | } 59 | } 60 | 61 | return selectedOptions; 62 | } 63 | 64 | function removeFromArray(obj, index) { 65 | obj.remove(index); 66 | } 67 | 68 | function addToArray(obj, item) { 69 | obj.options[obj.options.length] = item; 70 | } -------------------------------------------------------------------------------- /intro.php: -------------------------------------------------------------------------------- 1 | printHeader(); 15 | $misc->printBody(); 16 | 17 | $misc->printTrail('root'); 18 | $misc->printTabs('root','intro'); 19 | ?> 20 | 21 |

22 | 23 |
24 | 25 | 26 | 27 | 39 | 40 | 41 | 42 | 53 | 54 |
28 | 38 |
43 | 52 |
55 | 56 |
57 | 58 |

59 | 60 | 67 | 68 | printFooter(); 71 | ?> 72 | -------------------------------------------------------------------------------- /js/database.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | 3 | var timeid = query = null; 4 | var controlLink = $('#control'); 5 | var errmsg = $('

'+Database.errmsg+'

') 6 | .insertBefore(controlLink) 7 | .hide(); 8 | var loading = $('[loading]') 9 | .insertAfter(controlLink) 10 | .hide(); 11 | 12 | function refreshTable() { 13 | if (Database.ajax_time_refresh > 0) { 14 | loading.show(); 15 | query = $.ajax({ 16 | type: 'GET', 17 | dataType: 'html', 18 | data: {server: Database.server, database: Database.dbname, action: Database.action}, 19 | url: 'database.php', 20 | cache: false, 21 | contentType: 'application/x-www-form-urlencoded', 22 | success: function(html) { 23 | $('#data_block').html(html); 24 | timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh) 25 | }, 26 | error: function() { 27 | controlLink.click(); 28 | errmsg.show(); 29 | }, 30 | complete: function () { 31 | loading.hide(); 32 | } 33 | }); 34 | } 35 | } 36 | 37 | controlLink.toggle( 38 | function() { 39 | $(errmsg).hide(); 40 | timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh); 41 | controlLink.html(' ' 42 | + Database.str_stop.text + '   ' 43 | ); 44 | }, 45 | function() { 46 | $(errmsg).hide(); 47 | $(loading).hide(); 48 | window.clearInterval(timeid); 49 | if (query) query.abort(); 50 | controlLink.html(' ' 51 | + Database.str_start.text 52 | ); 53 | } 54 | ); 55 | 56 | /* preload images */ 57 | $('#control img').hide() 58 | .attr('src', Database.str_start.icon) 59 | .attr('src', Database.str_stop.icon) 60 | .show(); 61 | 62 | /* start refreshing */ 63 | controlLink.click(); 64 | }); 65 | -------------------------------------------------------------------------------- /js/display.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | 3 | /* init some needed tags and values */ 4 | 5 | $('table#data').wrap('
'); 6 | $('#fkcontainer').append('
'); 7 | 8 | jQuery.ppa = { 9 | root: $('#root') 10 | }; 11 | 12 | $("a.fk").live('click', function (event) { 13 | /* make the cursor being a waiting cursor */ 14 | $('body').css('cursor','wait'); 15 | 16 | query = $.ajax({ 17 | type: 'GET', 18 | dataType: 'html', 19 | data: {action:'dobrowsefk'}, 20 | url: $(this).attr('href'), 21 | cache: false, 22 | context: $(this), 23 | contentType: 'application/x-www-form-urlencoded', 24 | success: function(answer) { 25 | pdiv = this.closest('div.fk'); 26 | divclass = this.attr('class').split(' ')[1]; 27 | 28 | /* if we are clicking on a FK from the original table 29 | (level 0), we are using the #root div as parent-div */ 30 | if (pdiv[0].id == 'fkcontainer') { 31 | /* computing top position, which is the topid as well */ 32 | var top = this.position().top + 2 + this.height(); 33 | /* if the requested top position is different than 34 | the previous topid position of #root, empty and position it */ 35 | if (top != jQuery.ppa.root.topid) 36 | jQuery.ppa.root.empty() 37 | .css({ 38 | left: (pdiv.position().left) +'px', 39 | top: top + 'px' 40 | }) 41 | /* this "topid" allows to track if we are 42 | opening a FK from the same line in the original table */ 43 | .topid = top; 44 | 45 | pdiv = jQuery.ppa.root; 46 | 47 | /* Remove equal rows in the root div */ 48 | jQuery.ppa.root.children('.'+divclass).remove(); 49 | } 50 | else { 51 | /* Remove equal rows in the pdiv */ 52 | pdiv.children('div.'+divclass).remove(); 53 | } 54 | 55 | /* creating the data div */ 56 | newdiv = $('
').html(answer); 57 | 58 | /* highlight referencing fields */ 59 | newdiv.data('ref', this).data('refclass', $(this).attr('class').split(' ')[1]) 60 | .mouseenter(function (event) { 61 | $(this).data('ref').closest('tr').find('a.'+$(this).data('refclass')).closest('div').addClass('highlight'); 62 | }) 63 | .mouseleave(function (event) { 64 | $(this).data('ref').closest('tr').find('a.'+$(this).data('refclass')).closest('div').removeClass('highlight'); 65 | }); 66 | 67 | /* appending it to the level-1 div */ 68 | pdiv.append(newdiv); 69 | }, 70 | 71 | error: function() { 72 | this.closest('div.fk').append('

'+Display.errmsg+'

'); 73 | }, 74 | 75 | complete: function () { 76 | $('body').css('cursor','auto'); 77 | } 78 | }); 79 | 80 | return false; // do not refresh the page 81 | }); 82 | 83 | $(".fk_delete").live('click', function (event) { 84 | with($(this).closest('div')) { 85 | data('ref').closest('tr').find('a.'+data('refclass')).closest('div').removeClass('highlight'); 86 | remove(); 87 | } 88 | return false; // do not refresh the page 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /lang/README: -------------------------------------------------------------------------------- 1 | Translators 2 | ----------- 3 | 4 | Please read the TRANSLATORS file in the top directory. 5 | 6 | To check your translation: 7 | 8 | cd lang 9 | php langcheck (eg. 'french'); 10 | 11 | To synchronize your translation with english.php: 12 | 13 | cd lang 14 | ./synch (eg. 'polish'); 15 | -------------------------------------------------------------------------------- /lang/langcheck: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/php -q 2 | \n\n"; 19 | echo " is the filename without the .php extension\n"; 20 | exit; 21 | } 22 | elseif (!file_exists("{$_SERVER['argv'][1]}.php")) { 23 | echo "Error: File not found.\n"; 24 | exit; 25 | } 26 | 27 | // Include english source file 28 | include('./english.php'); 29 | 30 | $master = $lang; 31 | $master_keys = array_keys($lang); 32 | unset($lang); 33 | 34 | // Include target language file 35 | include("./{$_SERVER['argv'][1]}.php"); 36 | $slave = $lang; 37 | $slave_keys = array_keys($lang); 38 | 39 | echo "Source file: english.php\n"; 40 | echo "Target file: {$_SERVER['argv'][1]}.php\n\n"; 41 | 42 | // Find missing values 43 | $diff = array_diff($master_keys, $slave_keys); 44 | echo "Missing Strings\n"; 45 | echo "---------------\n\n"; 46 | if (sizeof($diff) > 0) { 47 | foreach ($diff as $v) { 48 | echo "\$lang['{$v}'] = '", str_replace("'", "\\'", $master[$v]), "';\n"; 49 | } 50 | echo "\n"; 51 | echo "Translations: ", sizeof($master_keys) - sizeof($diff), "/", sizeof($master_keys), "\n\n"; 52 | 53 | } 54 | else echo "None\n\n"; 55 | 56 | // Find extra values (to be deleted) 57 | $diff = array_diff($slave_keys, $master_keys); 58 | echo "Deleted Strings\n"; 59 | echo "---------------\n\n"; 60 | if (sizeof($diff) > 0) { 61 | foreach ($diff as $v) { 62 | echo "\$lang['{$v}'] = '", str_replace("'", "\\'", $slave[$v]), "';\n"; 63 | } 64 | } 65 | else echo "None\n"; 66 | 67 | ?> 68 | -------------------------------------------------------------------------------- /lang/synch: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script will synchronize language file with the master 3 | # english translation using diff(1) utility. 4 | # It doesn't translate strings, only inserts english versions 5 | # to proper positions and deletes removed. And it doesn't 6 | # synchronize commented lines. 7 | # You need to have GNU ed and diff installed in $PATH. 8 | # 9 | # Usage: synch 10 | # 11 | # is the filename without the .php extension 12 | # 13 | # BTW, diff should create better ed scripts than previous 14 | # version of synch (that one with awk code). If it will not, 15 | # be frightened about patching Linux kernel sources ;-) 16 | 17 | if [ -z $1 ] ; then 18 | echo "You must tell me which language I should synchronize." 19 | echo -e "for example: \n\t$0 polish" 20 | exit 21 | fi 22 | 23 | if [ ! -f $1.php ] ; then 24 | echo "Sorry, I cannot find $1.php" 25 | exit 26 | fi 27 | 28 | echo "Making backup of $1.php" 29 | cp $1.php $1.php.old 30 | 31 | # Find variables names ( "$lang['strfoo']" part ) 32 | cat english.php | awk -F"=" '{print $1}' > english.tmp 33 | cat $1.php | awk -F"=" '{print $1}' > $1.tmp 34 | 35 | # diff variable names and create ed script 36 | diff --ignore-case --ignore-all-space --ignore-blank-lines \ 37 | --ignore-matching-lines="*" \ 38 | --ignore-matching-lines="[^:]//" \ 39 | --ed \ 40 | $1.tmp english.tmp > diff.ed 41 | 42 | # No more need for .tmp files 43 | rm *.tmp 44 | 45 | # Add english values and ed destination file 46 | cat diff.ed | awk ' 47 | function grep_n(what, where, n, ln) { 48 | # Returns line with searched text 49 | 50 | while ( (getline line < where ) > 0 ) { 51 | if (index(line, what)>0) { 52 | gsub("^\t","",what); 53 | split(line,a,"="); 54 | print what" = "a[2]; 55 | } 56 | } 57 | close(where); 58 | } 59 | 60 | BEGIN { FS="=" } 61 | 62 | /\$lang/{ grep_n($1, "english.php") ; 63 | next; } 64 | 65 | { print } 66 | END { print "w" }' \ 67 | | ed $1.php 68 | 69 | # Clean temporary files 70 | rm diff.ed 71 | 72 | -------------------------------------------------------------------------------- /lang/translations.php: -------------------------------------------------------------------------------- 1 | 'Afrikaans', 13 | 'arabic' => 'عربي', 14 | 'catalan' => 'Català', 15 | 'chinese-zh-CN' => '简体中文(UTF-8)', 16 | 'chinese-zh-TW' => '正體中文(UTF-8)', 17 | 'czech' => 'Česky', 18 | 'danish' => 'Danish', 19 | 'dutch' => 'Nederlands', 20 | 'english' => 'English', 21 | 'french' => 'Français', 22 | 'galician' => 'Galego', 23 | 'german' => 'Deutsch', 24 | 'greek' => 'Ελληνικά', 25 | 'hebrew' => 'Hebrew', 26 | 'hungarian' => 'Magyar', 27 | 'italian' => 'Italiano', 28 | 'japanese' => '日本語', 29 | 'lithuanian' => 'Lietuvių', 30 | 'mongol' => 'Mongolian', 31 | 'polish' => 'Polski', 32 | 'portuguese-br' => 'Português-Brasileiro', 33 | 'romanian' => 'Română', 34 | 'russian' => 'Русский', 35 | 'russian-utf8' => 'Русский (UTF-8)', 36 | 'slovak' => 'Slovensky', 37 | 'swedish' => 'Svenska', 38 | 'spanish' => 'Español', 39 | 'turkish' => 'Türkçe', 40 | 'ukrainian' => 'Українська' 41 | ); 42 | 43 | 44 | // ISO639 language code to language file mapping. 45 | // See http://www.w3.org/WAI/ER/IG/ert/iso639.htm for language codes 46 | 47 | // If it's available 'language-country', but not general 48 | // 'language' translation (eg. 'portuguese-br', but not 'portuguese') 49 | // specify both 'la' => 'language-country' and 'la-co' => 'language-country'. 50 | 51 | $availableLanguages = array( 52 | 'af' => 'afrikaans', 53 | 'ar' => 'arabic', 54 | 'ca' => 'catalan', 55 | 'zh-cn' => 'chinese-zh-CN', 56 | 'zh-tw' => 'chinese-zh-TW', 57 | 'cs' => 'czech', 58 | 'da' => 'danish', 59 | 'nl' => 'dutch', 60 | 'en' => 'english', 61 | 'fr' => 'french', 62 | 'gl' => 'galician', 63 | 'de' => 'german', 64 | 'el' => 'greek', 65 | 'he' => 'hebrew', 66 | 'hu' => 'hungarian', 67 | 'it' => 'italian', 68 | 'ja' => 'japanese', 69 | 'lt' => 'lithuanian', 70 | 'mn' => 'mongol', 71 | 'pl' => 'polish', 72 | 'pt' => 'portuguese-br', 73 | 'pt-br' => 'portuguese-br', 74 | 'ro' => 'romanian', 75 | 'ru' => 'russian', 76 | 'sk' => 'slovak', 77 | 'sv' => 'swedish', 78 | 'es' => 'spanish', 79 | 'tr' => 'turkish', 80 | 'uk' => 'ukrainian' 81 | ); 82 | ?> 83 | -------------------------------------------------------------------------------- /languages.php: -------------------------------------------------------------------------------- 1 | printTrail('database'); 23 | $misc->printTabs('database','languages'); 24 | $misc->printMsg($msg); 25 | 26 | $languages = $data->getLanguages(); 27 | 28 | $columns = array( 29 | 'language' => array( 30 | 'title' => $lang['strname'], 31 | 'field' => field('lanname'), 32 | ), 33 | 'trusted' => array( 34 | 'title' => $lang['strtrusted'], 35 | 'field' => field('lanpltrusted'), 36 | 'type' => 'yesno', 37 | ), 38 | 'function' => array( 39 | 'title' => $lang['strfunction'], 40 | 'field' => field('lanplcallf'), 41 | ), 42 | ); 43 | 44 | $actions = array(); 45 | 46 | $misc->printTable($languages, $columns, $actions, 'languages-languages', $lang['strnolanguages']); 47 | } 48 | 49 | /** 50 | * Generate XML for the browser tree. 51 | */ 52 | function doTree() { 53 | global $misc, $data; 54 | 55 | $languages = $data->getLanguages(); 56 | 57 | $attrs = array( 58 | 'text' => field('lanname'), 59 | 'icon' => 'Language' 60 | ); 61 | 62 | $misc->printTree($languages, $attrs, 'languages'); 63 | exit; 64 | } 65 | 66 | if ($action == 'tree') doTree(); 67 | 68 | $misc->printHeader($lang['strlanguages']); 69 | $misc->printBody(); 70 | 71 | switch ($action) { 72 | default: 73 | doDefault(); 74 | break; 75 | } 76 | 77 | $misc->printFooter(); 78 | 79 | ?> 80 | -------------------------------------------------------------------------------- /libraries/adodb/adodb-iterator.inc.php: -------------------------------------------------------------------------------- 1 | Execute("select * from adoxyz"); 15 | foreach($rs as $k => $v) { 16 | echo $k; print_r($v); echo "
"; 17 | } 18 | 19 | 20 | Iterator code based on http://cvs.php.net/cvs.php/php-src/ext/spl/examples/cachingiterator.inc?login=2 21 | 22 | 23 | Moved to adodb.inc.php to improve performance. 24 | */ 25 | 26 | 27 | 28 | 29 | 30 | ?> -------------------------------------------------------------------------------- /libraries/adodb/adodb-lib.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/adodb-lib.inc.php -------------------------------------------------------------------------------- /libraries/adodb/adodb.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/adodb.inc.php -------------------------------------------------------------------------------- /libraries/adodb/drivers/adodb-postgres.inc.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libraries/adodb/drivers/adodb-postgres8.inc.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-ar.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-ar.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-bg.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-bg.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-bgutf8.inc.php: -------------------------------------------------------------------------------- 1 |  5 | */ 6 | 7 | $ADODB_LANG_ARRAY = array ( 8 | 'LANG' => 'bgutf8', 9 | DB_ERROR => 'неизвестна грешка', 10 | DB_ERROR_ALREADY_EXISTS => 'вече съществува', 11 | DB_ERROR_CANNOT_CREATE => 'не може да бъде създадена', 12 | DB_ERROR_CANNOT_DELETE => 'не може да бъде изтрита', 13 | DB_ERROR_CANNOT_DROP => 'не може да бъде унищожена', 14 | DB_ERROR_CONSTRAINT => 'нарушено условие', 15 | DB_ERROR_DIVZERO => 'деление на нула', 16 | DB_ERROR_INVALID => 'неправилно', 17 | DB_ERROR_INVALID_DATE => 'некоректна дата или час', 18 | DB_ERROR_INVALID_NUMBER => 'невалиден номер', 19 | DB_ERROR_MISMATCH => 'погрешна употреба', 20 | DB_ERROR_NODBSELECTED => 'не е избрана база данни', 21 | DB_ERROR_NOSUCHFIELD => 'несъществуващо поле', 22 | DB_ERROR_NOSUCHTABLE => 'несъществуваща таблица', 23 | DB_ERROR_NOT_CAPABLE => 'DB backend not capable', 24 | DB_ERROR_NOT_FOUND => 'не е намерена', 25 | DB_ERROR_NOT_LOCKED => 'не е заключена', 26 | DB_ERROR_SYNTAX => 'грешен синтаксис', 27 | DB_ERROR_UNSUPPORTED => 'не се поддържа', 28 | DB_ERROR_VALUE_COUNT_ON_ROW => 'некоректен брой колони в реда', 29 | DB_ERROR_INVALID_DSN => 'невалиден DSN', 30 | DB_ERROR_CONNECT_FAILED => 'връзката не може да бъде осъществена', 31 | 0 => 'няма грешки', // DB_OK 32 | DB_ERROR_NEED_MORE_DATA => 'предоставените данни са недостатъчни', 33 | DB_ERROR_EXTENSION_NOT_FOUND=> 'разширението не е намерено', 34 | DB_ERROR_NOSUCHDB => 'несъществуваща база данни', 35 | DB_ERROR_ACCESS_VIOLATION => 'нямате достатъчно права' 36 | ); 37 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-ca.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-ca.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-cn.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-cn.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-cz.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-cz.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-da.inc.php: -------------------------------------------------------------------------------- 1 | 'da', 5 | DB_ERROR => 'ukendt fejl', 6 | DB_ERROR_ALREADY_EXISTS => 'eksisterer allerede', 7 | DB_ERROR_CANNOT_CREATE => 'kan ikke oprette', 8 | DB_ERROR_CANNOT_DELETE => 'kan ikke slette', 9 | DB_ERROR_CANNOT_DROP => 'kan ikke droppe', 10 | DB_ERROR_CONSTRAINT => 'begrænsning krænket', 11 | DB_ERROR_DIVZERO => 'division med nul', 12 | DB_ERROR_INVALID => 'ugyldig', 13 | DB_ERROR_INVALID_DATE => 'ugyldig dato eller klokkeslet', 14 | DB_ERROR_INVALID_NUMBER => 'ugyldigt tal', 15 | DB_ERROR_MISMATCH => 'mismatch', 16 | DB_ERROR_NODBSELECTED => 'ingen database valgt', 17 | DB_ERROR_NOSUCHFIELD => 'felt findes ikke', 18 | DB_ERROR_NOSUCHTABLE => 'tabel findes ikke', 19 | DB_ERROR_NOT_CAPABLE => 'DB backend opgav', 20 | DB_ERROR_NOT_FOUND => 'ikke fundet', 21 | DB_ERROR_NOT_LOCKED => 'ikke låst', 22 | DB_ERROR_SYNTAX => 'syntaksfejl', 23 | DB_ERROR_UNSUPPORTED => 'ikke understøttet', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'resulterende antal felter svarer ikke til forespørgslens antal felter', 25 | DB_ERROR_INVALID_DSN => 'ugyldig DSN', 26 | DB_ERROR_CONNECT_FAILED => 'tilslutning mislykkedes', 27 | 0 => 'ingen fejl', // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'utilstrækkelige data angivet', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'udvidelse ikke fundet', 30 | DB_ERROR_NOSUCHDB => 'database ikke fundet', 31 | DB_ERROR_ACCESS_VIOLATION => 'utilstrækkelige rettigheder' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-de.inc.php: -------------------------------------------------------------------------------- 1 | 3 | $ADODB_LANG_ARRAY = array ( 4 | 'LANG' => 'de', 5 | DB_ERROR => 'Unbekannter Fehler', 6 | DB_ERROR_ALREADY_EXISTS => 'existiert bereits', 7 | DB_ERROR_CANNOT_CREATE => 'kann nicht erstellen', 8 | DB_ERROR_CANNOT_DELETE => 'kann nicht löschen', 9 | DB_ERROR_CANNOT_DROP => 'Tabelle oder Index konnte nicht gelöscht werden', 10 | DB_ERROR_CONSTRAINT => 'Constraint Verletzung', 11 | DB_ERROR_DIVZERO => 'Division durch Null', 12 | DB_ERROR_INVALID => 'ung¨ltig', 13 | DB_ERROR_INVALID_DATE => 'ung¨ltiges Datum oder Zeit', 14 | DB_ERROR_INVALID_NUMBER => 'ung¨ltige Zahl', 15 | DB_ERROR_MISMATCH => 'Unverträglichkeit', 16 | DB_ERROR_NODBSELECTED => 'keine Dantebank ausgewählt', 17 | DB_ERROR_NOSUCHFIELD => 'Feld nicht vorhanden', 18 | DB_ERROR_NOSUCHTABLE => 'Tabelle nicht vorhanden', 19 | DB_ERROR_NOT_CAPABLE => 'Funktion nicht installiert', 20 | DB_ERROR_NOT_FOUND => 'nicht gefunden', 21 | DB_ERROR_NOT_LOCKED => 'nicht gesperrt', 22 | DB_ERROR_SYNTAX => 'Syntaxfehler', 23 | DB_ERROR_UNSUPPORTED => 'nicht Unterst¨tzt', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'Anzahl der zur¨ckgelieferten Felder entspricht nicht der Anzahl der Felder in der Abfrage', 25 | DB_ERROR_INVALID_DSN => 'ung¨ltiger DSN', 26 | DB_ERROR_CONNECT_FAILED => 'Verbindung konnte nicht hergestellt werden', 27 | 0 => 'kein Fehler', // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'Nicht gen¨gend Daten geliefert', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'erweiterung nicht gefunden', 30 | DB_ERROR_NOSUCHDB => 'keine Datenbank', 31 | DB_ERROR_ACCESS_VIOLATION => 'ungen¨gende Rechte' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-en.inc.php: -------------------------------------------------------------------------------- 1 | 'en', 5 | DB_ERROR => 'unknown error', 6 | DB_ERROR_ALREADY_EXISTS => 'already exists', 7 | DB_ERROR_CANNOT_CREATE => 'can not create', 8 | DB_ERROR_CANNOT_DELETE => 'can not delete', 9 | DB_ERROR_CANNOT_DROP => 'can not drop', 10 | DB_ERROR_CONSTRAINT => 'constraint violation', 11 | DB_ERROR_DIVZERO => 'division by zero', 12 | DB_ERROR_INVALID => 'invalid', 13 | DB_ERROR_INVALID_DATE => 'invalid date or time', 14 | DB_ERROR_INVALID_NUMBER => 'invalid number', 15 | DB_ERROR_MISMATCH => 'mismatch', 16 | DB_ERROR_NODBSELECTED => 'no database selected', 17 | DB_ERROR_NOSUCHFIELD => 'no such field', 18 | DB_ERROR_NOSUCHTABLE => 'no such table', 19 | DB_ERROR_NOT_CAPABLE => 'DB backend not capable', 20 | DB_ERROR_NOT_FOUND => 'not found', 21 | DB_ERROR_NOT_LOCKED => 'not locked', 22 | DB_ERROR_SYNTAX => 'syntax error', 23 | DB_ERROR_UNSUPPORTED => 'not supported', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'value count on row', 25 | DB_ERROR_INVALID_DSN => 'invalid DSN', 26 | DB_ERROR_CONNECT_FAILED => 'connect failed', 27 | 0 => 'no error', // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'insufficient data supplied', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extension not found', 30 | DB_ERROR_NOSUCHDB => 'no such database', 31 | DB_ERROR_ACCESS_VIOLATION => 'insufficient permissions' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-es.inc.php: -------------------------------------------------------------------------------- 1 | 3 | $ADODB_LANG_ARRAY = array ( 4 | 'LANG' => 'es', 5 | DB_ERROR => 'error desconocido', 6 | DB_ERROR_ALREADY_EXISTS => 'ya existe', 7 | DB_ERROR_CANNOT_CREATE => 'imposible crear', 8 | DB_ERROR_CANNOT_DELETE => 'imposible borrar', 9 | DB_ERROR_CANNOT_DROP => 'imposible hacer drop', 10 | DB_ERROR_CONSTRAINT => 'violacion de constraint', 11 | DB_ERROR_DIVZERO => 'division por cero', 12 | DB_ERROR_INVALID => 'invalido', 13 | DB_ERROR_INVALID_DATE => 'fecha u hora invalida', 14 | DB_ERROR_INVALID_NUMBER => 'numero invalido', 15 | DB_ERROR_MISMATCH => 'error', 16 | DB_ERROR_NODBSELECTED => 'no hay base de datos seleccionada', 17 | DB_ERROR_NOSUCHFIELD => 'campo invalido', 18 | DB_ERROR_NOSUCHTABLE => 'tabla no existe', 19 | DB_ERROR_NOT_CAPABLE => 'capacidad invalida para esta DB', 20 | DB_ERROR_NOT_FOUND => 'no encontrado', 21 | DB_ERROR_NOT_LOCKED => 'no bloqueado', 22 | DB_ERROR_SYNTAX => 'error de sintaxis', 23 | DB_ERROR_UNSUPPORTED => 'no soportado', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'la cantidad de columnas no corresponden a la cantidad de valores', 25 | DB_ERROR_INVALID_DSN => 'DSN invalido', 26 | DB_ERROR_CONNECT_FAILED => 'fallo la conexion', 27 | 0 => 'sin error', // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'insuficientes datos', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extension no encontrada', 30 | DB_ERROR_NOSUCHDB => 'base de datos no encontrada', 31 | DB_ERROR_ACCESS_VIOLATION => 'permisos insuficientes' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-esperanto.inc.php: -------------------------------------------------------------------------------- 1 | 'eo', 7 | DB_ERROR => 'nekonata eraro', 8 | DB_ERROR_ALREADY_EXISTS => 'jam ekzistas', 9 | DB_ERROR_CANNOT_CREATE => 'maleblas krei', 10 | DB_ERROR_CANNOT_DELETE => 'maleblas elimini', 11 | DB_ERROR_CANNOT_DROP => 'maleblas elimini (drop)', 12 | DB_ERROR_CONSTRAINT => 'rompo de kondicxoj de provo', 13 | DB_ERROR_DIVZERO => 'divido per 0 (nul)', 14 | DB_ERROR_INVALID => 'malregule', 15 | DB_ERROR_INVALID_DATE => 'malregula dato kaj tempo', 16 | DB_ERROR_INVALID_NUMBER => 'malregula nombro', 17 | DB_ERROR_MISMATCH => 'eraro', 18 | DB_ERROR_NODBSELECTED => 'datumbazo ne elektita', 19 | DB_ERROR_NOSUCHFIELD => 'ne ekzistas kampo', 20 | DB_ERROR_NOSUCHTABLE => 'ne ekzistas tabelo', 21 | DB_ERROR_NOT_CAPABLE => 'DBMS ne povas', 22 | DB_ERROR_NOT_FOUND => 'ne trovita', 23 | DB_ERROR_NOT_LOCKED => 'ne blokita', 24 | DB_ERROR_SYNTAX => 'sintaksa eraro', 25 | DB_ERROR_UNSUPPORTED => 'ne apogata', 26 | DB_ERROR_VALUE_COUNT_ON_ROW => 'nombrilo de valoroj en linio', 27 | DB_ERROR_INVALID_DSN => 'malregula DSN-o', 28 | DB_ERROR_CONNECT_FAILED => 'konekto malsukcesa', 29 | 0 => 'cxio bone', // DB_OK 30 | DB_ERROR_NEED_MORE_DATA => 'ne suficxe da datumo', 31 | DB_ERROR_EXTENSION_NOT_FOUND=> 'etendo ne trovita', 32 | DB_ERROR_NOSUCHDB => 'datumbazo ne ekzistas', 33 | DB_ERROR_ACCESS_VIOLATION => 'ne suficxe da rajto por atingo' 34 | ); 35 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-fa.inc.php: -------------------------------------------------------------------------------- 1 | */ 4 | 5 | $ADODB_LANG_ARRAY = array ( 6 | 'LANG' => 'fa', 7 | DB_ERROR => 'خطای ناشناخته', 8 | DB_ERROR_ALREADY_EXISTS => 'وجود دارد', 9 | DB_ERROR_CANNOT_CREATE => 'امکان create وجود ندارد', 10 | DB_ERROR_CANNOT_DELETE => 'امکان حذف وجود ندارد', 11 | DB_ERROR_CANNOT_DROP => 'امکان drop وجود ندارد', 12 | DB_ERROR_CONSTRAINT => 'نقض شرط', 13 | DB_ERROR_DIVZERO => 'تقسیم بر صفر', 14 | DB_ERROR_INVALID => 'نامعتبر', 15 | DB_ERROR_INVALID_DATE => 'زمان یا تاریخ نامعتبر', 16 | DB_ERROR_INVALID_NUMBER => 'عدد نامعتبر', 17 | DB_ERROR_MISMATCH => 'عدم مطابقت', 18 | DB_ERROR_NODBSELECTED => 'بانک اطلاعاتی انتخاب نشده است', 19 | DB_ERROR_NOSUCHFIELD => 'چنین ستونی وجود ندارد', 20 | DB_ERROR_NOSUCHTABLE => 'چنین جدولی وجود ندارد', 21 | DB_ERROR_NOT_CAPABLE => 'backend بانک اطلاعاتی قادر نیست', 22 | DB_ERROR_NOT_FOUND => 'پیدا نشد', 23 | DB_ERROR_NOT_LOCKED => 'قفل نشده', 24 | DB_ERROR_SYNTAX => 'خطای دستوری', 25 | DB_ERROR_UNSUPPORTED => 'پشتیبانی نمی شود', 26 | DB_ERROR_VALUE_COUNT_ON_ROW => 'شمارش مقادیر روی ردیف', 27 | DB_ERROR_INVALID_DSN => 'DSN نامعتبر', 28 | DB_ERROR_CONNECT_FAILED => 'ارتباط برقرار نشد', 29 | 0 => 'بدون خطا', // DB_OK 30 | DB_ERROR_NEED_MORE_DATA => 'داده ناکافی است', 31 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extension پیدا نشد', 32 | DB_ERROR_NOSUCHDB => 'چنین بانک اطلاعاتی وجود ندارد', 33 | DB_ERROR_ACCESS_VIOLATION => 'حق دسترسی ناکافی' 34 | ); 35 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-fr.inc.php: -------------------------------------------------------------------------------- 1 | 'fr', 5 | DB_ERROR => 'erreur inconnue', 6 | DB_ERROR_ALREADY_EXISTS => 'existe déjà', 7 | DB_ERROR_CANNOT_CREATE => 'crétion impossible', 8 | DB_ERROR_CANNOT_DELETE => 'effacement impossible', 9 | DB_ERROR_CANNOT_DROP => 'suppression impossible', 10 | DB_ERROR_CONSTRAINT => 'violation de contrainte', 11 | DB_ERROR_DIVZERO => 'division par zéro', 12 | DB_ERROR_INVALID => 'invalide', 13 | DB_ERROR_INVALID_DATE => 'date ou heure invalide', 14 | DB_ERROR_INVALID_NUMBER => 'nombre invalide', 15 | DB_ERROR_MISMATCH => 'erreur de concordance', 16 | DB_ERROR_NODBSELECTED => 'pas de base de donnéessélectionnée', 17 | DB_ERROR_NOSUCHFIELD => 'nom de colonne invalide', 18 | DB_ERROR_NOSUCHTABLE => 'table ou vue inexistante', 19 | DB_ERROR_NOT_CAPABLE => 'fonction optionnelle non installée', 20 | DB_ERROR_NOT_FOUND => 'pas trouvé', 21 | DB_ERROR_NOT_LOCKED => 'non verrouillé', 22 | DB_ERROR_SYNTAX => 'erreur de syntaxe', 23 | DB_ERROR_UNSUPPORTED => 'non supporté', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'valeur insérée trop grande pour colonne', 25 | DB_ERROR_INVALID_DSN => 'DSN invalide', 26 | DB_ERROR_CONNECT_FAILED => 'échec à la connexion', 27 | 0 => "pas d'erreur", // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'données fournies insuffisantes', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extension non trouvée', 30 | DB_ERROR_NOSUCHDB => 'base de données inconnue', 31 | DB_ERROR_ACCESS_VIOLATION => 'droits insuffisants' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-hu.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-hu.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-it.inc.php: -------------------------------------------------------------------------------- 1 | 'it', 6 | DB_ERROR => 'errore sconosciuto', 7 | DB_ERROR_ALREADY_EXISTS => 'esiste già', 8 | DB_ERROR_CANNOT_CREATE => 'non posso creare', 9 | DB_ERROR_CANNOT_DELETE => 'non posso cancellare', 10 | DB_ERROR_CANNOT_DROP => 'non posso eliminare', 11 | DB_ERROR_CONSTRAINT => 'violazione constraint', 12 | DB_ERROR_DIVZERO => 'divisione per zero', 13 | DB_ERROR_INVALID => 'non valido', 14 | DB_ERROR_INVALID_DATE => 'data od ora non valida', 15 | DB_ERROR_INVALID_NUMBER => 'numero non valido', 16 | DB_ERROR_MISMATCH => 'diversi', 17 | DB_ERROR_NODBSELECTED => 'nessun database selezionato', 18 | DB_ERROR_NOSUCHFIELD => 'nessun campo trovato', 19 | DB_ERROR_NOSUCHTABLE => 'nessuna tabella trovata', 20 | DB_ERROR_NOT_CAPABLE => 'DB backend non abilitato', 21 | DB_ERROR_NOT_FOUND => 'non trovato', 22 | DB_ERROR_NOT_LOCKED => 'non bloccato', 23 | DB_ERROR_SYNTAX => 'errore di sintassi', 24 | DB_ERROR_UNSUPPORTED => 'non supportato', 25 | DB_ERROR_VALUE_COUNT_ON_ROW => 'valore inserito troppo grande per una colonna', 26 | DB_ERROR_INVALID_DSN => 'DSN non valido', 27 | DB_ERROR_CONNECT_FAILED => 'connessione fallita', 28 | 0 => 'nessun errore', // DB_OK 29 | DB_ERROR_NEED_MORE_DATA => 'dati inseriti insufficienti', 30 | DB_ERROR_EXTENSION_NOT_FOUND=> 'estensione non trovata', 31 | DB_ERROR_NOSUCHDB => 'database non trovato', 32 | DB_ERROR_ACCESS_VIOLATION => 'permessi insufficienti' 33 | ); 34 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-nl.inc.php: -------------------------------------------------------------------------------- 1 | 'nl', 5 | DB_ERROR => 'onbekende fout', 6 | DB_ERROR_ALREADY_EXISTS => 'bestaat al', 7 | DB_ERROR_CANNOT_CREATE => 'kan niet aanmaken', 8 | DB_ERROR_CANNOT_DELETE => 'kan niet wissen', 9 | DB_ERROR_CANNOT_DROP => 'kan niet verwijderen', 10 | DB_ERROR_CONSTRAINT => 'constraint overtreding', 11 | DB_ERROR_DIVZERO => 'poging tot delen door nul', 12 | DB_ERROR_INVALID => 'ongeldig', 13 | DB_ERROR_INVALID_DATE => 'ongeldige datum of tijd', 14 | DB_ERROR_INVALID_NUMBER => 'ongeldig nummer', 15 | DB_ERROR_MISMATCH => 'is incorrect', 16 | DB_ERROR_NODBSELECTED => 'geen database geselecteerd', 17 | DB_ERROR_NOSUCHFIELD => 'onbekend veld', 18 | DB_ERROR_NOSUCHTABLE => 'onbekende tabel', 19 | DB_ERROR_NOT_CAPABLE => 'database systeem is niet tot uitvoer in staat', 20 | DB_ERROR_NOT_FOUND => 'niet gevonden', 21 | DB_ERROR_NOT_LOCKED => 'niet vergrendeld', 22 | DB_ERROR_SYNTAX => 'syntaxis fout', 23 | DB_ERROR_UNSUPPORTED => 'niet ondersteund', 24 | DB_ERROR_VALUE_COUNT_ON_ROW => 'waarde telling op rij', 25 | DB_ERROR_INVALID_DSN => 'ongeldige DSN', 26 | DB_ERROR_CONNECT_FAILED => 'connectie mislukt', 27 | 0 => 'geen fout', // DB_OK 28 | DB_ERROR_NEED_MORE_DATA => 'onvoldoende data gegeven', 29 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extensie niet gevonden', 30 | DB_ERROR_NOSUCHDB => 'onbekende database', 31 | DB_ERROR_ACCESS_VIOLATION => 'onvoldoende rechten' 32 | ); 33 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-pl.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-pl.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-pt-br.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-pt-br.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-ro.inc.php: -------------------------------------------------------------------------------- 1 | */ 4 | 5 | $ADODB_LANG_ARRAY = array ( 6 | 'LANG' => 'ro', 7 | DB_ERROR => 'eroare necunoscuta', 8 | DB_ERROR_ALREADY_EXISTS => 'deja exista', 9 | DB_ERROR_CANNOT_CREATE => 'nu se poate creea', 10 | DB_ERROR_CANNOT_DELETE => 'nu se poate sterge', 11 | DB_ERROR_CANNOT_DROP => 'nu se poate executa drop', 12 | DB_ERROR_CONSTRAINT => 'violare de constrain', 13 | DB_ERROR_DIVZERO => 'se divide la zero', 14 | DB_ERROR_INVALID => 'invalid', 15 | DB_ERROR_INVALID_DATE => 'data sau timp invalide', 16 | DB_ERROR_INVALID_NUMBER => 'numar invalid', 17 | DB_ERROR_MISMATCH => 'nepotrivire-mismatch', 18 | DB_ERROR_NODBSELECTED => 'nu exista baza de date selectata', 19 | DB_ERROR_NOSUCHFIELD => 'camp inexistent', 20 | DB_ERROR_NOSUCHTABLE => 'tabela inexistenta', 21 | DB_ERROR_NOT_CAPABLE => 'functie optionala neinstalata', 22 | DB_ERROR_NOT_FOUND => 'negasit', 23 | DB_ERROR_NOT_LOCKED => 'neblocat', 24 | DB_ERROR_SYNTAX => 'eroare de sintaxa', 25 | DB_ERROR_UNSUPPORTED => 'nu e suportat', 26 | DB_ERROR_VALUE_COUNT_ON_ROW => 'valoare prea mare pentru coloana', 27 | DB_ERROR_INVALID_DSN => 'DSN invalid', 28 | DB_ERROR_CONNECT_FAILED => 'conectare esuata', 29 | 0 => 'fara eroare', // DB_OK 30 | DB_ERROR_NEED_MORE_DATA => 'data introduse insuficiente', 31 | DB_ERROR_EXTENSION_NOT_FOUND=> 'extensie negasita', 32 | DB_ERROR_NOSUCHDB => 'nu exista baza de date', 33 | DB_ERROR_ACCESS_VIOLATION => 'permisiuni insuficiente' 34 | ); 35 | ?> -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-ru1251.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-ru1251.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-sv.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-sv.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb-uk1251.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb-uk1251.inc.php -------------------------------------------------------------------------------- /libraries/adodb/lang/adodb_th.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/libraries/adodb/lang/adodb_th.inc.php -------------------------------------------------------------------------------- /libraries/adodb/readme.txt: -------------------------------------------------------------------------------- 1 | >> ADODB Library for PHP4 2 | 3 | (c) 2000-2004 John Lim (jlim@natsoft.com.my) 4 | 5 | Released under both BSD and GNU Lesser GPL library license. 6 | This means you can use it in proprietary products. 7 | 8 | 9 | >> Introduction 10 | 11 | PHP's database access functions are not standardised. This creates a 12 | need for a database class library to hide the differences between the 13 | different databases (encapsulate the differences) so we can easily 14 | switch databases. 15 | 16 | We currently support MySQL, Interbase, Sybase, PostgreSQL, Oracle, 17 | Microsoft SQL server, Foxpro ODBC, Access ODBC, Informix, DB2, 18 | Sybase SQL Anywhere, generic ODBC and Microsoft's ADO. 19 | 20 | We hope more people will contribute drivers to support other databases. 21 | 22 | 23 | >> Documentation and Examples 24 | 25 | Refer to the adodb/docs directory for full documentation and examples. 26 | There is also a tutorial tute.htm that contrasts ADODB code with 27 | mysql code. 28 | 29 | 30 | >>> Files 31 | Adodb.inc.php is the main file. You need to include only this file. 32 | 33 | Adodb-*.inc.php are the database specific driver code. 34 | 35 | Test.php contains a list of test commands to exercise the class library. 36 | 37 | Adodb-session.php is the PHP4 session handling code. 38 | 39 | Testdatabases.inc.php contains the list of databases to apply the tests on. 40 | 41 | Benchmark.php is a simple benchmark to test the throughput of a simple SELECT 42 | statement for databases described in testdatabases.inc.php. The benchmark 43 | tables are created in test.php. 44 | 45 | readme.htm is the main documentation. 46 | 47 | tute.htm is the tutorial. 48 | 49 | 50 | >> More Info 51 | 52 | For more information, including installation see readme.htm 53 | or visit 54 | http://adodb.sourceforge.net/ 55 | 56 | 57 | >> Feature Requests and Bug Reports 58 | 59 | Email to jlim@natsoft.com.my 60 | 61 | 62 | -------------------------------------------------------------------------------- /libraries/adodb/toexport.inc.php: -------------------------------------------------------------------------------- 1 | FieldTypesArray(); 75 | $i = 0; 76 | foreach($fieldTypes as $o) { 77 | $v = ($o) ? $o->name : 'Field'.($i++); 78 | if ($escquote) $v = str_replace($quote,$escquotequote,$v); 79 | $v = strip_tags(str_replace("\n", $replaceNewLine, str_replace("\r\n",$replaceNewLine,str_replace($sep,$sepreplace,$v)))); 80 | $elements[] = $v; 81 | 82 | } 83 | $s .= implode($sep, $elements).$NEWLINE; 84 | } 85 | $hasNumIndex = isset($rs->fields[0]); 86 | 87 | $line = 0; 88 | $max = $rs->FieldCount(); 89 | 90 | while (!$rs->EOF) { 91 | $elements = array(); 92 | $i = 0; 93 | 94 | if ($hasNumIndex) { 95 | for ($j=0; $j < $max; $j++) { 96 | $v = $rs->fields[$j]; 97 | if (!is_object($v)) $v = trim($v); 98 | else $v = 'Object'; 99 | if ($escquote) $v = str_replace($quote,$escquotequote,$v); 100 | $v = strip_tags(str_replace("\n", $replaceNewLine, str_replace("\r\n",$replaceNewLine,str_replace($sep,$sepreplace,$v)))); 101 | 102 | if (strpos($v,$sep) !== false || strpos($v,$quote) !== false) $elements[] = "$quote$v$quote"; 103 | else $elements[] = $v; 104 | } 105 | } else { // ASSOCIATIVE ARRAY 106 | foreach($rs->fields as $v) { 107 | if ($escquote) $v = str_replace($quote,$escquotequote,trim($v)); 108 | $v = strip_tags(str_replace("\n", $replaceNewLine, str_replace("\r\n",$replaceNewLine,str_replace($sep,$sepreplace,$v)))); 109 | 110 | if (strpos($v,$sep) !== false || strpos($v,$quote) !== false) $elements[] = "$quote$v$quote"; 111 | else $elements[] = $v; 112 | } 113 | } 114 | $s .= implode($sep, $elements).$NEWLINE; 115 | $rs->MoveNext(); 116 | $line += 1; 117 | if ($fp && ($line % $BUFLINES) == 0) { 118 | if ($fp === true) echo $s; 119 | else fwrite($fp,$s); 120 | $s = ''; 121 | } 122 | } 123 | 124 | if ($fp) { 125 | if ($fp === true) echo $s; 126 | else fwrite($fp,$s); 127 | $s = ''; 128 | } 129 | 130 | return $s; 131 | } 132 | ?> -------------------------------------------------------------------------------- /libraries/errorhandler.inc.php: -------------------------------------------------------------------------------- 1 | {$lang['strsqlerror']}
" . $misc->printVal($errmsg,'errormsg') . "

33 |

{$lang['strinstatement']}
" . $misc->printVal($sql) . "

34 | "; 35 | echo "
{$s}

\n"; 36 | 37 | break; 38 | 39 | case 'PCONNECT': 40 | case 'CONNECT': 41 | $_failed = true; 42 | global $_reload_browser; 43 | $_reload_browser = true; 44 | unset($_SESSION['sharedUsername']); 45 | unset($_SESSION['sharedPassword']); 46 | unset($_SESSION['webdbLogin'][$_REQUEST['server']]); 47 | $msg = $lang['strloginfailed']; 48 | include('./login.php'); 49 | exit; 50 | break; 51 | default: 52 | $s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)\n"; 53 | echo "
{$s}

\n"; 54 | break; 55 | } 56 | /* 57 | * Log connection error somewhere 58 | * 0 message is sent to PHP's system logger, using the Operating System's system 59 | * logging mechanism or a file, depending on what the error_log configuration 60 | * directive is set to. 61 | * 1 message is sent by email to the address in the destination parameter. 62 | * This is the only message type where the fourth parameter, extra_headers is used. 63 | * This message type uses the same internal function as mail() does. 64 | * 2 message is sent through the PHP debugging connection. 65 | * This option is only available if remote debugging has been enabled. 66 | * In this case, the destination parameter specifies the host name or IP address 67 | * and optionally, port number, of the socket receiving the debug information. 68 | * 3 message is appended to the file destination 69 | */ 70 | if (defined('ADODB_ERROR_LOG_TYPE')) { 71 | $t = date('Y-m-d H:i:s'); 72 | if (defined('ADODB_ERROR_LOG_DEST')) 73 | error_log("($t) $s", ADODB_ERROR_LOG_TYPE, ADODB_ERROR_LOG_DEST); 74 | else 75 | error_log("($t) $s", ADODB_ERROR_LOG_TYPE); 76 | } 77 | } 78 | ?> 79 | -------------------------------------------------------------------------------- /links.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Function for updating browser frame and topbar frame so that sqledit window 3 | * pops up with properly selected database. 4 | * 5 | * $Id: links.js,v 1.4 2004/07/13 15:24:41 jollytoad Exp $ 6 | */ 7 | function updateLinks(getVars) { 8 | var topbarLink = 'topbar.php' + getVars; 9 | var browserLink = 'browser.php' + getVars; 10 | var detailLink = 'redirect.php' + getVars + 'section=database'; 11 | 12 | parent.frames.topbar.location = topbarLink; 13 | parent.frames.detail.location = detailLink; 14 | parent.frames.browser.location = browserLink; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /login.php: -------------------------------------------------------------------------------- 1 | printHeader($lang['strlogin']); 18 | $misc->printBody(); 19 | $misc->printTrail('root'); 20 | 21 | $server_info = $misc->getServerInfo($_REQUEST['server']); 22 | 23 | $misc->printTitle(sprintf($lang['strlogintitle'], $server_info['desc'])); 24 | 25 | if (isset($msg)) $misc->printMsg($msg); 26 | 27 | $md5_server = md5($_REQUEST['server']); 28 | ?> 29 | 30 |
31 | $val) { 36 | if (substr($key,0,5) == 'login') continue; 37 | echo "\n"; 38 | } 39 | ?> 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 1) : ?> 52 |

/>

53 | 54 |

55 |
56 | 57 | 66 | 67 | printFooter(); 70 | ?> 71 | -------------------------------------------------------------------------------- /logout.php: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /multiactionform.js: -------------------------------------------------------------------------------- 1 | function checkAll(bool) { 2 | 3 | var inputs = document.getElementById('multi_form').getElementsByTagName('input'); 4 | 5 | for (var i=0; iprintTrail('schema'); 23 | $misc->printTabs('schema','opclasses'); 24 | $misc->printMsg($msg); 25 | 26 | $opclasses = $data->getOpClasses(); 27 | 28 | $columns = array( 29 | 'accessmethod' => array( 30 | 'title' => $lang['straccessmethod'], 31 | 'field' => field('amname'), 32 | ), 33 | 'opclass' => array( 34 | 'title' => $lang['strname'], 35 | 'field' => field('opcname'), 36 | ), 37 | 'type' => array( 38 | 'title' => $lang['strtype'], 39 | 'field' => field('opcintype'), 40 | ), 41 | 'default' => array( 42 | 'title' => $lang['strdefault'], 43 | 'field' => field('opcdefault'), 44 | 'type' => 'yesno', 45 | ), 46 | 'comment' => array( 47 | 'title' => $lang['strcomment'], 48 | 'field' => field('opccomment'), 49 | ), 50 | ); 51 | 52 | $actions = array(); 53 | 54 | $misc->printTable($opclasses, $columns, $actions, 'opclasses-opclasses', $lang['strnoopclasses']); 55 | } 56 | 57 | /** 58 | * Generate XML for the browser tree. 59 | */ 60 | function doTree() { 61 | global $misc, $data; 62 | 63 | $opclasses = $data->getOpClasses(); 64 | 65 | // OpClass prototype: "op_class/access_method" 66 | $proto = concat(field('opcname'),'/',field('amname')); 67 | 68 | $attrs = array( 69 | 'text' => $proto, 70 | 'icon' => 'OperatorClass', 71 | 'toolTip'=> field('opccomment'), 72 | ); 73 | 74 | $misc->printTree($opclasses, $attrs, 'opclasses'); 75 | exit; 76 | } 77 | 78 | if ($action == 'tree') doTree(); 79 | 80 | $misc->printHeader($lang['stropclasses']); 81 | $misc->printBody(); 82 | 83 | switch ($action) { 84 | default: 85 | doDefault(); 86 | break; 87 | } 88 | 89 | $misc->printFooter(); 90 | 91 | ?> 92 | -------------------------------------------------------------------------------- /plugin.php: -------------------------------------------------------------------------------- 1 | do_action($_REQUEST['plugin'], $_REQUEST['action']); 5 | ?> 6 | -------------------------------------------------------------------------------- /plugins/GuiControl/plugin.php: -------------------------------------------------------------------------------- 1 | array('function1', 'function2'). 26 | * 27 | * Example: 28 | * $hooks = array( 29 | * 'toplinks' => array('add_plugin_toplinks'), 30 | * 'tabs' => array('add_tab_entry'), 31 | * 'action_buttons' => array('add_more_an_entry') 32 | * ); 33 | * 34 | * @return $hooks 35 | */ 36 | function get_hooks() { 37 | $hooks = array( 38 | 'toplinks' => array('filer_toplinks'), 39 | 'tabs' => array('filter_tabs'), 40 | 'trail' => array('filter_trail'), 41 | 'navlinks' => array('filter_navlinks'), 42 | 'actionbuttons' => array('filter_actionbuttons'), 43 | 'tree' => array('filter_tree') 44 | ); 45 | return $hooks; 46 | } 47 | 48 | /** 49 | * This method returns the functions that will be used as actions. 50 | * To do include a function that will be used as action, just put in the $actions array the following code: 51 | * 52 | * $actions = array( 53 | * 'show_page', 54 | * 'show_error', 55 | * ); 56 | * 57 | * @return $actions 58 | */ 59 | function get_actions() { 60 | $actions = array( 61 | 'filer_toplinks', 62 | 'filter_tabs', 63 | 'filter_trail', 64 | 'filter_navlinks', 65 | 'filter_actionbuttons', 66 | 'filter_tree', 67 | ); 68 | return $actions; 69 | } 70 | 71 | function filer_toplinks(&$f_params) { 72 | if (!isset($this->conf['top_links'])) 73 | return; 74 | 75 | $top_links = &$f_params['toplinks']; 76 | 77 | foreach ($this->conf['top_links'] as $link => $enabled) 78 | if (isset ($top_links[$link]) 79 | && ($enabled === false) 80 | ) 81 | unset($top_links[$link]); 82 | 83 | return; 84 | } 85 | 86 | function filter_tabs(&$f_params) { 87 | $section = $f_params['section']; 88 | $tabs = &$f_params['tabs']; 89 | 90 | if (!isset($this->conf['tab_links'][$section])) 91 | return; 92 | 93 | foreach ($this->conf['tab_links'][$section] as $link => $enabled) 94 | if (isset ($tabs[$link]) 95 | && ($enabled === false) 96 | ) 97 | unset($tabs[$link]); 98 | return; 99 | } 100 | 101 | function filter_trail(&$f_params) { 102 | if (!isset($this->conf['trail_links'])) 103 | return; 104 | 105 | if ($this->conf['trail_links'] === false) 106 | $f_params['trail'] = array(); 107 | 108 | return; 109 | } 110 | 111 | function filter_navlinks(&$f_params) { 112 | $place = $f_params['place']; 113 | $navlinks = &$f_params['navlinks']; 114 | 115 | if (! isset($this->conf['navlinks'][$place])) 116 | return; 117 | 118 | foreach ($this->conf['navlinks'][$place] as $link => $enabled) 119 | if (isset ($navlinks[$link]) 120 | && ($enabled === false) 121 | ) 122 | unset($navlinks[$link]); 123 | return; 124 | } 125 | 126 | function filter_actionbuttons(&$f_params) { 127 | $place = $f_params['place']; 128 | $actions = &$f_params['actionbuttons']; 129 | 130 | if (! isset($this->conf['actionbuttons'][$place])) 131 | return; 132 | 133 | foreach ($this->conf['actionbuttons'][$place] as $link => $enabled) 134 | if (isset ($actions[$link]) 135 | && ($enabled === false) 136 | ) 137 | unset($actions[$link]); 138 | return; 139 | } 140 | 141 | function filter_tree() { 142 | return; 143 | } 144 | } 145 | ?> -------------------------------------------------------------------------------- /plugins/Report/INSTALL: -------------------------------------------------------------------------------- 1 | phpPgAdmin Report Plugin Installation Guide 2 | ------------------------------------------- 3 | 1. Report Plugin activation 4 | 5 | Open conf/config.inc.php and add the 'Report' value in the $conf['plugins'] array: 6 | 7 | $conf['plugins'] = array('Report'); 8 | 9 | 2. Set up the reports database. 10 | 11 | If you want to enable reports (which are a useful feature) then go to 12 | the 'sql' subdirectory and view the SQL script for your database. It 13 | will contain instructions on how to set up the reports database. 14 | -------------------------------------------------------------------------------- /plugins/Report/README: -------------------------------------------------------------------------------- 1 | About the phpPgAdmin Report Plugin 2 | ---------------------------------- 3 | 4 | The Report plugin is the old report feature of phpPgAdmins removed in 5 | version 5.1 and refactored as a plugin. 6 | 7 | It enables you to create and save ad-hoc SQL queries as reports which 8 | can be easily be executed from within phpPgAdmin. 9 | 10 | To save reports, this plugin requires the creation of a dedicated 11 | database containing a single table; see the INSTALL file and the 12 | sql/reports.sql file for details. 13 | 14 | Following installation, an icon for the Report plugin will appear 15 | on the main overview page for each connected server. This provides 16 | an overview of all reports saved for the entire server, and enables 17 | executionm, editing and deletion of reports, as well as creation of 18 | new reports from scratch. 19 | 20 | New reports can also be created while browsing table and view data, 21 | a "create report" link is provided at the bottom of each data page 22 | which pre-populates the report with the SQL used to generate the 23 | data. 24 | 25 | -------------------------------------------------------------------------------- /plugins/Report/classes/Reports.php: -------------------------------------------------------------------------------- 1 | conf = $conf; 21 | 22 | // Check to see if the reports database exists 23 | $rs = $data->getDatabase($this->conf['reports_db']); 24 | if ($rs->recordCount() != 1) $status = -1; 25 | else { 26 | // Create a new database access object. 27 | $this->driver = $misc->getDatabaseAccessor($this->conf['reports_db']); 28 | // Reports database should have been created in public schema 29 | $this->driver->setSchema($this->conf['reports_schema']); 30 | $status = 0; 31 | } 32 | } 33 | 34 | /** 35 | * Finds all reports 36 | * @return A recordset 37 | */ 38 | function getReports() { 39 | global $misc; 40 | // Filter for owned reports if necessary 41 | if ($this->conf['owned_reports_only']) { 42 | $server_info = $misc->getServerInfo(); 43 | $filter['created_by'] = $server_info['username']; 44 | $ops = array('created_by' => '='); 45 | } 46 | else $filter = $ops = array(); 47 | 48 | $sql = $this->driver->getSelectSQL($this->conf['reports_table'], 49 | array('report_id', 'report_name', 'db_name', 'date_created', 'created_by', 'descr', 'report_sql', 'paginate'), 50 | $filter, $ops, array('db_name' => 'asc', 'report_name' => 'asc')); 51 | 52 | return $this->driver->selectSet($sql); 53 | } 54 | 55 | /** 56 | * Finds a particular report 57 | * @param $report_id The ID of the report to find 58 | * @return A recordset 59 | */ 60 | function getReport($report_id) { 61 | $sql = $this->driver->getSelectSQL($this->conf['reports_table'], 62 | array('report_id', 'report_name', 'db_name', 'date_created', 'created_by', 'descr', 'report_sql', 'paginate'), 63 | array('report_id' => $report_id), array('report_id' => '='), array()); 64 | 65 | return $this->driver->selectSet($sql); 66 | } 67 | 68 | /** 69 | * Creates a report 70 | * @param $report_name The name of the report 71 | * @param $db_name The name of the database 72 | * @param $descr The comment on the report 73 | * @param $report_sql The SQL for the report 74 | * @param $paginate The report should be paginated 75 | * @return 0 success 76 | */ 77 | function createReport($report_name, $db_name, $descr, $report_sql, $paginate) { 78 | global $misc; 79 | $server_info = $misc->getServerInfo(); 80 | $temp = array( 81 | 'report_name' => $report_name, 82 | 'db_name' => $db_name, 83 | 'created_by' => $server_info['username'], 84 | 'report_sql' => $report_sql, 85 | 'paginate' => $paginate ? 'true' : 'false', 86 | ); 87 | if ($descr != '') $temp['descr'] = $descr; 88 | 89 | return $this->driver->insert($this->conf['reports_table'], $temp); 90 | } 91 | 92 | /** 93 | * Alters a report 94 | * @param $report_id The ID of the report 95 | * @param $report_name The name of the report 96 | * @param $db_name The name of the database 97 | * @param $descr The comment on the report 98 | * @param $report_sql The SQL for the report 99 | * @param $paginate The report should be paginated 100 | * @return 0 success 101 | */ 102 | function alterReport($report_id, $report_name, $db_name, $descr, $report_sql, $paginate) { 103 | global $misc; 104 | $server_info = $misc->getServerInfo(); 105 | $temp = array( 106 | 'report_name' => $report_name, 107 | 'db_name' => $db_name, 108 | 'created_by' => $server_info['username'], 109 | 'report_sql' => $report_sql, 110 | 'paginate' => $paginate ? 'true' : 'false', 111 | 'descr' => $descr 112 | ); 113 | 114 | return $this->driver->update($this->conf['reports_table'], $temp, 115 | array('report_id' => $report_id)); 116 | } 117 | 118 | /** 119 | * Drops a report 120 | * @param $report_id The ID of the report to drop 121 | * @return 0 success 122 | */ 123 | function dropReport($report_id) { 124 | return $this->driver->delete($this->conf['reports_table'], array('report_id' => $report_id)); 125 | } 126 | 127 | } 128 | ?> 129 | -------------------------------------------------------------------------------- /plugins/Report/conf/config.inc.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /plugins/Report/images/Report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/plugins/Report/images/Report.png -------------------------------------------------------------------------------- /plugins/Report/images/Reports.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xzilla/phppgadmin/80069491bd80ff3217c03b3c58c95e0d2da00fe9/plugins/Report/images/Reports.png -------------------------------------------------------------------------------- /plugins/Report/lang/afrikaans.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/arabic.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/catalan.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/chinese-sim.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /plugins/Report/lang/chinese-tr.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/chinese-utf8-zh_CN.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/chinese-utf8-zh_TW.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/czech.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/danish.php: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /plugins/Report/lang/dutch.php: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /plugins/Report/lang/english.php: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /plugins/Report/lang/french.php: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /plugins/Report/lang/galician.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/german.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/greek.php: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /plugins/Report/lang/hebrew.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/hungarian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/italian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/japanese.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/lithuanian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/mongol.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /plugins/Report/lang/polish.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/portuguese-br.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/portuguese-pt.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/romanian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/russian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/slovak.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/spanish.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/swedish.php: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /plugins/Report/lang/turkish.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/lang/ukrainian.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /plugins/Report/sql/reports-pgsql.sql: -------------------------------------------------------------------------------- 1 | -- SQL script to create reports database for PostgreSQL 2 | -- 3 | -- To run, type: psql template1 < reports-pgsql.sql 4 | -- 5 | -- $Id: reports-pgsql.sql,v 1.4 2007/04/16 11:02:36 mr-russ Exp $ 6 | 7 | CREATE DATABASE phppgadmin; 8 | 9 | \connect phppgadmin 10 | 11 | CREATE TABLE ppa_reports ( 12 | report_id SERIAL, 13 | report_name varchar(255) NOT NULL, 14 | db_name varchar(255) NOT NULL, 15 | date_created date DEFAULT NOW() NOT NULL, 16 | created_by varchar(255) NOT NULL, 17 | descr text, 18 | report_sql text NOT NULL, 19 | paginate boolean NOT NULL, 20 | PRIMARY KEY (report_id) 21 | ); 22 | 23 | -- Allow everyone to do everything with reports. This may 24 | -- or may not be what you want. 25 | GRANT SELECT,INSERT,UPDATE,DELETE ON ppa_reports TO PUBLIC; 26 | GRANT SELECT,UPDATE ON ppa_reports_report_id_seq TO PUBLIC; 27 | 28 | -------------------------------------------------------------------------------- /redirect.php: -------------------------------------------------------------------------------- 1 | getLastTabURL($subject); 10 | 11 | // Load query vars into superglobal arrays 12 | if (isset($url['urlvars'])) { 13 | $urlvars = array(); 14 | 15 | foreach($url['urlvars'] as $k => $urlvar) { 16 | $urlvars[$k] = value($urlvar, $_REQUEST); 17 | } 18 | 19 | /* parse_str function is affected by magic_quotes_gpc */ 20 | if (ini_get('magic_quotes_gpc')) { 21 | $misc->stripVar($urlvars); 22 | } 23 | 24 | $_REQUEST = array_merge($_REQUEST, $urlvars); 25 | $_GET = array_merge($_GET, $urlvars); 26 | } 27 | 28 | require $url['url']; 29 | ?> 30 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | # Prevent web robots from indexing your phpPgAdmin installation 2 | # See: http://www.searchengineworld.com/robots/robots_tutorial.htm 3 | # 4 | # $Id: robots.txt,v 1.1 2003/09/01 03:02:17 chriskl Exp $ 5 | 6 | User-agent: * 7 | Disallow: / 8 | 9 | -------------------------------------------------------------------------------- /tables.js: -------------------------------------------------------------------------------- 1 | var predefined_lengths = null; 2 | var sizesLength = false; 3 | 4 | function checkLengths(sValue,idx) { 5 | if(predefined_lengths) { 6 | if(sizesLength==false) { 7 | sizesLength = predefined_lengths.length; 8 | } 9 | for(var i=0;i * { margin-left: 20px } 14 | body.browser { 15 | background-color: #363330; 16 | font-size: 0.9em; 17 | border-right: 1px dashed #887f5c; 18 | color: #fff; 19 | } 20 | body.browser > * { margin: 0 } 21 | body.browser div.webfx-tree-row:hover { background: #524a42} 22 | h1 {font-size: 1.5em} 23 | h2 { 24 | color: #fff; 25 | font-size: 1em; 26 | font-weight: bold; 27 | border: 2px solid #363330; 28 | background-color: #363330; 29 | padding: 2px 1em; 30 | margin-top: 2em; 31 | margin-bottom: 2em; 32 | } 33 | h3 { 34 | color: #111; 35 | font-weight: bold; 36 | } 37 | table { 38 | border: 0; 39 | border-collapse: collapse; 40 | } 41 | td, th { 42 | padding: 1px 8px; 43 | } 44 | a { 45 | color: #2d547b; 46 | text-decoration: none; 47 | } 48 | a:hover { 49 | color: #cc0000; 50 | text-decoration: underline; 51 | } 52 | input[type=checkbox], input[type=password], input[type=text], input[type=radio] { 53 | background: #ded4b3; 54 | border: 1px solid #887f5c; 55 | } 56 | input[type=submit], input[type=reset], input[type=button], select { 57 | background: #c4ba95 url('../../images/themes/cappuccino/inputbckg.png') repeat-x top left; 58 | border: 1px solid #887f5c; 59 | } 60 | table.error { 61 | background-color: #dec9d0; 62 | border: 2px solid #de7c9c; 63 | margin: auto; 64 | } 65 | th.data { 66 | color: #fff; 67 | background-color: #363330; 68 | border: 1px dotted #887f5c; 69 | font-size: 0.9em; 70 | padding: 3px 7px; 71 | } 72 | th.required {text-decoration: underline} 73 | .topbar, .trail { 74 | color: #fff; 75 | background-color: #363330; 76 | margin: 0; 77 | padding: 0; 78 | text-align: left; 79 | } 80 | .topbar a, .trail a, body.browser a, th.data a { 81 | color: #a8aac2; 82 | } 83 | .topbar .platform, .topbar .host, .topbar .username { 84 | font-weight: bold; 85 | } 86 | .topbar, .trail, .tab { 87 | padding: 2px 1ex; 88 | } 89 | .trail td {padding: 2px} 90 | .crumb .icon {margin-right: 5px} 91 | table.tabs { 92 | width: 100%; 93 | border-collapse: collapse; 94 | margin: 20px 0 40px 0; 95 | } 96 | .tab { 97 | text-align: center; 98 | vertical-align: top; 99 | font-size: 0.8em; 100 | border: 1px solid #887f5c; 101 | background-color: #c8c0a2; 102 | padding: 2px 10px; 103 | white-space: nowrap; 104 | } 105 | .tab:hover {background-color: #b7af8d} 106 | .tabs .active { 107 | border-bottom: none; 108 | background-color: #ded9c9; 109 | } 110 | .tab .icon { 111 | display: block; 112 | } 113 | .active a {font-weight: bold} 114 | a:hover {text-decoration: underline} 115 | ul.toplink, ul.navlink { 116 | list-style: none; 117 | margin:0;padding:0; 118 | } 119 | ul.navlink{margin:20px 0 20px 20px} 120 | ul.toplink li, ul.navlink li { 121 | display:inline; 122 | border-left:1px solid #000000; 123 | margin:0;padding: 0 2px 0 5px; 124 | } 125 | ul.toplink li:first-child, ul.navlink li:first-child { 126 | border: none; 127 | padding-left:0; 128 | } 129 | tr.data1, tr.data2, tr.data3 { 130 | color: #000000; 131 | font-size: 0.8em; 132 | border: 1px dotted #887f5c; 133 | } 134 | tr.data1:hover, tr.data2:hover, tr.data3:hover { 135 | background-color: #c8c0a2; 136 | } 137 | .row1, .data1 { 138 | background-color: #d8d2b9; 139 | text-align: left; 140 | } 141 | .row2, .data2 { 142 | background-color: #ded9c9; 143 | text-align: left; 144 | } 145 | .row3, .data3 {background-color: #d4c8a1} 146 | td.opbutton1, td.opbutton2 { 147 | color: #000000; 148 | cursor: pointer; 149 | padding: 2px 6px; 150 | text-align: center; 151 | border: 1px dotted #887f5c; 152 | } 153 | td.opbutton1:hover, td.opbutton2:hover { 154 | background-color: #b7af8d; 155 | } 156 | a.help { 157 | color: #A46600; 158 | vertical-align: super; 159 | text-decoration: none; 160 | font-size: 0.8em; 161 | } 162 | pre {font-size: 110%} 163 | pre.data {font-size: 100%} 164 | pre.error {font-size: 120%} 165 | 166 | .intro li {font-weight: bold} 167 | .ac_field { 168 | border:1px solid #363330; 169 | background: url('../../images/themes/cappuccino/openListe.png') no-repeat right; 170 | padding-right: 20px; 171 | } 172 | .bottom_link { 173 | background: #b7af8d; 174 | border-top: 1px dotted #887f5c; 175 | border-left: 1px dotted #887f5c; 176 | } 177 | 178 | /** FK browsing **/ 179 | div.fk { 180 | background: #fff; 181 | border-left: 1px dotted #000; 182 | padding: 5px; 183 | } 184 | div.logo { 185 | margin: 0px; 186 | padding: 0px; 187 | border: none; 188 | margin-bottom: 15px; 189 | background-image: url('../../images/themes/cappuccino/title.png'); 190 | background-repeat: no-repeat; 191 | height: 50px; 192 | } 193 | div.logo a { 194 | display: block; 195 | height: 100%; 196 | color: transparent; 197 | } 198 | -------------------------------------------------------------------------------- /themes/global.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This is the mandatory CSS file to include on top of every CSS theme file 3 | **/ 4 | 5 | img { border: none; } 6 | p.message {color: blue} 7 | p.comment {font-style: italic} 8 | .left{text-align: left} 9 | .pre {white-space: pre} 10 | 11 | .arg_icon { 12 | padding-right:5pt; 13 | padding-left:5pt; 14 | } 15 | 16 | /** Browser Tree using XLoadTree 2 **/ 17 | body.browser { 18 | height: 100%; 19 | margin: 0px; 20 | padding: 0px; 21 | text-align: left; 22 | } 23 | .refreshTree { 24 | float:right; 25 | text-align:right; 26 | padding: 0 3px; 27 | } 28 | .webfx-tree-row {white-space: nowrap} 29 | .webfx-tree-children { 30 | background-repeat: repeat-y; 31 | background-position-y: 1px !important; /* IE only */ 32 | } 33 | .webfx-tree-row img {vertical-align: middle} 34 | .webfx-tree-item-label {margin-left: 0.5ex} 35 | .webfx-tree-icon {margin-left: 1px} 36 | .webfx-tree-hide-root {display: none} 37 | 38 | /** auto-complete on insert **/ 39 | #fkbg { 40 | display:none; 41 | position:fixed; 42 | top:0;left:0; 43 | width:100%; 44 | height:100%; 45 | z-index:10; 46 | } 47 | #fklist { 48 | display:none; 49 | position:absolute; 50 | background:#fff; 51 | border:1px solid #000; 52 | overflow:auto; 53 | z-index:15; 54 | } 55 | #fklist table { 56 | border-collapse:collapse; 57 | border: 1px solid #aaa; 58 | } 59 | #fklist th {border: 1px solid #aaa} 60 | #fklist td, 61 | #fklist th { 62 | padding: 3px 10px; 63 | border-right: 1px solid #aaa; 64 | font-size: 12px; 65 | } 66 | #fklist td a { 67 | display:block; 68 | color:#000; 69 | } 70 | #fklist td a.fkval, p.errmsg { 71 | color:red; 72 | } 73 | .ac_values {width:100%} 74 | 75 | /** bottom link back to top **/ 76 | .bottom_link { 77 | position: fixed; 78 | bottom: 0; 79 | right: 0; 80 | margin: 0; 81 | padding: 4px; 82 | background: #eee; 83 | border-top: 1px dotted #999; 84 | border-left: 1px dotted #999; 85 | font-size: smaller; 86 | } 87 | 88 | /** FK browsing **/ 89 | div#root { 90 | position: absolute; 91 | } 92 | div.fk { 93 | margin-left: 20px; 94 | } 95 | div#fkcontainer { 96 | margin: 0; 97 | position: relative; 98 | width: 100%; 99 | background: none; 100 | border:0px; 101 | } 102 | div.fk_value { 103 | display:inline-block; 104 | } 105 | .highlight { 106 | background-color: #FFFF00; 107 | } 108 | /** Syntax highlighting **/ 109 | .comment {color: #008080} 110 | .keyword {color: #FF8000} 111 | .literal {color: #808080} 112 | -------------------------------------------------------------------------------- /themes/themes.php: -------------------------------------------------------------------------------- 1 | 'Default', 12 | 'cappuccino' => 'Cappuccino', 13 | 'gotar' => 'Blue/Green', 14 | 'bootstrap' => 'Bootstrap3' 15 | ); 16 | ?> 17 | --------------------------------------------------------------------------------