Example #1
0
function jieqi_makezip($filename, $volume, $type)
{
    if (@function_exists('gzcompress')) {
        include_once JIEQI_ROOT_PATH . '/lib/compress/zip.php';
        $zip = new JieqiZip();
        if ($type == 1) {
            $zipfilename = MYSQL_BACKUP_PATH . '/' . $filename . '-1' . '.zip';
            if (!$zip->zipstart($zipfilename)) {
                return FALSE;
            }
            for ($i = 1; $i < $volume; $i++) {
                $sqlfilename = MYSQL_BACKUP_PATH . '/' . $filename . '-' . $i . '.sql';
                if (@is_file($sqlfilename)) {
                    $content = jieqi_readfile($sqlfilename);
                    $zip->zipadd(basename($sqlfilename), $content);
                    jieqi_delfile($sqlfilename);
                }
            }
            if ($zip->zipend()) {
                @chmod($zipfilename, 0777);
            }
            return TRUE;
        } elseif ($type == 2) {
            for ($i = 1; $i < $volume; $i++) {
                $zipfilename = MYSQL_BACKUP_PATH . '/' . $filename . '-' . $i . '.zip';
                if (!$zip->zipstart($zipfilename)) {
                    return FALSE;
                }
                $sqlfilename = MYSQL_BACKUP_PATH . '/' . $filename . '-' . $i . '.sql';
                if (@is_file($sqlfilename)) {
                    $content = jieqi_readfile($sqlfilename);
                    $zip->zipadd(basename($sqlfilename), $content);
                    if ($zip->zipend()) {
                        @chmod($zipfilename, 0777);
                    }
                    jieqi_delfile($sqlfilename);
                }
            }
            return TRUE;
        } else {
            return FALSE;
        }
    } else {
        return FALSE;
    }
}
Example #2
0
 function makezip()
 {
     if (JIEQI_MODULE_VTYPE == '' || JIEQI_MODULE_VTYPE == 'Free') {
         return true;
     }
     global $jieqiConfigs;
     global $jieqi_file_postfix;
     if (@function_exists('gzcompress')) {
         $dir = $this->getDir('htmldir', true, false);
         //逐个加文件,因为里面有内容需要替换
         $filelist = array();
         if (file_exists($dir)) {
             $dh = opendir($dir);
             while (false !== ($files = readdir($dh))) {
                 if ($files != "." && $files != ".." && !is_dir($dir . '/' . $files)) {
                     $filelist[] = $dir . '/' . $files;
                 }
             }
             closedir($dh);
         }
         if (count($filelist) > 0) {
             include_once JIEQI_ROOT_PATH . '/lib/compress/zip.php';
             $zip = new JieqiZip();
             $zipfilename = $this->getDir('zipdir', false) . '/' . $this->id . $jieqi_file_postfix['zip'];
             if (!$zip->zipstart($zipfilename)) {
                 return false;
             }
             foreach ($filelist as $filename) {
                 if (is_file($filename)) {
                     $content = jieqi_readfile($filename);
                     //把css和js替换成本地的
                     $content = preg_replace("/href=(\"|')([^'\"]*)page.css(\"|')/i", 'href="page.css"', $content, 1);
                     $zip->zipadd(basename($filename), $content);
                 }
             }
             //加入css和js
             $content = jieqi_readfile(JIEQI_ROOT_PATH . '/configs/article/page.css');
             $zip->zipadd('page.css', $content);
             $zip->setComment("Powered by JIEQI CMS\r\nhttp://www.jieqi.com");
             if ($zip->zipend()) {
                 @chmod($zipfilename, 0777);
             }
         }
         return true;
     } else {
         return false;
     }
 }
