예제 #1
0
        $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';
예제 #2
0
         $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)) {
예제 #3
0
    /**
     * 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));
    }