|
@@ -2262,19 +2262,25 @@ class YellowLookup
|
|
return $name;
|
|
return $name;
|
|
}
|
|
}
|
|
|
|
|
|
- // Return file path for new page
|
|
|
|
- function findFileNew($fileName, $fileNew, $pathBase, $nameDefault)
|
|
|
|
|
|
+ // Return file path from config
|
|
|
|
+ function findFileFromConfig($fileName, $fileNameBase, $nameDefault)
|
|
{
|
|
{
|
|
|
|
+ $pathBase = $this->yellow->config->get("configDir");
|
|
if(preg_match("/^.*\/(.+?)$/", dirname($fileName), $matches)) $name = $this->normaliseName($matches[1]);
|
|
if(preg_match("/^.*\/(.+?)$/", dirname($fileName), $matches)) $name = $this->normaliseName($matches[1]);
|
|
- $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNew);
|
|
|
|
|
|
+ $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNameBase);
|
|
if(!is_file($fileName))
|
|
if(!is_file($fileName))
|
|
{
|
|
{
|
|
$name = $this->normaliseName($nameDefault);
|
|
$name = $this->normaliseName($nameDefault);
|
|
- $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNew);
|
|
|
|
|
|
+ $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNameBase);
|
|
}
|
|
}
|
|
return $fileName;
|
|
return $fileName;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function findFileNew($fileName, $fileNew, $pathBase, $nameDefault)
|
|
|
|
+ {
|
|
|
|
+ return $this->findFileFromConfig($fileName, $fileNew, $nameDefault); //TODO: Remove later
|
|
|
|
+ }
|
|
|
|
+
|
|
// Return file path from title
|
|
// Return file path from title
|
|
function findFileFromTitle($titlePrefix, $titleText, $fileName, $fileDefault, $fileExtension)
|
|
function findFileFromTitle($titlePrefix, $titleText, $fileName, $fileDefault, $fileExtension)
|
|
{
|
|
{
|
|
@@ -2287,6 +2293,28 @@ class YellowLookup
|
|
return dirname($fileName)."/".$fileNamePrefix.$fileNameText;
|
|
return dirname($fileName)."/".$fileNamePrefix.$fileNameText;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Return file path for new page
|
|
|
|
+ function findFilePageNew($fileName, $prefix = "")
|
|
|
|
+ {
|
|
|
|
+ $tokens = explode('/', $fileName);
|
|
|
|
+ for($i=0; $i<count($tokens)-1; ++$i)
|
|
|
|
+ {
|
|
|
|
+ if(!is_dir($path.$tokens[$i]) && !preg_match("/^[\d\-\_\.]+(.*)$/", $tokens[$i]))
|
|
|
|
+ {
|
|
|
|
+ $number = 1;
|
|
|
|
+ foreach($this->yellow->toolbox->getDirectoryEntries($path, "/^[\d\-\_\.]+(.*)$/", true, true, false) as $entry)
|
|
|
|
+ {
|
|
|
|
+ if($number!=1 && $number!=intval($entry)) break;
|
|
|
|
+ $number = intval($entry)+1;
|
|
|
|
+ }
|
|
|
|
+ $tokens[$i] = (empty($prefix) ? "$number-" : $prefix).$tokens[$i];
|
|
|
|
+ }
|
|
|
|
+ $path .= $tokens[$i]."/";
|
|
|
|
+ }
|
|
|
|
+ $path .= $tokens[$i];
|
|
|
|
+ return $path;
|
|
|
|
+ }
|
|
|
|
+
|
|
// Normalise file/directory/other name
|
|
// Normalise file/directory/other name
|
|
function normaliseName($text, $removePrefix = true, $removeExtension = false, $filterStrict = false)
|
|
function normaliseName($text, $removePrefix = true, $removeExtension = false, $filterStrict = false)
|
|
{
|
|
{
|