Project

General

Profile

« Previous | Next » 

Revision 546

Added by doc almost 17 years ago

added the "users in multiple groups" feature (closes parts of ticket #546)

View differences:

functions.php
5 5
/*
6 6

  
7 7
 Website Baker Project <http://www.websitebaker.org/>
8
 Copyright (C) 2004-2008, Ryan Djurovich
8
 Copyright (C) 2004-2007, Ryan Djurovich
9 9

  
10 10
 Website Baker is free software; you can redistribute it and/or modify
11 11
 it under the terms of the GNU General Public License as published by
......
156 156
	$home_folders = array();
157 157
	// Only return home folders is this feature is enabled
158 158
	// and user is not admin
159
	if(HOME_FOLDERS AND ($_SESSION['GROUP_ID']!='1')) {
159
//	if(HOME_FOLDERS AND ($_SESSION['GROUP_ID']!='1')) {
160
	if(HOME_FOLDERS AND (!in_array('1',split(",",$_SESSION['GROUPS_ID'])))) {
161

  
160 162
		$query_home_folders = $database->query("SELECT home_folder FROM ".TABLE_PREFIX."users WHERE home_folder != '".$admin->get_home_folder()."'");
161 163
		if($query_home_folders->numRows() > 0) {
162 164
			while($folder = $query_home_folders->fetchRow()) {
......
879 881
function page_filename($string) {
880 882
	$string = entities_to_7bit(umlauts_to_entities($string));
881 883
	// Now replace spaces with page spcacer
882
	$string = trim($string);
883
	$string = preg_replace('/(\s)+/', PAGE_SPACER, $string);
884
	$string = str_replace(' ', PAGE_SPACER, $string);
884 885
	// Now remove all bad characters
885 886
	$bad = array(
886 887
	'\'', /* /  */ '"', /* " */	'<', /* < */	'>', /* > */
......
893 894
	$string = str_replace($bad, '', $string);
894 895
	// Now convert to lower-case
895 896
	$string = strtolower($string);
897
	// Now remove multiple page spacers
898
	$string = str_replace(PAGE_SPACER.PAGE_SPACER, PAGE_SPACER, $string);
899
	// Clean any page spacers at the end of string
900
	$string = str_replace(PAGE_SPACER, ' ', $string);
901
	$string = trim($string);
902
	$string = str_replace(' ', PAGE_SPACER, $string);
896 903
	// If there are any weird language characters, this will protect us against possible problems they could cause
897 904
	$string = str_replace(array('%2F', '%'), array('/', ''), urlencode($string));
898 905
	// Finally, return the cleaned string
......
1193 1200
	
1194 1201
	// Unlink the page access file and directory
1195 1202
	$directory = WB_PATH.PAGES_DIRECTORY.$link;
1196
	$filename = $directory.PAGE_EXTENSION;
1203
	$filename = $directory.'.php';
1197 1204
	$directory .= '/';
1198
	if(file_exists($filename)) {
1205
	if(file_exists($filename) && substr($filename,0,1<>'.')) {
1199 1206
		if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/')) {
1200 1207
			$admin->print_error($MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE']);
1201 1208
		} else {
1202 1209
			unlink($filename);
1203
			if(file_exists($directory) && rtrim($directory,'/')!=WB_PATH.PAGES_DIRECTORY) {
1210
			if(file_exists($directory)) {
1204 1211
				rm_full_dir($directory);
1205 1212
			}
1206 1213
		}

Also available in: Unified diff