phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] CVS: addressbook csv_import.php,1.4.2.6,1.4.2.6.2.1


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: addressbook csv_import.php,1.4.2.6,1.4.2.6.2.1
Date: Tue, 01 Jul 2003 21:39:40 -0400

Update of /cvsroot/phpgroupware/addressbook
In directory subversions:/tmp/cvs-serv19934

Modified Files:
      Tag: Version-0_9_16-branch
        csv_import.php 
Log Message:
some fixes to be more .16 like:
- app-headers
- style-guide
- register globals off

Index: csv_import.php
===================================================================
RCS file: /cvsroot/phpgroupware/addressbook/csv_import.php,v
retrieving revision 1.4.2.6
retrieving revision 1.4.2.6.2.1
diff -C2 -r1.4.2.6 -r1.4.2.6.2.1
*** csv_import.php      27 Feb 2003 21:07:16 -0000      1.4.2.6
--- csv_import.php      2 Jul 2003 01:39:38 -0000       1.4.2.6.2.1
***************
*** 13,21 ****
    /* $Id$ */
  
!       $GLOBALS['phpgw_info'] = array();
!       $GLOBALS['phpgw_info']['flags']['currentapp'] = 'addressbook';
!       $GLOBALS['phpgw_info']['flags']['enable_contacts_class'] = True;
        include('../header.inc.php');
  
        $GLOBALS['phpgw']->contacts = createobject('phpgwapi.contacts');
  
--- 13,26 ----
    /* $Id$ */
  
!       $GLOBALS['phpgw_info']['flags'] = array(
!               'currentapp' => 'addressbook',
!               'noheader'   => True,
!               'enable_contacts_class' => True,
!       );
        include('../header.inc.php');
  
+       $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Import CSV-File 
into Addressbook');
+       $GLOBALS['phpgw']->common->phpgw_header();
+ 
        $GLOBALS['phpgw']->contacts = createobject('phpgwapi.contacts');
  
***************
*** 27,36 ****
        
$GLOBALS['phpgw']->template->set_block('import','imported','importedhandle');
  
!       if($action == 'download' && (!$fieldsep || !$csvfile || 
!($fp=fopen($csvfile,'rb'))))
        {
!               $action = '';
        }
        
