Ejemplo n.º 1
0
 function removedir($dir)
 {
     if (is_dir($dir) && !is_link($dir)) {
         if ($dh = opendir($dir)) {
             while (($sf = readdir($dh)) !== false) {
                 if ('.' == $sf || '..' == $sf) {
                     continue;
                 }
                 file::removedir($dir . '/' . $sf);
             }
             closedir($dh);
         }
         return rmdir($dir);
     }
     return @unlink($dir);
 }
Ejemplo n.º 2
0
 function make_clean()
 {
     file::removedir(UPGRADE_PATH . $this->package['release_code']);
     unlink(UPGRADE_PATH . $this->package['release_code'] . '.zip');
     return true;
 }
Ejemplo n.º 3
0
 function douninstall()
 {
     $plugin = $this->db->fetch_by_field('plugin', 'pluginid', $this->get[2]);
     if (!$plugin) {
         $this->message($this->view->lang['pluginNotExist']);
     }
     $identifier = $plugin['identifier'];
     $this->loadplugin($identifier);
     $_ENV["{$identifier}"]->uninstall();
     @file::removedir(HDWIKI_ROOT . "/plugins/{$identifier}");
     $_ENV['plugin']->remove_plugin($this->get[2]);
     $this->cache->removecache('plugin');
     $this->message($this->view->lang['pluginAddrName'] . $plugin[identifier] . $this->view->lang['pluginunInstallSuccess'], 'index.php?admin_plugin-list');
 }
Ejemplo n.º 4
0
 function doinstall()
 {
     if (isset($this->get[2]) && is_numeric($this->get[2])) {
         $style_download_url = $this->setting['app_url'] . "/hdapp.php?action=download&type=template&install=1&id=" . $this->get[2] . "&url=" . WIKI_URL;
         $zipcontent = @util::hfopen($style_download_url);
         $tmpdir = HDWIKI_ROOT . '/data/tmp/';
         file::forcemkdir($tmpdir);
         $tmpname = $tmpdir . util::random(6) . '.zip';
         file::writetofile($tmpname, $zipcontent);
         require HDWIKI_ROOT . "/lib/zip.class.php";
         require HDWIKI_ROOT . "/lib/xmlparser.class.php";
         $zip = new zip();
         if (!$zip->chk_zip) {
             $this->message($this->view->lang['styleInstallNoZlib'], '');
         }
         $ziplist = @$zip->get_List($tmpname);
         if (!(bool) $ziplist) {
             @unlink($tmpname);
             $this->message($this->view->lang['styleZipFail'], 'BACK');
         }
         $theme_name = $_ENV['theme']->get_theme_name($ziplist);
         @$zip->Extract($tmpname, $tmpdir);
         @unlink($tmpname);
         //move file
         $syle_path = $tmpdir . 'hdwiki';
         if (is_dir(HDWIKI_ROOT . '/style/' . $theme_name)) {
             @file::removedir($syle_path);
             $this->message($this->view->lang['stylePathRepeat'], 'BACK');
         }
         @file::copydir($syle_path, HDWIKI_ROOT);
         @file::removedir($syle_path);
         //save db
         $style_xml = HDWIKI_ROOT . '/style/' . $theme_name . '/desc.xml';
         if (!is_file($style_xml)) {
             $this->message($this->view->lang['styleXmlNotExist'], 'BACK');
         }
         $xmlnav = $_ENV['theme']->read_xml($theme_name);
         $style['name'] = $xmlnav['name'];
         $style['copyright'] = $xmlnav['copyright'];
         $style['path'] = $theme_name;
         $stylecon = $_ENV['theme']->add_check_style($style['path']);
         if ($stylecon == null) {
             $_ENV['theme']->add_style($style);
             $this->cache->removecache('style');
             $this->message($this->view->lang['styleInstallSuccess'], 'BACK');
         } else {
             $this->message($this->view->lang['styleDbPathRepeat'], 'index.php?admin_theme');
         }
     } else {
         $this->message($this->view->lang['commonParametersInvalidTip'], 'index.php?admin_theme');
     }
 }