<?php include(dirname(FILE) . '/func_phpCleanUpVariableString.txt'); include(dirname(FILE) . '/func_phpBookGetWrappedContent.txt'); include(dirname(FILE) . '/func_phpGetWrappedVariables.txt'); include(dirname(FILE) . '/func_phpBookGetStructureRecursive.txt'); include(dirname(FILE) . '/func_phpCreateProjectIndex.txt'); include(dirname(FILE) . '/func_phpSplitgivenContentByChars.txt'); / * Converts a given dokuwiki-path into the filesystem-path * * @param string $pageToConvert path to the php-wiki-page * @return returns the filesystem-path */ function phpConvertPageToFilesystemPath( $pageToConvert ) { if 1) { $pageToConvert = realpath(dirname(FILE).'/..') . '/' . preg_replace('/:/','/', $pageToConvert) . '.txt'; } return $pageToConvert; } / * Converts a given dokuwiki-path into the filesystem-path * * @param string $namespaceToConvert path to the php-wiki-namespace * @return returns the filesystem-path */ function phpConvertNamespaceToFilesystemPath( $namespaceToConvert ) { if 2) { $namespaceToConvert = realpath(dirname(FILE).'/..') . '/' . preg_replace('/:/','/', $namespaceToConvert); } return $namespaceToConvert; } /** * Converts a given string into a dokuwiki-path * * @param string $string path to the php-wiki-namespace * @return returns the dokuwiki-path */ function phpCreateDokuWikiConformName($string) { $search = array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß", "´", "`", " ", "/", "\\", 'data:media:', 'data:pages:', ".txt"); $replace = array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss", "", "", "_", ":", ":", "", "", ""); return strtolower(str_replace($search, $replace, $string)); } ################################################################################## ###### Funktion: Rekursives durchsuchen nach Blog-Eintraegen ###### Hinweis: Wird durch die Funktion getAndValidateBlogEntries() aufgerufen ################################################################################## function recursiveScanBlogEntries($dir) { ###### Wenn Uebergabewert In DokuWiki-Pfad-Syntax, dann konvertiere zu File-System-Pfad-Syntax

  if ((strpos($dir,':'))) {
  //###### String enthält :
    $tree = glob(rtrim(phpConvertNamespaceToFilesystemPath($dir), '/') . '/*');
  } elseif (strpos($dir,'/') !== false ) {
  //###### String enthält /
    $tree = glob(rtrim($dir, '/') . '/*');
  } else {
  //###### String enthält weder : noch /
    $tree = glob(rtrim(phpConvertNamespaceToFilesystemPath($dir), '/') . '/*');
  }
  global $includedFile;
  //###### Exclude-Liste (Verzeichnisse und Dateien) in Array umwandeln
  if (is_array($tree)) {
    foreach($tree as $file) {
      //echo "Gefunden: $file <br />";
      //###### Falls ein Verzeichnis gefunden wird, auch dieses rekursiv durchsuchen
      if (is_dir($file)) {
        //echo "Verzeichnis gefunden: $file  <br />";
        recursiveScanBlogEntries($file);
      //###### Falls eine Datei gefunden wird, weitere Schritte vornehmen
      } elseif (is_file($file)) {
        if (((strpos($file, 'pagedata'))) && (!(strpos($file, '_template')))) {
          //###### Diese Datei einschliessen
          //echo "Datei $file einschliessen <br /> ";
          //###### UpperCase zu LowerCase umbenennen
          $filePathSplitArray = explode('/', $file);
          $fileName = end($filePathSplitArray);
          if (preg_match("/[A-Z]/", $fileName)) {
            $fileNameLower = strtolower($fileName);
            array_pop($filePathSplitArray);
            $filePath = implode('/', $filePathSplitArray);
            echo $filePath  . '-' . $fileNameLower. '<><><><>  ////  ';
            copy("$filePath/$fileName","$filePath/$fileNameLower");
            unlink("$filePath/$fileName");
          }
          $dokuWikiConformPagePath= phpCreateDokuWikiConformName(substr(str_replace(realpath(dirname(__FILE__) . '/../../..'), '', $file),1));

echo "Test: " . $_SERVER["SCRIPT_NAME"] . " – " . realpath(dirname(FILE)) . " – " . str_replace(realpath(dirname(FILE) . '/../../..'), , $file). "<br />"; echo $dokuWikiConformPagePath . "<br />"; ###### Datei dem Blog-Page-Array hinzufuegen $includedFile[] = $dokuWikiConformPagePath; } } } } ###### globales Array uebergeben return $includedFile; } ################################################################################## ###### Funktion: Validierung der Seiten-Paare ################################################################################## function getAndValidateBlogEntries($dir) { $includedFile = recursiveScanBlogEntries($dir); foreach ($includedFile as $file) { ###### alle zu pagedata uebergeordneten Namespaces finden (noch mit Doppelungen) und in Array schreiben ###### Erforderlich, um Blog-Initialeiten und Blog-Inhaltsseiten abzugleichen $allNamespacesAbovePagedata[] = str_replace(':pagedata:' . end(explode(':', $file)), , $file); ###### Falls kein zugehoeriges Medien-Verzeichnis existiert, erstelle es

    $search = array('/data/pages/','.txt');
    $replace = array('/data/media/','');
    if (!(file_exists(str_replace($search, $replace, phpConvertPageToFilesystemPath($file))))) {
      mkdir(strtolower(str_replace($search, $replace, phpConvertPageToFilesystemPath($file))));
    }
    //###### Entferne das pagedata und pruefe ob die Paar-Datei im uebergeordneten Verzeichnis existiert
    $cutPagedataFromCurrentFile = phpConvertPageToFilesystemPath(str_replace('pagedata:', '' , $file));
    //###### Falls die Datei nicht existiert, erstelle sie mit dem Verweis auf die Inhaltsseite unter pagedate
    if (!(file_exists($cutPagedataFromCurrentFile))) {
      //###### Template fuer fehlende Wiki-Pages zu Produkttest
      $currentNamespaceTemplate = $dir . ':vorlagen:nsp_tpl_' . str_replace(':' , '_', $dir . str_replace($dir , '' , str_replace(':pagedata:' . end(explode(':', $file)), '' , $file)));
      $pageFileContent = '
        ~~NOCACHE~~
        <phpwikify>
          include(phpConvertPageToFilesystemPath("' . $currentNamespaceTemplate  . '"));
        </phpwikify>
      ';
      file_put_contents( $cutPagedataFromCurrentFile, str_replace('  ', '', $pageFileContent) );
    } else {
    }
  }

  //##### pruefe, ob zu der Wiki-Page eine pagedata-Page existiert
  $allNamespacesAbovePagedata = array_unique($allNamespacesAbovePagedata);
  foreach ($allNamespacesAbovePagedata as $singleNamespaceAbovePagedata) {
    $filesInNamespace = glob(phpConvertNamespaceToFilesystemPath($singleNamespaceAbovePagedata) . '/*.txt');
    foreach ($filesInNamespace as $singleFileInNamespace) {
      $connectedPagedataFile = str_replace('/'. end(explode('/', $singleFileInNamespace)),'',$singleFileInNamespace) . '/pagedata/' . end(explode('/', $singleFileInNamespace));
      if ( (!(strpos('_template', $connectedPagedataFile))) && (!(file_exists($connectedPagedataFile))) ){
        unlink($singleFileInNamespace);
      }
    }
  }
  //###### globales Array uebergeben
  return $includedFile;
}

################################################################################## ###### Funktion: Rekursives durchsuchen nach Bildern ################################################################################## function getAllImages($dir, $filter, $excludeArray) { if ( (empty($filter)) || ($filter == ) || (!isset($filter))) { $filter = '*'; } ###### Wenn Uebergabewert In DokuWiki-Pfad-Syntax, dann konvertiere zu File-System-Pfad-Syntax if 3)) { ###### String enthält : $tree = glob(rtrim(phpConvertNamespaceToFilesystemPath($dir), '/') . '/' . $filter); } elseif (strpos($dir,'/') !== false ) { ###### String enthält / $tree = glob(rtrim($dir, '/') . '/' . $filter); } else { ###### String enthält weder : noch / $tree = glob(rtrim(phpConvertNamespaceToFilesystemPath($dir), '/') . '/' . $filter); } global $includedImages; if (is_array($tree)) { foreach($tree as $file) { echo "Gefunden: $file \\
";
###### Falls ein Verzeichnis gefunden wird, auch dieses rekursiv durchsuchen if (is_dir($file)) { echo "Verzeichnis gefunden: $file \\
"; getAllImages($file);
###### Falls eine Datei gefunden wird, weitere Schritte vornehmen } elseif (is_file($file)) { echo "Datei gefunden: $file <br />"; ###### Falls Datei verarbeitet werden soll, inkludieren und in ganzheitliches Array fuellen if ( (strpos($file, '.jpg')) || (strpos($file, '.png')) ) { echo "Datei $file einschliessen <br />"; ###### UpperCase zu LowerCase umbenennen $filePathSplitArray = explode('/', $file); $fileName = end($filePathSplitArray); if (preg_match("/[A-Z]/", $fileName)) { $fileNameLower = strtolower($fileName); array_pop($filePathSplitArray); $filePath = implode('/', $filePathSplitArray); echo $filePath . '-' . $fileNameLower. '<><><><> '; copy("$filePath/$fileName","$filePath/$fileNameLower"); unlink("$filePath/$fileName"); } $dokuWikiConformPagePath= phpCreateDokuWikiConformName(substr(str_replace(realpath(dirname(FILE) . '/../../..'),
, $file),1)); $includedImages[] = $dokuWikiConformPagePath; } } } }
###### globales Array uebergeben return $blogPageData; return $includedImages; } ################################################################################## ###### Funktion: Rekursives durchsuchen nach Blog-Eintraegen ##################################################################################

function recursiveScan($dir, $excludeArray) {
  global $includedFile;
  //###### Exclude-Liste (Verzeichnisse und Dateien) in Array umwandeln
  $tree = glob(rtrim($dir, '/') . '/*.txt');
  if (is_array($tree)) {
    foreach($tree as $file) {

echo "Gefunden: $file \\
";
###### Falls ein Verzeichnis gefunden wird, auch dieses rekursiv durchsuchen

      if (is_dir($file)) {

echo "Verzeichnis gefunden: $file \\
"; recursiveScan($file, $excludeArray);
###### Falls eine Datei gefunden wird, weitere Schritte vornehmen

      } elseif (is_file($file)) {

echo "Datei gefunden: $file \\
"; $includeThisFile = 0;
###### Pruefen, ob die Datei auf der Exclude-Liste steht

        $excludeThisFile = 0;
        foreach($excludeArray as $excludeStringElement) {
          if ( ((!(strpos($file, 'pagedata'))) && (!(strpos($file, '/data/media/')))) || (strpos($file, $excludeStringElement))) { $excludeThisFile = 1; }
        }
        if ( $excludeThisFile == 1 ) {

echo "Datei $file ausschliessen \\
"; } else {
echo "Datei $file einschliessen \\
";

        }
        //###### Falls Datei verarbeitet werden soll, inkludieren und in ganzheitliches Array fuellen
        if ($excludeThisFile  == 0) {
          //###### UpperCase zu LowerCase umbenennen
          $filePathSplitArray = explode('/', $file);
          $fileName = end($filePathSplitArray);
          if (preg_match("/[A-Z]/", $fileName)) {
            $fileNameLower = strtolower($fileName);
            array_pop($filePathSplitArray);
            $filePath = implode('/', $filePathSplitArray);
            echo $filePath  . '-' . $fileNameLower. '<><><><>  ////  ';
            copy("$filePath/$fileName","$filePath/$fileNameLower");
            unlink("$filePath/$fileName");
          }
          $dokuWikiConformPagePath= phpCreateDokuWikiConformName(substr(str_replace(realpath(dirname(__FILE__) . '/../../..'), '', $file),1));

echo "Test: " . $_SERVER["SCRIPT_NAME"] . " – " . realpath(dirname(FILE)) . " – " . str_replace(realpath(dirname(FILE) . '/../../..'), '', $file). " \\
";
echo $dokuWikiConformPagePath . " \\
";

          $includedFile[] = $dokuWikiConformPagePath;
        }
      }
    }
  }

###### globales Array uebergeben return $blogPageData;

  return $includedFile;
}

################################################################################## ###### Funktion: Volle Browser-URL zu angegebenem Bild ermitteln ################################################################################## function getUrlOfImage ( $givenImageWikiPath ) { if( isset($_SERVER['HTTPS'] ) ) { $dokuwikiMediaUrl = 'https:' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/lib/exe/fetch.php?media=' . $givenImageWikiPath;

  } else {
    $dokuwikiMediaUrl = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/lib/exe/fetch.php?media=' . $givenImageWikiPath;
  }
  return $dokuwikiMediaUrl;
}

###################################################################################################### JavaScript-Functions ###################################################################################################### ?>


1)
strpos($pageToConvert, '/') === false
2)
strpos($namespaceToConvert, '/') === false
3)
strpos($dir,':'
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information