$GLOBALS['phpgw']->template->set_var('action_url',$GLOBALS['phpgw']->link('/addressbook/csv_import.php'));
-       $GLOBALS['phpgw']->template->set_var('lang_addr_action',lang('Import 
CSV-File into Addressbook'));
  
        $PSep = '||'; // Pattern-Separator, separats the 
pattern-replacement-pairs in trans
--- 32,42 ----
        
$GLOBALS['phpgw']->template->set_block('import','imported','importedhandle');
  
!       $csvfile  = isset($_POST['csvfile']) ? $_POST['csvfile'] : 
$_FILES['csvfile']['tmp_name'];
! 
!       if($_POST['action'] == 'download' && (!$_POST['fieldsep'] || !$csvfile 
|| !($fp=fopen($csvfile,'rb'))))
        {
!               $_POST['action'] = '';
        }
        
$GLOBALS['phpgw']->template->set_var('action_url',$GLOBALS['phpgw']->link('/addressbook/csv_import.php'));
  
        $PSep = '||'; // Pattern-Separator, separats the 
pattern-replacement-pairs in trans
***************
*** 125,134 ****
        }
  
!       switch($action)
        {
                case '':        // Start, ask Filename
                        
$GLOBALS['phpgw']->template->set_var('lang_csvfile',lang('CSV-Filename'));
                        
$GLOBALS['phpgw']->template->set_var('lang_fieldsep',lang('Fieldseparator'));
!                       
$GLOBALS['phpgw']->template->set_var('fieldsep',$fieldsep ? $fieldsep : ',');
                        
$GLOBALS['phpgw']->template->set_var('submit',lang('Download'));
                        
$GLOBALS['phpgw']->template->set_var('csvfile',$csvfile);
--- 131,140 ----
        }
  
!       switch($_POST['action'])
        {
                case '':        // Start, ask Filename
                        
$GLOBALS['phpgw']->template->set_var('lang_csvfile',lang('CSV-Filename'));
                        
$GLOBALS['phpgw']->template->set_var('lang_fieldsep',lang('Fieldseparator'));
!                       
$GLOBALS['phpgw']->template->set_var('fieldsep',$_POST['fieldsep'] ? 
$_POST['fieldsep'] : ',');
                        
$GLOBALS['phpgw']->template->set_var('submit',lang('Download'));
                        
$GLOBALS['phpgw']->template->set_var('csvfile',$csvfile);
***************
*** 153,157 ****
                        
$GLOBALS['phpgw']->template->parse('fheaderhandle','fheader');
                        $hiddenvars .= '<input type="hidden" name="action" 
value="import">'."\n"
!                               . '<input type="hidden" name="fieldsep" 
value="'.$fieldsep."\">\n";
  
                        $addr_names = 
$GLOBALS['phpgw']->contacts->stock_contact_fields + array(
--- 159,163 ----
                        
$GLOBALS['phpgw']->template->parse('fheaderhandle','fheader');
                        $hiddenvars .= '<input type="hidden" name="action" 
value="import">'."\n"
!                               . '<input type="hidden" name="fieldsep" 
value="'.$_POST['fieldsep']."\">\n";
  
                        $addr_names = 
$GLOBALS['phpgw']->contacts->stock_contact_fields + array(
***************
*** 161,165 ****
                        );
  
!                       while(list($field,$name) = each($addr_names))
                        {
                                if($dn = display_name($field))
--- 167,171 ----
                        );
  
!                       foreach($addr_names as $field => $name)
                        {
                                if($dn = display_name($field))
***************
*** 169,182 ****
                        }
                        $addr_name_options = "<option value=\"\">none\n";
!                       reset($addr_names);
!                       while(list($field,$name) = each($addr_names))
                        {
                                $addr_name_options .= "<option 
value=\"$field\">".$GLOBALS['phpgw']->strip_html($name)."\n";
                        }
!                       $csv_fields = fgetcsv($fp,8000,$fieldsep);
                        $csv_fields[] = 'no CSV 1'; // eg. for static 
assignments
                        $csv_fields[] = 'no CSV 2';
                        $csv_fields[] = 'no CSV 3';
!                       while(list($csv_idx,$csv_field) = each($csv_fields))
                        {
                                
$GLOBALS['phpgw']->template->set_var('csv_field',$csv_field);
--- 175,187 ----
                        }
                        $addr_name_options = "<option value=\"\">none\n";
!                       foreach($addr_names as $field => $name)
                        {
                                $addr_name_options .= "<option 
value=\"$field\">".$GLOBALS['phpgw']->strip_html($name)."\n";
                        }
!                       $csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
                        $csv_fields[] = 'no CSV 1'; // eg. for static 
assignments
                        $csv_fields[] = 'no CSV 2';
                        $csv_fields[] = 'no CSV 3';
!                       foreach($csv_fields as $csv_idx => $csv_field)
                        {
                                
$GLOBALS['phpgw']->template->set_var('csv_field',$csv_field);
***************
*** 184,189 ****
                                if($def = $defaults[$csv_field])
                                {
!                                       list($addr,$trans) = 
explode($PSep,$def,2);
!                                       
$GLOBALS['phpgw']->template->set_var('trans',$trans);
                                        
$GLOBALS['phpgw']->template->set_var('addr_fields',str_replace('="'.$addr.'">','="'.$addr.'"
 selected>',$addr_name_options));
                                }
--- 189,194 ----
                                if($def = $defaults[$csv_field])
                                {
!                                       list($addr,$_POST['trans']) = 
explode($PSep,$def,2);
!                                       
$GLOBALS['phpgw']->template->set_var('trans',$_POST['trans']);
                                        
$GLOBALS['phpgw']->template->set_var('addr_fields',str_replace('="'.$addr.'">','="'.$addr.'"
 selected>',$addr_name_options));
                                }
***************
*** 196,200 ****
                        }
                        
$GLOBALS['phpgw']->template->set_var('lang_start',lang('Startrecord'));
!                       $GLOBALS['phpgw']->template->set_var('start',$start);
                        
$GLOBALS['phpgw']->template->set_var('lang_max',lang('Number of records to read 
(<=200)'));
                        $GLOBALS['phpgw']->template->set_var('max',200);
--- 201,205 ----
                        }
                        
$GLOBALS['phpgw']->template->set_var('lang_start',lang('Startrecord'));
!                       
$GLOBALS['phpgw']->template->set_var('start',$_POST['start']);
                        
$GLOBALS['phpgw']->template->set_var('lang_max',lang('Number of records to read 
(<=200)'));
                        $GLOBALS['phpgw']->template->set_var('max',200);
***************
*** 205,209 ****
                        $hiddenvars .= '<input type="hidden" name="csvfile" 
value="'.$csvfile.'">';
                        $mktime_lotus = "${PSep}0?([0-9]+)[ .:-]+0?([0-9]*)[ 
.:-]+0?([0-9]*)[ .:-]+0?([0-9]*)[ .:-]+0?([0-9]*)[ 
.:-]+0?([0-9]*)address@hidden(${VPre}4,${VPre}5,${VPre}6,${VPre}2,${VPre}3,${VPre}1)";
!                       $help_on_trans = "<a name='help'><b>How to use 
Translation's</b><p>".
                                "Translations enable you to change / adapt the 
content of each CSV field for your needs. <br>".
                                "General syntax is: <b>pattern1 ${ASep} 
replacement1 ${PSep} ... ${PSep} patternN ${ASep} replacementN</b><br>".
--- 210,214 ----
                        $hiddenvars .= '<input type="hidden" name="csvfile" 
value="'.$csvfile.'">';
                        $mktime_lotus = "${PSep}0?([0-9]+)[ .:-]+0?([0-9]*)[ 
.:-]+0?([0-9]*)[ .:-]+0?([0-9]*)[ .:-]+0?([0-9]*)[ 
.:-]+0?([0-9]*)address@hidden(${VPre}4,${VPre}5,${VPre}6,${VPre}2,${VPre}3,${VPre}1)";
!                       $help_on_trans = "<a name=\"help\"></a><b>How to use 
Translation's</b><p>".
                                "Translations enable you to change / adapt the 
content of each CSV field for your needs. <br>".
                                "General syntax is: <b>pattern1 ${ASep} 
replacement1 ${PSep} ... ${PSep} patternN ${ASep} replacementN</b><br>".
***************
*** 240,258 ****
                        break;
                case 'import':
                        $fp=fopen($csvfile,'rb');
!                       $csv_fields = fgetcsv($fp,8000,$fieldsep);
                        $csv_fields[] = 'no CSV 1'; // eg. for static 
assignments
                        $csv_fields[] = 'no CSV 2';
                        $csv_fields[] = 'no CSV 3';
  
!                       $addr_fields = array_diff($addr_fields,array(''));      
// throw away empty / not assigned entrys
  
                        $defaults = array();
!                       while(list($csv_idx,$addr) = each($addr_fields))
!                       {       // convert $trans[$csv_idx] into array of 
pattern => value
                                $defaults[$csv_fields[$csv_idx]] = $addr;
!                               if($trans[$csv_idx])
                                {
!                                       $defaults[$csv_fields[$csv_idx]] .= 
$PSep.$trans[$csv_idx];
                                }
                        }
--- 245,264 ----
                        break;
                case 'import':
+                       @set_time_limit(0);
                        $fp=fopen($csvfile,'rb');
!                       $csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
                        $csv_fields[] = 'no CSV 1'; // eg. for static 
assignments
                        $csv_fields[] = 'no CSV 2';
                        $csv_fields[] = 'no CSV 3';
  
!                       $addr_fields = 
array_diff($_POST['addr_fields'],array(''));     // throw away empty / not 
assigned entrys
  
                        $defaults = array();
!                       foreach($addr_fields as $csv_idx => $addr)
!                       {       // convert $_POST['trans'][$csv_idx] into array 
of pattern => value
                                $defaults[$csv_fields[$csv_idx]] = $addr;
!                               if($_POST['trans'][$csv_idx])
                                {
!                                       $defaults[$csv_fields[$csv_idx]] .= 
$PSep.$_POST['trans'][$csv_idx];
                                }
                        }
***************
*** 264,276 ****
                        $log = "<table border=1>\n\t<tr><td>#</td>\n";
  
!                       reset($addr_fields);
!                       while(list($csv_idx,$addr) = each($addr_fields))
!                       {       // convert $trans[$csv_idx] into array of 
pattern => value
!                               // if (!$debug) echo "<p>$csv_idx: 
".$csv_fields[$csv_idx].": $addr".($trans[$csv_idx] ? ': '.$trans[$csv_idx] : 
'')."</p>";
!                               $pat_reps = 
explode($PSep,stripslashes($trans[$csv_idx]));
                                $replaces = ''; $values = '';
                                if($pat_reps[0] != '')
                                {
!                                       while(list($k,$pat_rep) = 
each($pat_reps))
                                        {
                                                list($pattern,$replace) = 
explode($ASep,$pat_rep,2);
--- 270,281 ----
                        $log = "<table border=1>\n\t<tr><td>#</td>\n";
  
!                       foreach($addr_fields as $csv_idx => $addr)
!                       {       // convert $_POST['trans'][$csv_idx] into array 
of pattern => value
!                               // if (!$_POST['debug']) echo "<p>$csv_idx: 
".$csv_fields[$csv_idx].": $addr".($_POST['trans'][$csv_idx] ? ': 
'.$_POST['trans'][$csv_idx] : '')."</p>";
!                               $pat_reps = 
explode($PSep,stripslashes($_POST['trans'][$csv_idx]));
                                $replaces = ''; $values = '';
                                if($pat_reps[0] != '')
                                {
!                                       foreach($pat_reps as $k => $pat_rep)
                                        {
                                                list($pattern,$replace) = 
explode($ASep,$pat_rep,2);
***************
*** 282,290 ****
                                                $replaces .= ($replaces != '' ? 
$PSep : '') . $pattern . $ASep . $replace;
                                        }
!                                       $trans[$csv_idx] = $values;
                                }
                                else
                                {
!                                       unset( $trans[$csv_idx] );
                                }
                                $log .= "\t\t<td><b>$addr</b></td>\n";
--- 287,295 ----
                                                $replaces .= ($replaces != '' ? 
$PSep : '') . $pattern . $ASep . $replace;
                                        }
!                                       $_POST['trans'][$csv_idx] = $values;
                                }
                                else
                                {
!                                       unset( $_POST['trans'][$csv_idx] );
                                }
                                $log .= "\t\t<td><b>$addr</b></td>\n";
***************
*** 296,306 ****
                                $auto_fn = 
array('n_prefix','n_given','n_middle','n_family','n_suffix');
                        }
!                       if($start < 1)
!                       {
!                               $start = 1;
!                       }
!                       for($i = 1; $i < $start && fgetcsv($fp,8000,$fieldsep); 
++$i);  // overread lines before our start-record
  
!                       for($anz = 0; $anz < $max && ($fields = 
fgetcsv($fp,8000,$fieldsep)); ++$anz)
                        {
                                $log .= 
"\t</tr><tr><td>".($start+$anz)."</td>\n";
--- 301,309 ----
                                $auto_fn = 
array('n_prefix','n_given','n_middle','n_family','n_suffix');
                        }
!                       $start = $_POST['start'] < 1 ? 1 : $_POST['start'];
! 
!                       for($i = 1; $i < $start && 
fgetcsv($fp,8000,$_POST['fieldsep']); ++$i);         // overread lines before 
our start-record
  
!                       for($anz = 0; $anz < $_POST['max'] && ($fields = 
fgetcsv($fp,8000,$_POST['fieldsep'])); ++$anz)
                        {
                                $log .= 
"\t</tr><tr><td>".($start+$anz)."</td>\n";
***************
*** 309,317 ****
                                while(list($csv_idx,$addr) = each($addr_fields))
                                {
!                                       //echo "<p>$csv: $addr".($trans[$csv] ? 
': '.$trans[$csv] : '')."</p>";
                                        $val = $fields[$csv_idx];
!                                       if(isset($trans[$csv_idx]))
                                        {
!                                               $trans_csv = $trans[$csv_idx];
                                                while(list($pattern,$replace) = 
each($trans_csv))
                                                {
--- 312,320 ----
                                while(list($csv_idx,$addr) = each($addr_fields))
                                {
!                                       //echo "<p>$csv: 
$addr".($_POST['trans'][$csv] ? ': '.$_POST['trans'][$csv] : '')."</p>";
                                        $val = $fields[$csv_idx];
!                                       if(isset($_POST['trans'][$csv_idx]))
                                        {
!                                               $trans_csv = 
$_POST['trans'][$csv_idx];
                                                while(list($pattern,$replace) = 
each($trans_csv))
                                                {
***************
*** 331,339 ****
                                                                if($val[0] == 
'@')
                                                                {
!                                                                       // 
removing the $ to close security hole of showing vars, which contain eg. 
passwords
!                                                                       $val = 
'return '.substr(str_replace('$','',$val),1).';';
!                                                                       // echo 
"<p>eval('$val')=";
!                                                                       $val = 
eval($val);
!                                                                       // echo 
"'$val'</p>";
                                                                }
                                                                if($pattern[0] 
!= '@' || $val)
--- 334,349 ----
                                                                if($val[0] == 
'@')
                                                                {
!                                                                       if 
(!$GLOBALS['phpgw_info']['user']['apps']['admin'])
!                                                                       {
!                                                                               
echo lang('@-eval() is only availible to admins!!!');
!                                                                       }
!                                                                       else
!                                                                       {
!                                                                               
// removing the $ to close security hole of showing vars, which contain eg. 
passwords
!                                                                               
$val = 'return '.substr(str_replace('$','',$val),1).';';
!                                                                               
// echo "<p>eval('$val')=";
!                                                                               
$val = eval($val);
!                                                                               
// echo "'$val'</p>";
!                                                                       }
                                                                }
                                                                if($pattern[0] 
!= '@' || $val)
***************
*** 359,363 ****
                                        $log .= 
"\t\t<td>".$values['fn']."</td>\n";
                                }
!                               if(!$debug)
                                {
                                        $GLOBALS['phpgw']->contacts->add( 
$values['owner'] ? $values['owner'] : 
$GLOBALS['phpgw_info']['user']['account_id'],
--- 369,373 ----
                                        $log .= 
"\t\t<td>".$values['fn']."</td>\n";
                                }
!                               if(!$_POST['debug'])
                                {
                                        $GLOBALS['phpgw']->contacts->add( 
$values['owner'] ? $values['owner'] : 
$GLOBALS['phpgw_info']['user']['account_id'],
***************
*** 368,372 ****
                        $log .= "\t</tr>\n</table>\n";
  
!                       
$GLOBALS['phpgw']->template->set_var('anz_imported',$debug ? lang('%1 records 
read (not yet imported, you may go back and uncheck Test Import)',
                                $anz,'<a 
href="javascript:history.back()">','</a>') :
                                lang('%1 records imported',$anz));
--- 378,382 ----
                        $log .= "\t</tr>\n</table>\n";
  
!                       
$GLOBALS['phpgw']->template->set_var('anz_imported',$_POST['debug'] ? lang('%1 
records read (not yet imported, you may go %2back%3 and uncheck Test Import)',
                                $anz,'<a 
href="javascript:history.back()">','</a>') :
                                lang('%1 records imported',$anz));





reply via email to

[Prev in Thread] Current Thread [Next in Thread]