function createFile($filename) { $filename = trim($filename); if (!$this->checkName($filename)) { return false; } //check that the page not exists if (getFileObjectAndFind($this->path . SLASH . $this->getUnixName($filename))) { return setError(sprintf(_('The page %s ever exists'), $filename)); } if (preg_match('/\\.([a-z]*)$/i', $filename, $tabExt)) { if (!($tabExt[1] == 'html' || $tabExt[1] == 'htm' || $tabExt[1] == 'lnk')) { return setError(sprintf(_('%s file extension is not allowed'), $tabExt[1])); } else { if (preg_replace('/\\.[a-z]*$/i', '', $filename) == '') { return setError(_('You must specify a name for the file to create.')); } } } $filenameori = $filename; if (strlen($filename) == 0) { return setError(_('You must specify a name for the file to create.')); } if (!preg_match('/\\.[a-z]*$/', $filename)) { $filename .= '.html'; } $strPageName = preg_replace('/\\.[a-z]*$/', '', $filename); $strFileName = $this->getUnixName($filename); //On vérifie qu'un fichier du même nom n'existe pas dans le répertoire if ($this->findFile($strFileName) !== false) { return setError('La page ' . $strPageName . ' existe déjà'); } //on supprime le cache du menu if (!deleteMenuCache()) { return false; } if (!parent::createFile($strFileName)) { return false; } if (!($oPage = getFileObject($this->path . SLASH . basename($strFileName)))) { return setError('internal error, pdircategory, createFile'); } if (!$oPage->setVirtualName($strPageName)) { return false; } return $oPage; }