Commit Graph

29 Commits

Author SHA1 Message Date
Nathan Gray
54b4454d51 Add some base classes to make it easier for other applications to implement importing CSVs
To use them, you need to create two files in the app/importexport directory, 'class.import_appname_csv.inc.php' and 'class.wizzard_import_appname_csv.inc.php'.
The minimum required files are shown below, but they can be modified as needed to override the basics and add capabilities.


class.import_appname_csv.inc.php:
<?php

        require_once(EGW_INCLUDE_ROOT. '/importexport/inc/class.basic_import_csv.inc.php');

        class import_appname_csv extends basic_import_csv {

                protected function import_record(&$record, &$import_csv) {
			// Handle one record here.  Handle conditions and call action() as appropriate.
			// See basic_import_csv.
                }

                protected function action($action, Array $record, $record_num = 0) {
			// Take the given action (none, insert, delete, update) etc.  as understood for your app.
			// See basic_import_csv.
                }
        }
?>

class.wizzard_import_appname_csv.inc.php:
<?php

        require_once(EGW_INCLUDE_ROOT . '/appname/importexport/class.import_appname_csv.inc.php');
        require_once(EGW_INCLUDE_ROOT . '/importexport/inc/class.wizzard_basic_import_csv.inc.php');

        class wizzard_import_appname_csv extends wizzard_basic_import_csv {
		public function __construct() {
			$this->mapping_fields = array(
				// List of destination fields available in appname
				'field' => lang('name')
			);
			$this->conditions = array(
				// List of conditions supported by import_appname_csv
				'field' => lang('name')
			);
			$this->actions = array(
				// List of actions supported by import_appname_csv
				'field' => lang('name')
			);
		}
        }
?>
2010-03-10 16:31:25 +00:00
Nathan Gray
3e33651c5d Change import wizard popup size, shuffle around sidebox menu to have links to import & export dialogs 2010-03-03 19:34:05 +00:00
Nathan Gray
e395a4dfb4 Add support for reporting how many of which action (insert, update) were done when importing 2010-03-03 16:28:45 +00:00
Nathan Gray
30ce07e567 Add some results from scheduled jobs so you can see if they ran 2010-03-02 22:33:47 +00:00
Nathan Gray
ed106c431c Improve popup size 2010-03-01 23:26:38 +00:00
Nathan Gray
15a89b310d Move name step closer to start, get rid of infinite loop if you click next on last step 2010-03-01 17:30:53 +00:00
Nathan Gray
822230bf57 New classes for importing and scheduling 2010-02-25 23:14:24 +00:00
Nathan Gray
731abfd2a3 Some more work toward completion:
- Wizard now works to define input definitions; you can define the mapping, translations and conditions using the UI.  
- Added ability to schedule imports / export using async services

Still a lot of work to be done...
2010-02-25 23:13:18 +00:00
Klaus Leithoff
495c19fb95 changing old PHPGW_API_INC to EGW_API_INC in cli, adding a read function to bodefinitions, Still you cannot view or edit definitions with UI 2009-09-09 08:07:32 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
d268d6d816 Using static translation methods 2009-04-28 16:05:04 +00:00
Ralf Becker
0c2d0c1ff0 "removed unnecessary and not longer working include of class.uietemplate.inc.php" 2008-10-07 13:15:53 +00:00
Ralf Becker
4885518b88 autoloading of addressbook classes 2008-05-10 12:06:15 +00:00
Cornelius Weiß
885dd1bf84 php5.2 fixes 2007-08-30 15:46:31 +00:00
Cornelius Weiß
121a44bf71 fix for dst in cal import 2007-08-24 12:52:50 +00:00
Cornelius Weiß
c9f3b9f817 fix: not working seconds in date^-1 2007-07-06 09:42:23 +00:00
Cornelius Weiß
e7743cb87c clean fields on demand from cntl chars 2007-06-25 20:47:38 +00:00
Cornelius Weiß
d63a7d622d fix: skip empty lines, even if conversion fills (empty) record
add: custom_strtotime in importexport_helper_functions
2007-06-23 12:07:18 +00:00
Cornelius Weiß
1c7e180154 imrpove dry-run and cli 2007-06-21 18:07:31 +00:00
Cornelius Weiß
e004216f15 fixed defautl-records 2007-06-21 15:09:51 +00:00
Cornelius Weiß
288c28a658 fixed category handling.
allow to preserv cat if record is updated
added dry-run option
2007-06-21 14:02:03 +00:00
Cornelius Weiß
b6a28b8090 performance fix 2007-06-09 22:23:29 +00:00
Cornelius Weiß
7a3e571376 - reworked conversions backend in importexport_helper_functions
- reworked plugin interfaces. 
	- charset is now an attribut of plugin_options only
	- import / export function itselve is not static any more
- whiped out silly phpdoc tags generated by umbrello (kde uml modeler)
- reworked representation of plugin_options for definitions
- many fixes in uiexport and export_csv
- lang updates
2007-06-09 15:36:30 +00:00
Cornelius Weiß
b4b6d5abef massive improvements for the imports 2007-06-07 22:08:38 +00:00
Ralf Becker
ec80b68626 php5.2+ requires the interfaces also to declare the default params (or not to use them in implementations) 2007-04-15 11:40:12 +00:00
Ralf Becker
dcef824803 merged Connys 1.4 commit to trunk: fix not working csv_import 2007-04-06 08:03:04 +00:00
Cornelius Weiß
2b3ce8669b changed export ui to be focused on definitions 2006-11-16 11:04:09 +00:00
Cornelius Weiß
9e61aaf90d propset svn:keyword Id 2006-11-10 15:38:31 +00:00
Cornelius Weiß
b7d62c7b09 initial import of my importexport work,
export is quite clean at the moment, but import needs lots of work, 

all the stuff is not really for production yet, but i import it now, so that the guy from metaways can also work on it.
most pending tasks:
- implement conversions based on regular expressions
- implement options of plugin
- rework import part (mostly ui)
2006-11-10 15:30:01 +00:00