| 1 | 
        
            989
         | 
        
            aldus
         | 
        <?php
  | 
      
      
        | 2 | 
        
            991
         | 
        
            Ruebenwurz
         | 
        
  | 
      
      
        | 3 | 
        
         | 
        
         | 
        // $Id$
  | 
      
      
        | 4 | 
        
         | 
        
         | 
        
  | 
      
      
        | 5 | 
        
            989
         | 
        
            aldus
         | 
        /*
  | 
      
      
        | 6 | 
        
         | 
        
         | 
        *	@version	1.0
  | 
      
      
        | 7 | 
        
         | 
        
         | 
        *	@author		Ruud Eisinga (Ruud) John (PCWacht)
  | 
      
      
        | 8 | 
        
         | 
        
         | 
        *	@date		June 2009
  | 
      
      
        | 9 | 
        
         | 
        
         | 
        *
  | 
      
      
        | 10 | 
        
         | 
        
         | 
        */
  | 
      
      
        | 11 | 
        
         | 
        
         | 
        
  | 
      
      
        | 12 | 
        
         | 
        
         | 
        // tool_edit.php
  | 
      
      
        | 13 | 
        
         | 
        
         | 
        require_once('../../config.php');
 | 
      
      
        | 14 | 
        
         | 
        
         | 
        require_once(WB_PATH.'/framework/class.admin.php');
  | 
      
      
        | 15 | 
        
         | 
        
         | 
        require_once(WB_PATH.'/framework/functions.php');
  | 
      
      
        | 16 | 
        
         | 
        
         | 
        // create admin object depending on platform (admin tools were moved out of settings with WB 2.7)
  | 
      
      
        | 17 | 
        
         | 
        
         | 
        $admin = new admin('admintools', 'admintools');
 | 
      
      
        | 18 | 
        
         | 
        
         | 
        $admintool_link = ADMIN_URL .'/admintools/index.php';
  | 
      
      
        | 19 | 
        
         | 
        
         | 
        $module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
  | 
      
      
        | 20 | 
        
         | 
        
         | 
        $template_edit_link = ADMIN_URL .'/admintools/tool.php?tool=templateedit';
  | 
      
      
        | 21 | 
        
         | 
        
         | 
        
  | 
      
      
        | 22 | 
        
         | 
        
         | 
        
  | 
      
      
        | 23 | 
        
         | 
        
         | 
        ?>
  | 
      
      
        | 24 | 
        
         | 
        
         | 
        <h4 style="margin: 0; border-bottom: 1px solid #DDD; padding-bottom: 5px;">
  | 
      
      
        | 25 | 
        
         | 
        
         | 
        	<a href="<?php echo $admintool_link;?>"><?php echo $HEADING['ADMINISTRATION_TOOLS']; ?></a>
  | 
      
      
        | 26 | 
        
         | 
        
         | 
        	->
  | 
      
      
        | 27 | 
        
         | 
        
         | 
        	<a href="<?php echo $module_edit_link;?>">Droplets</a>
  | 
      
      
        | 28 | 
        
         | 
        
         | 
        </h4>
  | 
      
      
        | 29 | 
        
         | 
        
         | 
        <?php
  | 
      
      
        | 30 | 
        
         | 
        
         | 
        
  | 
      
      
        | 31 | 
        
         | 
        
         | 
        $temp_dir = WB_PATH.'/temp/droplets/';
  | 
      
      
        | 32 | 
        
         | 
        
         | 
        $temp_file = '/modules/droplets/backup-droplets.zip';
  | 
      
      
        | 33 | 
        
         | 
        
         | 
        // make the temporary working directory
  | 
      
      
        | 34 | 
        
         | 
        
         | 
        mkdir($temp_dir);
  | 
      
      
        | 35 | 
        
         | 
        
         | 
        $query_droplets = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets ORDER BY modified_when DESC");
 | 
      
      
        | 36 | 
        
         | 
        
         | 
        while($droplet = $query_droplets->fetchRow()) {
 | 
      
      
        | 37 | 
        
         | 
        
         | 
        	echo 'Saving: '.$droplet["name"].'.php<br />';
  | 
      
      
        | 38 | 
        
         | 
        
         | 
        	$sFile = $temp_dir.$droplet["name"].'.php';
  | 
      
      
        | 39 | 
        
         | 
        
         | 
        	$fh = fopen($sFile, 'w') ;
  | 
      
      
        | 40 | 
        
         | 
        
         | 
        	fwrite($fh, '//:'.$droplet['description']."\n");
  | 
      
      
        | 41 | 
        
         | 
        
         | 
        	fwrite($fh, '//:'.str_replace("\n"," ",$droplet['comments'])."\n");
 | 
      
      
        | 42 | 
        
         | 
        
         | 
        	fwrite($fh, $droplet['code']);
  | 
      
      
        | 43 | 
        
         | 
        
         | 
        	fclose($fh);
  | 
      
      
        | 44 | 
        
         | 
        
         | 
        }
  | 
      
      
        | 45 | 
        
         | 
        
         | 
        echo '<br />Create archive: backup-droplets.zip<br />';
  | 
      
      
        | 46 | 
        
         | 
        
         | 
        
  | 
      
      
        | 47 | 
        
         | 
        
         | 
        require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
  | 
      
      
        | 48 | 
        
         | 
        
         | 
        $archive = new PclZip(WB_PATH.$temp_file);
  | 
      
      
        | 49 | 
        
         | 
        
         | 
        $file_list = $archive->create($temp_dir, PCLZIP_OPT_REMOVE_ALL_PATH);
  | 
      
      
        | 50 | 
        
         | 
        
         | 
        if ($file_list == 0){
 | 
      
      
        | 51 | 
        
         | 
        
         | 
        	echo "Packaging error: '.$archive->errorInfo(true).'";
  | 
      
      
        | 52 | 
        
         | 
        
         | 
        	die("Error : ".$archive->errorInfo(true));
 | 
      
      
        | 53 | 
        
         | 
        
         | 
        }
  | 
      
      
        | 54 | 
        
         | 
        
         | 
        else {
 | 
      
      
        | 55 | 
        
         | 
        
         | 
        	echo '<br /><br />Backup created - <a href="'.WB_URL.$temp_file.'">Download</a>';
  | 
      
      
        | 56 | 
        
         | 
        
         | 
        }
  | 
      
      
        | 57 | 
        
         | 
        
         | 
        delete_directory ( $temp_dir );
  | 
      
      
        | 58 | 
        
         | 
        
         | 
        $admin->print_footer();
  | 
      
      
        | 59 | 
        
         | 
        
         | 
        
  | 
      
      
        | 60 | 
        
         | 
        
         | 
        
  | 
      
      
        | 61 | 
        
         | 
        
         | 
        function delete_directory($dirname) {
 | 
      
      
        | 62 | 
        
         | 
        
         | 
            if (is_dir($dirname))
  | 
      
      
        | 63 | 
        
         | 
        
         | 
                $dir_handle = opendir($dirname);
  | 
      
      
        | 64 | 
        
         | 
        
         | 
            if (!$dir_handle)
  | 
      
      
        | 65 | 
        
         | 
        
         | 
                return false;
  | 
      
      
        | 66 | 
        
         | 
        
         | 
            while($file = readdir($dir_handle)) {
 | 
      
      
        | 67 | 
        
         | 
        
         | 
                if ($file != "." && $file != "..") {
 | 
      
      
        | 68 | 
        
         | 
        
         | 
                    if (!is_dir($dirname."/".$file))
  | 
      
      
        | 69 | 
        
         | 
        
         | 
                        unlink($dirname."/".$file);
  | 
      
      
        | 70 | 
        
         | 
        
         | 
                    else
  | 
      
      
        | 71 | 
        
         | 
        
         | 
                        delete_directory($dirname.'/'.$file);
  | 
      
      
        | 72 | 
        
         | 
        
         | 
                }
  | 
      
      
        | 73 | 
        
         | 
        
         | 
            }
  | 
      
      
        | 74 | 
        
         | 
        
         | 
            closedir($dir_handle);
  | 
      
      
        | 75 | 
        
         | 
        
         | 
            rmdir($dirname);
  | 
      
      
        | 76 | 
        
         | 
        
         | 
            return true;
  | 
      
      
        | 77 | 
        
         | 
        
         | 
        }
  | 
      
      
        | 78 | 
        
         | 
        
         | 
        ?>
  |