Project

General

Profile

« Previous | Next » 

Revision 1457

Added by Dietmar over 13 years ago

Preparing 2.8.2 stable, last tests

View differences:

functions.php
676 676
	return $string;
677 677
}
678 678

  
679
// Function to convert a desired media filename to a clean filename
679
// Function to convert a desired media filename to a clean mediafilename
680 680
function media_filename($string)
681 681
{
682 682
	require_once(WB_PATH.'/framework/functions-utf8.php');
......
703 703
}
704 704

  
705 705
// Create a new file in the pages directory
706
function createFolderProtectFile($relative='',$make_dir=true)
707
{
708
	global $admin, $MESSAGE;
709
	$retVal = array();
710
    if($relative=='') { return $retVal;}
711

  
712
	if ( $make_dir==true ) {
713
		// Check to see if the folder already exists
714
		if(file_exists($relative)) {
715
			// $admin->print_error($MESSAGE['MEDIA_DIR_EXISTS']);
716
			$retVal[] = $MESSAGE['MEDIA_DIR_EXISTS'];
717
		}
718
		if ( !make_dir($relative) ) {
719
			// $admin->print_error($MESSAGE['MEDIA_DIR_NOT_MADE']);
720
			$retVal[] = $MESSAGE['MEDIA_DIR_NOT_MADE'];
721
		}
722
	}
723

  
724
	change_mode($relative);
725
	if( is_writable($relative) )
726
	{
727
        if(file_exists($relative.'/index.php')) { unlink($relative.'/index.php'); }
728
	    // Create default "index.php" file
729
		$rel_pages_dir = str_replace(WB_PATH, '', dirname($relative) );
730
		$step_back = str_repeat( '../', substr_count($rel_pages_dir, '/')+1 );
731

  
732
		$sResponse  = $_SERVER['SERVER_PROTOCOL'].' 301 Moved Permanently';
733
		$content =
734
			'<?php'."\n".
735
			'// *** This file is generated by WebsiteBaker Ver.'.VERSION."\n".
736
			'// *** Creation date: '.date('c')."\n".
737
			'// *** Do not modify this file manually'."\n".
738
			'// *** WB will rebuild this file from time to time!!'."\n".
739
			'// *************************************************'."\n".
740
			"\t".'header(\''.$sResponse.'\');'."\n".
741
			"\t".'header(\'Location: '.WB_URL.'/index.php\');'."\n".
742
			'// *************************************************'."\n";
743
		$filename = $relative.'/index.php';
744
		// write content into file
745
		if ($handle = fopen($filename, 'w')) {
746
			fwrite($handle, $content);
747
			fclose($handle);
748
			change_mode($filename, 'file');
749
		}
750
		// $admin->print_success($MESSAGE['MEDIA']['DIR_MADE']);
751
	} else {
752
		// $admin->print_error($MESSAGE['GENERIC_BAD_PERMISSIONS']);
753
			$retVal[] = '::'.$MESSAGE['GENERIC_BAD_PERMISSIONS'];
754
	}
755
	return $retVal;
756
}
757

  
758
// Rebuild a new file in the pages directory
759
function rebuildFolderProtectFile($dir='')
760
{
761
	$retVal = array();
762
    try {
763
		$iterator = new RecursiveDirectoryIterator($dir);
764
		foreach (new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST) as $file)
765
		{
766
		  if ($file->isDir()) {
767
		     $protect_file = ($file->getPathname());
768
		     $retVal[] = createFolderProtectFile($protect_file,false);
769
		  } else {
770
		     // print ($file->getPathname())."<br />";
771
		  }
772
		}
773
	} catch ( Exception $e ) {
774
		$retVal[] = $MESSAGE['MEDIA_DIR_ACCESS_DENIED'];
775
	}
776

  
777
    $retVal = array_merge($retVal);
778
	return $retVal;
779
}
780

  
781
// Create a new file in the pages directory
706 782
function create_access_file($filename,$page_id,$level)
707 783
{
708 784
	global $admin, $MESSAGE;
785
/*
709 786
	if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/'))
710 787
	{
711 788
		$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
712
	}
713
	else
714
	{
789
	} else {
790
 	}
791
*/
715 792
		// First make sure parent folder exists
716 793
		$parent_folders = explode('/',str_replace(WB_PATH.PAGES_DIRECTORY, '', dirname($filename)));
717 794
		$parents = '';
......
720 797
			if($parent_folder != '/' AND $parent_folder != '')
721 798
			{
722 799
				$parents .= '/'.$parent_folder;
723
				if(!file_exists(WB_PATH.PAGES_DIRECTORY.$parents))
724
				{
725
					make_dir(WB_PATH.PAGES_DIRECTORY.$parents);
800
				$acces_file = WB_PATH.PAGES_DIRECTORY.$parents;
801
				// can only be dirs
802
				if(!file_exists($acces_file)) {
803
					if(!make_dir($acces_file)) {
804
						$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE_FOLDER']);
805
					}
726 806
				}
727
			}	
807
			}
728 808
		}
729 809
		// The depth of the page directory in the directory hierarchy
730 810
		// '/pages' is at depth 1
......
735 815
		{
736 816
			$index_location .= '../';
737 817
		}
738
		$content = ''.
739
'<?php
740
$page_id = '.$page_id.';
741
require("'.$index_location.'config.php");
742
require(WB_PATH."/index.php");
743
?>';
744
		$handle = fopen($filename, 'w');
745
		fwrite($handle, $content);
746
		fclose($handle);
747
		// Chmod the file
748
		change_mode($filename);
749
	}
750
}
818
		$content =
819
			'<?php'."\n".
820
			'// *** This file is generated by WebsiteBaker Ver.'.VERSION."\n".
821
			'// *** Creation date: '.date('c')."\n".
822
			'// *** Do not modify this file manually'."\n".
823
			'// *** WB will rebuild this file from time to time!!'."\n".
824
			'// *************************************************'."\n".
825
			"\t".'$page_id    = '.$page_id.';'."\n".
826
			"\t".'require(\''.$index_location.'index.php\');'."\n".
827
			'// *************************************************'."\n";
751 828

  
829
		if ($handle = fopen($filename, 'w')) {
830
			fwrite($handle, $content);
831
			fclose($handle);
832
			// Chmod the file
833
			change_mode($filename);
834
		} else {
835
			$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
836
		}
837
	return;
838
 }
839

  
752 840
// Function for working out a file mime type (if the in-built PHP one is not enabled)
753 841
if(!function_exists('mime_content_type'))
754 842
{
755
    function mime_content_type($filename) 
843
    function mime_content_type($filename)
756 844
	{
757 845
	    $mime_types = array(
758 846
            'txt'	=> 'text/plain',
759 847

  

Also available in: Unified diff