Example #3
0
File: jar.php Project: thu0ng91/jmc
 function makejar($jarfile = '', $jadfile = '')
 {
     $zip = new JieqiZip();
     $zip->zipstart($jarfile);
     //建立ZIP文件,准备输出内容
     $zip->zipadd('a.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/a.class'));
     $zip->zipadd('b.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/b.class'));
     $zip->zipadd('c.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/c.class'));
     $zip->zipadd('d.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/d.class'));
     $zip->zipadd('e.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/e.class'));
     $zip->zipadd('f.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/f.class'));
     $zip->zipadd('g.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/g.class'));
     $zip->zipadd('h.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/h.class'));
     $zip->zipadd('i.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/i.class'));
     $zip->zipadd('j.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/j.class'));
     $zip->zipadd('k.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/k.class'));
     $zip->zipadd('l.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/l.class'));
     $zip->zipadd('m.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/m.class'));
     $zip->zipadd('n.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/n.class'));
     $zip->zipadd('o.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/o.class'));
     $zip->zipadd('JavaBook.class', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/JavaBook.class'));
     $zip->zipadd('icon.png', jieqi_readfile(JIEQI_ROOT_PATH . '/lib/compress/jar/icon.png'));
     $maininest = 'Manifest-Version: 1.0' . "\r\n" . 'Ant-Version: Apache Ant 1.7.0' . "\r\n" . 'MicroEdition-Configuration: CLDC-1.0' . "\r\n" . 'MIDlet-Name: ' . $this->bookinfo['title'] . "\r\n" . 'MIDlet-Version: 1.0' . "\r\n" . 'MIDlet-Vendor: JIEQI CMS (www.jieqi.com)' . "\r\n" . 'MIDlet-1: ' . $this->bookinfo['title'] . ', /icon.png, JavaBook' . "\r\n" . 'MicroEdition-Profile: MIDP-1.0' . "\r\n" . 'Created-By: 10.0-b19 (Sun Microsystems Inc.)' . "\r\n";
     $zip->zipadd('META-INF/MANIFEST.MF', $maininest);
     $index = '';
     $index .= chr(0x0) . chr(0x1) . chr(0x30);
     $index .= $this->dechexs(strlen($this->bookinfo['title']), 2) . $this->bookinfo['title'];
     $chaptercount = strval(count($this->chapters));
     $index .= $this->dechexs(strlen($chaptercount), 2) . $chaptercount;
     //增加章节
     $i = 1;
     foreach ($this->chapters as $k => $v) {
         $zip->zipadd($i, $v['content']);
         $tmpstr = $i . ',' . strlen($v['content']) . ',' . $v['title'];
         $index .= $this->dechexs(strlen($tmpstr), 2) . $tmpstr;
         $i++;
     }
     //电子书运行后默认首页显示书的信息
     $tmpvar = '';
     $tmpvar .= strtoupper(JIEQI_SYSTEM_CHARSET) != 'UTF-8' ? iconv(strtoupper(JIEQI_SYSTEM_CHARSET), 'UTF-8//IGNORE', '书名:') : '书名:';
     $tmpvar .= $this->bookinfo['title'] . "\r\n";
     $tmpvar .= strtoupper(JIEQI_SYSTEM_CHARSET) != 'UTF-8' ? iconv(strtoupper(JIEQI_SYSTEM_CHARSET), 'UTF-8//IGNORE', '作者:') : '作者:';
     $tmpvar .= $this->bookinfo['author'] . "\r\n";
     $tmpvar .= strtoupper(JIEQI_SYSTEM_CHARSET) != 'UTF-8' ? iconv(strtoupper(JIEQI_SYSTEM_CHARSET), 'UTF-8//IGNORE', '制作:') : '制作:';
     $tmpvar .= $this->bookinfo['publisher'] . "\r\n";
     if (defined('JIEQI_MAIN_URL')) {
         $tmpvar .= strtoupper(JIEQI_SYSTEM_CHARSET) != 'UTF-8' ? iconv(strtoupper(JIEQI_SYSTEM_CHARSET), 'UTF-8//IGNORE', '网址:') : '网址:';
         $tmpvar .= JIEQI_MAIN_URL . "\r\n";
     }
     $tmpvar = substr($tmpvar, 0, -2);
     $index .= $this->dechexs(strlen($tmpvar), 4) . $tmpvar;
     $zip->zipadd('0', $index);
     $zip->setComment('create by jieqi cms (www.jieqi.com)');
     //设置备注
     $zip->zipend();
     //输出zip文件完毕
     $filesize = filesize($jarfile);
     $jadstr = 'Manifest-Version: 1.0' . "\r\n" . 'Ant-Version: Apache Ant 1.7.0' . "\r\n" . 'MIDlet-1: ' . $this->bookinfo['title'] . ', /icon.png, JavaBook' . "\r\n" . 'MIDlet-Jar-Size: ' . $filesize . "\r\n" . 'MIDlet-Jar-URL: ' . basename($jarfile) . "\r\n" . 'MIDlet-Name: ' . $this->bookinfo['title'] . "\r\n" . 'MIDlet-Vendor: JIEQI CMS (www.jieqi.com)' . "\r\n" . 'MIDlet-Version: 1.0' . "\r\n" . 'MicroEdition-Configuration: CLDC-1.0' . "\r\n" . 'MicroEdition-Profile: MIDP-1.0' . "\r\n";
     if (empty($jadfile)) {
         $i = strrpos($jarfile, '.');
         if ($i > 0) {
             $jadfile = substr($jarfile, 0, $i);
         }
         $jadfile .= '.jad';
     }
     jieqi_writefile($jadfile, $jadstr);
 }