| 
<?php//*********************************
 //ccs 23. Do -export? 220 lines
 //*********************************
 $doexport = false;
 $export_errormsg = '';
 
 if (isset($_REQUEST[ 'export' ]))
 if (is_array($_REQUEST[ 'export' ]))
 if (isset($_REQUEST[ 'export' ][ 'doit' ]) && isset($_REQUEST[ 'export' ][ 'format' ]) && isset($_REQUEST[ 'export' ][ 'limit' ]))
 $doexport = true;
 
 if ($doexport)
 { // Do the export
 // Exporting may take a while
 set_time_limit(0);
 
 // Initialize export settings
 $exportlimit = abs(intval($_REQUEST[ 'export' ][ 'limit' ]));
 $_SESSION[ 'exportformat' ] = $_REQUEST[ 'export' ][ 'format' ];
 
 if (! isset($exportformats[ $_SESSION[ 'exportformat' ] ]))
 $_SESSION[ 'exportformat' ] = 'xml';
 
 // Send Content-type header
 header(sprintf(
 'Content-Type: %s; name="dbexport.%s"'
 , $exportformats[ $_SESSION[ 'exportformat' ] ][ 1 ]
 , $_SESSION[ 'exportformat' ]
 )
 ) ;
 header(sprintf(
 'Content-disposition: attachment; filename="dbexport.%s"'
 , $_SESSION[ 'exportformat' ]
 )
 );
 
 //---------------------------------
 //ccs 23.1 Loop through results
 //---------------------------------
 $ok = false;
 //$cursor = $this->pof_ opencursor($main_sql);
 //if ($cursor) if (ocistatementtype($cursor) == 'SELECT') $ok = true;
 //$res = $db->all($sql, "Get EName", array(array(":id", $empid, -1)));
 if ($cursor = $db->all($sql, "Get main_sql")) $ok = true;
 if ($ok)
 { // Get column list
 $columns = array();
 $numcols = ocinumcols($cursor);
 
 for ($j = 1; $j <= $numcols; $j++)
 if (ocicolumnname($cursor, $j) != 'ROWID_')
 $columns[ (ocicolumnname($cursor, $j)) ] = array(
 'type' => ocicolumntype($cursor, $j),
 'size' => ocicolumnsize($cursor, $j)
 );
 
 //css 23.2 Header
 if ($_SESSION[ 'exportformat' ] == 'xml')
 { echo sprintf('<' . '?xml version="1.0" encoding="%s"?' . '>', $charset) . "\n";
 //echo "<!-- Generated by Oracle Editor.php (http://oracle editor.sourceforge.net/) -->\n";
 
 $userstr = $_SESSION['cncts'][ 'username' ];
 if ($_SESSION['cncts'][ 'service' ] != '')
 $userstr .= '@' . $_SESSION['cncts'][ 'service' ];
 
 echo sprintf('<rowset exported="%s" user="%s" server="%s">',
 date('Y-m-d\TH:i:s'), $userstr, $_SERVER[ 'SERVER_NAME' ]) . "\n";
 echo sprintf("\t<sql>%s</sql>\n", htmlspecialchars($main_sql));
 
 // Column aliases: We can use column names as tag names only if
 // they're valid XML names - <count(MYFIELD)> won't work.
 
 $i = 0;
 foreach ($columns as $name => $column)
 { $i++;
 
 if (preg_match('/^[a-zA-Z][a-zA-Z0-9_-]*$/', $name) == 0)
 $columns[ $name ][ 'alias' ] = 'ALIAS' . $i;
 }
 
 echo "\t<columns>\n";
 foreach ($columns as $name => $column)
 echo sprintf("\t\t" . '<column name="%s" type="%s" size="%s"%s/>' . "\n",
 htmlspecialchars($name),
 $column[ 'type' ],
 $column[ 'size' ],
 (isset($column[ 'alias' ]) ? ' alias="' . $column[ 'alias' ] . '"' : '')
 );
 echo "\t</columns>\n";
 }
 // css 23.3
 elseif ($_SESSION[ 'exportformat' ] == 'csv')
 { $first = true;
 
 foreach ($columns as $name => $column)
 if ($name != 'ROWID_')
 { if (! $first) echo ', ';
 echo sprintf('"%s"', str_replace('"', '""', $name));
 $first = false;
 }
 
 echo "\n";
 }
 // css 23.4
 elseif ($_SESSION[ 'exportformat' ] == 'html')
 {
 ?>
 <html>
 <head>
 <meta http-equiv="content-type" content="text/html; charset=<?php echo $charset; ?>">
 <meta name="date" content="<?php echo date('Y-m-d\TH:i:s'); ?>">
 <meta name="generator" content="Oracle tables oop edit based on Tim Strehle's (https://github.com/tistre/oracleeditor/)">
 <title>Editor Oracle tablica - Export tablica</title>
 </head>
 <body>
 
 <h1>Exported Oracle data</h1>
 
 <?php
 $userstr = $_SESSION['cncts'][ 'username' ];
 if ($_SESSION['cncts'][ 'service' ] != '')
 $userstr .= '@' . $_SESSION['cncts'][ 'service' ];
 ?>
 
 <p>Oracle korisnik <em><?php echo htmlspecialchars($userstr); ?></em>
 exported this data on <em><?php echo date('r'); ?></em>
 by running the following SQL statesment in
 <a href="http://<?php echo $_SERVER[ 'HTTP_HOST' ]; ?>
 <?php echo $_SERVER[ 'PHP_SELF' ]; ?>">
 a local copy of o raedoop.php</a> on
 <em><?php echo $_SERVER[ 'SERVER_NAME' ]; ?></em>:<br />
 <pre><?php echo htmlspecialchars($main_sql); ?></pre></p>
 
 <table border="1">
 <tr>
 
 <?php
 
 foreach ($columns as $name => $column)
 echo sprintf('<th>%s<br />(%s, %s)</th>' . "\n",
 htmlspecialchars($name),
 $column[ 'type' ],
 $column[ 'size' ]
 );
 
 ?>
 
 </tr>
 
 <?php
 }
 
 // Rows
 
 $i = 1;
 while (true)
 { if (! ocifetchinto($cursor, $row, OCI_ASSOC | OCI_RETURN_LOBS))
 break;
 // css 23.5
 if ($_SESSION[ 'exportformat' ] == 'xml')
 { echo sprintf("\t<row%s>\n",
 (isset($row[ 'ROWID_' ]) ? (' id="' . htmlspecialchars($row[ 'ROWID_' ]) . '"') : ''));
 
 foreach ($row as $fieldname => $value)
 if ($fieldname != 'ROWID_')
 echo sprintf("\t\t<%1\$s>%2\$s</%1\$s>\n",
 (isset($columns[ $fieldname ][ 'alias' ])
 ? $columns[ $fieldname ][ 'alias' ] : $fieldname ),
 htmlspecialchars($value));
 echo "\t</row>\n";
 }
 // css 23.6
 elseif ($_SESSION[ 'exportformat' ] == 'csv')
 { $first = true;
 
 foreach ($columns as $fieldname => $column)
 if ($fieldname != 'ROWID_')
 { if (! $first) echo ', ';
 if (isset($row[ $fieldname ]))
 echo sprintf('"%s"', str_replace('"', '""', $row[ $fieldname ]));
 else
 echo '""';
 $first = false;
 }
 
 echo "\n";
 }
 // css 23.7
 elseif ($_SESSION[ 'exportformat' ] == 'html')
 { echo "<tr>\n";
 
 foreach ($columns as $fieldname => $column)
 if ($fieldname != 'ROWID_')
 { echo "\t<td>";
 if (isset($row[ $fieldname ]))
 echo htmlspecialchars($row[ $fieldname ]);
 echo "</td>\n";
 }
 
 echo "</tr>\n";
 }
 
 if (($exportlimit > 0) && ($exportlimit <= ++$i))
 break;
 }
 
 // Footer
 // css 23.8
 if ($_SESSION[ 'exportformat' ] == 'xml')
 { echo "</rowset>\n";
 }
 elseif ($_SESSION[ 'exportformat' ] == 'html')
 { ?>
 
 </table>
 <p>HTML generated by <a href="https://github.com/slavkoss/fwphp/tree/master/fwphp/glomodul/oraed">Oracle tables oop edit</a>
 <?php echo $this->pp1->module_version; ?> © 2006 by <a href="https://github.com/slavkoss/fwphp/tree/master/fwphp/glomodul/oraed/">phporacle (Slavko Srako?i?)</a>
 <<a href="mailto:[email protected]">[email protected]</a>>
 </p>
 </body>
 </html>
 
 <?php
 }
 
 //$this->pof_closecursor($cursor);
 
 session_write_close();
 exit;
 }
 else
 $export_errormsg = 'Unable to export';
 }
 //*********************************
 // END-export 220 lines
 //*********************************
 |