17 include_once (
"FDL/import_file.php");
30 $usage->setDefinitionText(
"Import documents");
31 $separator =
$usage->addOptionalParameter(
"separator",
"character to delimiter fields - generaly a comma",
function ($values, $argName,
ApiUsage $apiusage)
34 return sprintf(
' use single character or "auto"');
36 if (!is_string($values)) {
37 return sprintf(
"must be a character [%s] ", print_r($values,
true));
39 if ($values !=
"auto") {
40 if (mb_strlen($values) > 1) {
41 return sprintf(
"must be a only one character [%s] ", $values);
46 $enclosure =
$usage->addOptionalParameter(
"enclosure",
"character to enclose fields - generaly double-quote",
function ($values, $argName,
ApiUsage $apiusage)
49 return sprintf(
' use single character or "auto"');
51 if (!is_string($values)) {
52 return sprintf(
"must be a character [%s] ", print_r($values,
true));
54 if ($values !=
"auto") {
55 if (mb_strlen($values) > 1) {
56 return sprintf(
"must be a only one character [%s] ", $values);
63 $archive = (
$usage->addOptionalParameter(
"archive",
"is archive", array(
68 $linebreak =
$usage->addOptionalParameter(
"linebreak",
"csv linebreak", array() ,
'\n');
70 $analyze = (
$usage->addOptionalParameter(
"analyze",
"analyze", array(
74 $usage->setStrictMode(
false);
77 $action->parent->addJsRef(
"lib/jquery/jquery.js");
78 $action->parent->addJsRef(
"lib/jquery-ui/js/jquery-ui.js");
79 $action->parent->addCssRef(
"css/dcp/jquery-ui.css");
80 $action->parent->addJsRef(
"lib/jquery-dataTables/js/jquery.dataTables.min.js");
81 $action->parent->addCssRef(
"lib/jquery-dataTables/css/jquery.dataTables_themeroller.css");
87 if (isset($_FILES[
"file"])) {
88 if ($_FILES[
"file"][
"error"]) {
89 $action->
exitError(_(
"No description import file"));
92 $csvfile = $_FILES[
"file"][
'tmp_name'];
100 $action->
exitError(_(
"No description import file"));
102 if (
$ext ===
"tgz" ||
$ext ===
"tar.gz") {
104 } elseif (
$ext !==
"zip") {
108 if (!in_array(
$ext, array(
116 $action->
exitError(_(
"Not supported file format"));
118 $pseparator = $action->
getParam(
"FREEDOM_CSVSEPARATOR");
119 $penclosure = $action->
getParam(
"FREEDOM_CSVENCLOSURE");
120 $plinebreak = $action->
getParam(
"FREEDOM_CSVLINEBREAK");
124 if ($plinebreak != $linebreak) {
125 $action->
setParamU(
"FREEDOM_CSVLINEBREAK", $linebreak);
127 if ($pseparator != $separator) {
128 $action->
setParamU(
"FREEDOM_CSVSEPARATOR", $separator);
130 if ($penclosure != $enclosure) {
131 $action->
setParamU(
"FREEDOM_CSVENCLOSURE", $enclosure);
138 $oImport->setCsvOptions($separator, $enclosure, $linebreak);
140 if (preg_match(
"/admin\\.php$/",
$_SERVER[
"SCRIPT_NAME"])) {
141 $oImport->setVerifyAttributeAccess(
false);
144 $oImport->writeHtmlCr($action->lay);
145 $action->lay->eset(
"basename",
$filename);
146 $action->parent->AddJsRef($action->GetParam(
"CORE_JSURL") .
"/subwindow.js");
148 if (isset($_FILES[
"file"])) @unlink(
$csvfile);
exitError($texterr, $exit=true, $code="")
Verify arguments for action function.
setMaxExecutionTimeTo($limit)
freedom_import(Action &$action)
Verify arguments for wsh programs.