예제 #1
0
	public function ChangeMode($file, $dirmode, $filemode, $recursive=false)
	{
		if(in_array($file, array(".",".."))) {
			return false;
		}

		if (is_dir($this->GetDir() . $file)) {
			$mode = $dirmode;
		} elseif (is_file($this->GetDir() . $file)) {
			$mode = $filemode;
		} else {
			return false;
		}

		if(isc_chmod($this->GetDir() . $file,$mode)) {
			if($recursive === true && is_dir($this->GetDir() . $file)) {

				$tmp = new FileClass;
				$tmp->SetLoadDir($this->GetDir() . $file);

				while(($f = $tmp->NextDirElement()) !== false) {
					$tmp->ChangeMode($f, $dirmode, $filemode, $recursive);
				}

				$tmp->CloseHandle();
				unset($tmp);

			} else {
				return true;
			}
		}else {
			return false;
		}
	}
예제 #2
0
	public function _GetTemplateList()
	{
		GetLib('class.file');

		// Get a list of templates and return them as a sorted array
		$dir = ISC_BASE_PATH . "/templates";
		$arrTemplates = array();

		if (is_dir($dir)) {
			$fileHandle = new FileClass;
			if ($fileHandle->SetLoadDir($dir)) {
				while (($file = $fileHandle->NextFolder()) !== false) {
					if ($file != "." && $file != ".." && $file != "CVS" && $file != ".svn" && $file != 'blank.dat' && $file{0} != '_') {
						// These are the template categories. We will create
						// an array for each of them
						$arrTemplates[] = $file;
						sort($arrTemplates);
					}
				}
				$fileHandle->CloseHandle();
			}

		}
		ksort($arrTemplates);
		return $arrTemplates;
	}