$mesg = '<div class="warning">' . $langs->trans("ErrorFileRequired") . '</div>'; $error++; } else { if (!preg_match('/\\.zip/i', $original_file)) { $langs->load("errors"); $mesg = '<div class="error">' . $langs->trans("ErrorFileMustBeADolibarrPackage", $original_file) . '</div>'; $error++; } } if (!$error) { @dol_delete_dir_recursive($conf->admin->dir_temp . '/' . $original_file); dol_mkdir($conf->admin->dir_temp . '/' . $original_file); $result = dol_move_uploaded_file($_FILES['fileinstall']['tmp_name'], $newfile, 1, 0, $_FILES['fileinstall']['error']); if ($result > 0) { $documentrootalt = DOL_DOCUMENT_ROOT . '/extensions'; $result = dol_uncompress($newfile, $documentrootalt); if (!empty($result['error'])) { $langs->load("errors"); $mesg = '<div class="error">' . $langs->trans($result['error'], $original_file) . '</div>'; } else { $mesg = '<div class="ok">' . $langs->trans("SetupIsReadyForUse") . '</div>'; } } } } /* * View */ $dirins = DOL_DOCUMENT_ROOT . '/extensions'; $dirins_ok = is_dir($dirins); $wikihelp = 'EN:Installation_-_Upgrade|FR:Installation_-_Mise_à_jour|ES:Instalación_-_Actualización';
$error++; } } if (!$error) { if ($original_file) { @dol_delete_dir_recursive($conf->admin->dir_temp . '/' . $original_file); dol_mkdir($conf->admin->dir_temp . '/' . $original_file); } $tmpdir = preg_replace('/\\.zip$/', '', $original_file) . '.dir'; if ($tmpdir) { @dol_delete_dir_recursive($conf->admin->dir_temp . '/' . $tmpdir); dol_mkdir($conf->admin->dir_temp . '/' . $tmpdir); } $result = dol_move_uploaded_file($_FILES['fileinstall']['tmp_name'], $newfile, 1, 0, $_FILES['fileinstall']['error']); if ($result > 0) { $result = dol_uncompress($newfile, $conf->admin->dir_temp . '/' . $tmpdir); if (!empty($result['error'])) { $langs->load("errors"); setEventMessage($langs->trans($result['error'], $original_file), 'errors'); $error++; } else { // Now we move the dir of the module $modulename = preg_replace('/module_/', '', $original_file); $modulename = preg_replace('/\\-[\\d]+\\.[\\d]+.*$/', '', $modulename); // Search dir $modulename $modulenamedir = $conf->admin->dir_temp . '/' . $tmpdir . '/' . $modulename; //var_dump($modulenamedir); if (!dol_is_dir($modulenamedir)) { $modulenamedir = $conf->admin->dir_temp . '/' . $tmpdir . '/htdocs/' . $modulename; //var_dump($modulenamedir); if (!dol_is_dir($modulenamedir)) {
/** * testDolCompressUnCompress * * @return string */ public function testDolCompressUnCompress() { global $conf,$user,$langs,$db; $conf=$this->savconf; $user=$this->savuser; $langs=$this->savlangs; $db=$this->savdb; $format='zip'; $filein=dirname(__FILE__).'/Example_import_company_1.csv'; $fileout=$conf->admin->dir_temp.'/test.'.$format; $dirout=$conf->admin->dir_temp.'/test'; dol_delete_file($fileout); $count=0; dol_delete_dir_recursive($dirout,$count,1); $result=dol_compress_file($filein, $fileout, $format); print __METHOD__." result=".$result."\n"; $this->assertGreaterThanOrEqual(1,$result); $result=dol_uncompress($fileout, $dirout); print __METHOD__." result=".join(',',$result)."\n"; $this->assertEquals(0,count($result)); }