EasyDBtool

From e107 Wiki

Jump to: navigation, search

Contents

EasyDBtool

a plugin by nlstart.

EasyDBtool v1.1 (stable) is released November 11, 2008.

EasyDBtool : the e107 way of phpMyAdmin.

Purpose of the EasyDBtool plugin

  • GOAL: Create an easy to administrate the e107 MySQL database.
  • NOTE: based on MySQL Table Manager version 3.04, author: Tony Aslett (http://appcreator.com)


Features

The e107 way of PhpMyAdmin. You can now manipulate your e107 MySQL completely from the ease of your Admin Area.

The EasyDBtool was basically intended to manage existing records in the MySQL database. It will allow you to add, delete and modify table data etcetera. But it contains much more features than that! It is a full database management system that -depending on your privileges and settings- allows you to:

  • Create or delete a database
  • Create back-ups of entire database
  • Restore back-ups of database
  • Create, drop or rename tables
  • Alter table structure
  • Add or drop keys and indexes
  • Add, remove or change the properties of columns
  • Add, modify, search or delete table records
  • Manage users and privileges
  • Edit, save and execute your own custom MySQL queries[/list]

Latest version

version v1.1 (stable)

Prerequisites

Before actually using EasyDBtool functionality on your website, you will need the following:

REQUIRED

* e107 core v0.7.7 (or newer) installed.

OPTIONAL

* have the EasyBackup plugin running so you are ensured of a daily automated backup

Support

Download: EasyDBtool download

Forum: EasyDBtool forum

Bugs: EasyDBtool bug reports

Requests: EasyDBtool requests


Installation

Default install

  • a. Upload the EasyDBtool files into your 'e107_plugins' folder. Although 'Upload plugin' from the Admin section might work, uploading your files by using an FTP client program is recommended.
  • b. When working on Linux or Unix based server set the CHMOD settings of all .php files to 644.
  • c. Login as an administrator into e107, go to Plugin Manager, install EasyDBtool
  • d. The plugin installation tries to CHMOD folder easydbtool/backup and file easydbtool/savedqueries.xml to 777; if this fails you will see a message and you have to perform the CHMOD manually.
  • e. Start with making a backup of your database, before trying anything else!

Upgrade

N/A


Language Support

English NOTE: English is default included language pack; other available languages can be downloaded by members from NLSTART download page.

Updates

N/A

Known Bugs

N/A


Troubleshooting

WARNING: This tool is very powerful! This tool can be extremely dangerous for those who do not know what they are doing. It is possible to delete your complete MySQL database with a few clicks... Only give access to admin users you know you can trust and who have proven knowledge to deal with this kind of tool.

The PHP:MySQL Table Manager has been designed to simplify the management of multiple mysql tables on a web site. It was not designed for complex table structures. It is assumed that the correct database privileges are in place before use.

Requires PHP 4.1.0 or above and MySQL.


Changelog

Version 1.1 (November 11, 2008):

Goal:
- make compliant to Table Manager version 3.04 (issued 10 November 2008 by Tony Aslett http://appcreator.com)
General improvements:
- Fixed field size issue
- Fixed connection to external servers, provided permissions exist.
- Fixed page number display
- Added ability to turn of privilege restrictions in settings
- Modified Privilege system
- Fixed much of the user management system.
- Fixed Edit in Place Ajax functionality
Bugfixes:
- #62: index.php: changed function name theme_head() into edt_theme_head() to prevent collision with themes (e.g. exas_b07_multicolor)
- alter.php: added some missing closing </option> tags
- index.php: fixed hard coded text
- index.php: fixed advanced search
- index.php: added message when record changed in edit mode
- savedqueries.php: fix for delete query
- savedqueries.php: fix only saving queries when there are (valid) results
- reusable.php: removed $dbnamearray as function input parameter
- reusable.php: fixed false status return in last else of function exequery
- reusable.php: added table name as proper id for searchtableform function
- reusable.php: fixed function advancedSearchForm when actual columns are found
- reusable.php: rewritten function advancedSearch
- reusable.php: function editform had some improper echo functions and missing closing </option> tag
- reusable.php: function editform had improper form format for submit and reset buttons
- reusable.php: function displayrow added $id and $context parameters
- reusable.php: fixed distinction in function displayrow for edit user and regular edit situation
- reusable.php: modified token handling in function displayrow
- reusable.php: better handling of navigation buttons in function nav
- reusable.php: improved handling of tablename and dbname in function navitem
- reusable.php: changed handling of $tablename in function showrecords
- reusable.php: improved checks on priveleges in function check_priv
- user.php: fixed edit user output for function grantform
- user.php: added label Host in function dropuserform
- user.php: fix to drop the user only from selected host in function dropuser
- user.php: added label Host in function changenameform
- user.php: fix to change user name for specified host in function changename
- user.php: heavy bugfixing in function grantform and adding message about minimum required privileges
- user.php: bugfixing in function grantprivileges and adding message for mandatory selection of privileges before granting
- user.php: cleaning of variables only if variable has been set in function changepassword
- plugin.php: fix to delete preference settings successfully with uninstall
Minor changes:
- adjusted readme.txt
- settings.php: 1.1 version
- plugin.php: 1.1 version
- English.php: added a few language terms

Version 1.0 (October 20, 2008):

  - initial release; based on GNU GPL source code of MySQL Table Manager version 3.03, author: Tony Aslett (http://appcreator.com)
  - implemented e107 modifications
  - implemented language independency
  - fixed some bugs; thanks to Tony

Future roadmap

  • actually monitor the buglist
  • monitor what features end users want
  • publish more languages support files that are handed over by the community

Technical aspects

Directory Structure

After a straight installation of EasyDBtool the directory structure in the e107_plugins folder should be as follows:

 e107_plugins
     |- EasyDBtool
             |- backup
             |- icons
             |- images
             |- languages
  • The backup folder contains backups and saved queries
  • The images folder contains the images 'logo_16.png' and 'logo_32.png' which are called by plugin.php
  • The languages folder contains default language file English.php with all terms used by all modules of this plugin

Plugin Modules

The plugin consists of different files forming one integrated module. Each .php file contains a standard set of instructions to run properly under e107. The plugin files are heavily commented in order to show starting plugin developers why certain things are done.

settings.php	     	--- Settings for EasyDBtool.
index.php		--- The start page for EasyDBtool.
alter.php     		--- Functions to alter tables.
backup.php		--- Functions to backup and recover.
create.php		--- Functions to create tables.
reuseable.php		--- Required miscellaneous functions.
user.php		--- Functions to manage users.
savedqueries.php  	--- Functions to manage (saved) queries.
savedqueries.xml	--- XML file to store saved queries.
sub.php		--- Returns a response from AJAX calls.
styles.css    		--- Cascading Style Sheet.
tblmgr.js		--- JavaScript functions.
jquery-latest.pack.js	--- JQuery JavaScript library.
readme.txt          	--- Instructions.

License

EasyDBtool is distributed as free open source code released under the terms and conditions of the GNU General Public License.

Personal tools