diff --git a/accueil.php b/accueil.php new file mode 100644 index 0000000..66ee736 --- /dev/null +++ b/accueil.php @@ -0,0 +1,751 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); + } + + // 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält + $sql1 = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE fc.path LIKE '%files/archive/%' + ORDER BY fc.name DESC"; + + $result1 = $conn->query($sql1); + + + + // 2. Abfrage: Alle Mimetypes und ihre IDs + $sql2 = "SELECT id, mimetype FROM oc_mimetypes"; + $result2 = $conn->query($sql2); + + // 3. Abfrage: Alle Tags im System + $sql3 = "SELECT id, name FROM oc_systemtag"; + $result3 = $conn->query($sql3); + + // 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file') + $sql4 = "SELECT objectid, systemtagid + FROM oc_systemtag_object_mapping + WHERE objecttype = 'files'"; + + $result4 = $conn->query($sql4); + + // Alle Mimetypes in einem Array speichern + $mimetypes = []; + while ($row = $result2->fetch_assoc()) { + $mimetypes[$row['id']] = $row['mimetype']; + } + + // Alle Tags in einem Array speichern + $tags = []; + while ($row = $result3->fetch_assoc()) { + $tags[$row['id']] = $row['name']; + } + + // Tags mit Dateiinformationen verbinden + $fileTags = []; + while ($row = $result4->fetch_assoc()) { + $fileTags[$row['objectid']][] = $tags[$row['systemtagid']]; + } + +?> + + + + + + + + + + + + + + + + + + + +
+
+ + "; + echo "
" . $Parsedown->text($file_content) . "
"; + ?> + +
+ +
+ text($file_content); + $file_content_html = str_replace('src=".attachments.', 'class="" id="nextliveImg" onclick="focusItem(\''.$imgLink.'\')" src="ncdataaccueil/.attachments.', $file_content_html); + + echo "
$file_content_html
"; + ?> +
+ +
";?>
+ + + +
";?>
+ +
";?>
+ +
";?>
+ +
";?>
+ +
text($file_content); + ?> +
+ +
+ +
";?>
+ +
";?>
+ + + + +
+ + + + + + + + + + + +
+ +
+
close index [x]
+
+ +
+ +
+ + +
+ +
+ + + + + + + + + File Information + + + + + + + + "; + + + + + + + echo " + + + + + + + + + + + + + + + + + "; + + + // Array zum Speichern der fileids + $fileids = array(); + + if ($result1->num_rows > 0) { + while ($row = $result1->fetch_assoc()) { + $file_id = $row['fileid']; + $file_name = $row['file_name']; + $file_size = $row['size']; + $file_size_in_mb = number_format($file_size / (1024 * 1024), 2); + $mimetype_id = $row['mimetype']; + $mimetype_name = isset($mimetypes[$mimetype_id]) ? $mimetypes[$mimetype_id] : 'Unknown'; + + + // Hole die Tags für diese Datei + $file_tags = isset($fileTags[$file_id]) ? implode(', ', $fileTags[$file_id]) : 'No Tags'; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (DDMMYY-HHMM oder DDMMYY_HHMM) + if (!preg_match('/^\d{6}[-_]\d{4}/', $file_name)) { + continue; // Diese Datei überspringen, wenn der Dateiname nicht mit dem gewünschten Format beginnt + } + + $fileids[] = $row['fileid']; + + // TO NOT SHOW THE DESCRIPTION FILES !! + // if (str_contains($file_tags, 'Tags')) { + // continue; + // } + + include 'includes/item-title-split.php'; + + // Generiere die URL für die Datei + $file_url = "https://pl4tform.org/ncdata/{$file_name}"; + $file_url = str_replace(" ","%20",$file_url); + + $file_date = "$file_day.$file_month.$file_year"; + $file_time = "$file_hour:$file_minute"; + + $mimetype_name = explode('/', $mimetype_name)[0]; + + // Zeile in die Tabelle einfügen und Dateinamen als Link formatieren + // echo " + echo " + + + + + + + + + + + + + + "; + } + } else { + echo ""; + } + + echo " +
File Name
$file_id$file_name$file_title$file_tags$file_date$file_time$mimetype_name$file_size_in_mb20$file_year$file_month"; + echo "mimetype: $mimetype_name, link: $file_url"; + // ACTIVER POUR QUE LES RECHERCHE PRENNENT AUSSI COMPTE DES CONTENUES DES FICHIER !!! ===>> problem avec les fichier de discription son parce qu'il ont le display = none + if (str_contains($mimetype_name, 'text') AND !str_contains($file_tags, 'No Tags')) { + $file_content = file_get_contents($file_url); + echo $file_content; + } + echo "$file_year$file_month$file_day$file_hour$file_minute
No data found
+ + "; + + $conn->close(); + ?> + + + + +
+ + + 0) { + // $random_fileid = $fileids[array_rand($fileids)]; + // } else {} + + $fileids_js_array = json_encode($fileids); + ?> + + + + + +
+ +
+
+
+
+
+
+
+ +
+ + + + + + + + + +
+
+
<= BACK
+
+
+
+
+
+ +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + diff --git a/archive.php b/archive.php new file mode 100644 index 0000000..e5ac0e5 --- /dev/null +++ b/archive.php @@ -0,0 +1,178 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); +} + +// 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält +$sql1 = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE fc.path LIKE '%files/archive/%' + ORDER BY fc.name DESC"; + +$result1 = $conn->query($sql1); + +// 2. Abfrage: Alle Mimetypes und ihre IDs +$sql2 = "SELECT id, mimetype FROM oc_mimetypes"; +$result2 = $conn->query($sql2); + +// 3. Abfrage: Alle Tags im System +$sql3 = "SELECT id, name FROM oc_systemtag"; +$result3 = $conn->query($sql3); + +// 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file') +$sql4 = "SELECT objectid, systemtagid + FROM oc_systemtag_object_mapping + WHERE objecttype = 'files'"; + +$result4 = $conn->query($sql4); + +// Alle Mimetypes in einem Array speichern +$mimetypes = []; +while ($row = $result2->fetch_assoc()) { + $mimetypes[$row['id']] = $row['mimetype']; +} + +// Alle Tags in einem Array speichern +$tags = []; +while ($row = $result3->fetch_assoc()) { + $tags[$row['id']] = $row['name']; +} + +// Tags mit Dateiinformationen verbinden +$fileTags = []; +while ($row = $result4->fetch_assoc()) { + $fileTags[$row['objectid']][] = $tags[$row['systemtagid']]; +} + +// Füge den Tag "archive" zu jedem Eintrag in fileTags hinzu +// foreach ($fileTags as $fileId => $existingTags) { +// // Prüfen, ob der Tag "archive" bereits vorhanden ist +// if (!in_array('archive', $existingTags)) { +// // Füge den Tag "archive" hinzu (nur im Array, nicht in der DB) +// $fileTags[$fileId][] = 'archive'; +// } +// } + + +// HTML-Tabelle erstellen +echo " + + + + + File Information + + + + + + + + + +

File Information and Tags

+ +

All Tags:

+ "; + + + + echo "

All files in Archive:

+ + + + + + + + + + + + + "; + +if ($result1->num_rows > 0) { + while ($row = $result1->fetch_assoc()) { + $file_id = $row['fileid']; + $file_name = $row['file_name']; + $file_size = $row['size']; + $file_size_in_mb = number_format($file_size / (1024 * 1024), 2); + $mimetype_id = $row['mimetype']; + $mimetype_name = isset($mimetypes[$mimetype_id]) ? $mimetypes[$mimetype_id] : 'Unknown'; + + // Hole die Tags für diese Datei + $file_tags = isset($fileTags[$file_id]) ? implode(', ', $fileTags[$file_id]) : 'No Tags'; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (DDMMYY-HHMM oder DDMMYY_HHMM) + if (!preg_match('/^\d{6}[-_]\d{4}/', $file_name)) { + continue; // Diese Datei überspringen, wenn der Dateiname nicht mit dem gewünschten Format beginnt + } + + // Generiere die URL für die Datei + $file_url = "https://pl4tform.org/data/files/{$file_name}"; + + // Zeile in die Tabelle einfügen und Dateinamen als Link formatieren + echo " + + + + + + + "; + } +} else { + echo ""; +} + +echo " +
File IDFile NameSize (MB)MimetypeTagsedit
{$file_id}{$file_name}{$file_size_in_mb}{$mimetype_name}{$file_tags}edit
No data found
+ + + +"; + +$conn->close(); +?> diff --git a/berlin.html b/berlin.html new file mode 100644 index 0000000..ea1f0da --- /dev/null +++ b/berlin.html @@ -0,0 +1,8 @@ + + + +

Vollbildanzeige

+ + + + \ No newline at end of file diff --git a/chat.php b/chat.php new file mode 100644 index 0000000..b23f8fa --- /dev/null +++ b/chat.php @@ -0,0 +1,220 @@ + + +$lastTimecode"; + +?> + + + +
CH4TFORM
+ +
+ +

CH4TFORM

+ +
+ +
+
+
+ + + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + + + + + diff --git a/chat2.php b/chat2.php new file mode 100644 index 0000000..181a626 --- /dev/null +++ b/chat2.php @@ -0,0 +1,198 @@ + + + +College Enquiry Chat + + + + + + + + + + + +
+
+
+

College Enquiry Chat

+
+
+ + +
+ +
+
+
+

that mongodb thing looks good, huh? + tiny master db, and huge document store

+
+
+
+ +
+
+
+

that mongodb thing looks good, huh? + tiny master db, and huge document store

+
+
+
+ + . +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..a79a61f Binary files /dev/null and b/favicon.ico differ diff --git a/hotgluecode.php b/hotgluecode.php new file mode 100644 index 0000000..408cfc0 --- /dev/null +++ b/hotgluecode.php @@ -0,0 +1,35 @@ + + + "; + + + }; \ No newline at end of file diff --git a/hotgluetransformation.php b/hotgluetransformation.php new file mode 100644 index 0000000..19b7eaa --- /dev/null +++ b/hotgluetransformation.php @@ -0,0 +1,440 @@ + + + + + + + + +"; + echo "
"; + } + elseif ($objectData['page-background-color']) { + $backgroundColor = $objectData['page-background-color']; + // echo "
"; + echo "
"; + } + + + } + else { + + + + + if ($objectData['object-width'] > 1) { + +///////////////// PARSING BRGINN ///////////////// + + + $objectType = $objectData['type']; + + $zIndex = $objectData['object-zindex']; + + $height = $objectData['object-height']; + $heightNumb = substr($height, 0, strlen($height)-3); + $screenHeight = 907; + $heightCalc = $heightNumb / $screenHeight * 100; + $heightProcent = $heightCalc . "vh"; + + $top = $objectData['object-top']; + $topNumb = substr($top, 0, strlen($lft)-3); + $topCalc = $topNumb / $screenHeight * 100; + $topProcent = $topCalc . "vh"; + + + $width = $objectData['object-width']; + $widthNumb = substr($width, 0, strlen($width)-3); + $screenWidth = 1919; + $widthCalc = $widthNumb / $screenWidth * 100; + $widthProcent = $widthCalc . "vw"; + + $left = $objectData['object-left']; + $leftNumb = substr($left, 0, strlen($lft)-3); + $leftCalc = $leftNumb / $screenWidth * 100; + $leftProcent = $leftCalc . "vw"; + + + + $link = substr($objectData['object-link'], 0, -1); + + if (str_contains($objectType, 'image')) { + + //// iamg file specifications alayisis + + // echo "yes its an image
"; + $path = "https://pl4tform.org/".$hotglueSitePathFromDatabase."shared/" . $objectData['image-file']; + + } + + // elseif (str_contains($objectType, 'iframe')) { + // $iframeUrl = $objectData['iframe-url']; + // $objectWidth = $objectData['object-width']; + + // } + + else { + + + //// text file specifications alayisis + + + $lastLines = array_slice($lines, $textStartLine); + $text = implode("
", $lastLines); + + // echo "its a text
text: $text
"; + $path = ""; + $fontSize = $objectData['text-font-size']; + $fontColor = $objectData['text-font-color']; + $backgroundColor = $objectData['text-background-color']; + $objectWidth = $objectData['object-width']; + + // attention there will be "" inside the font family + $fontFamily = $objectData['text-font-family']; + $fontStyle = $objectData['text-font-style']; + $fontWeight = $objectData['text-font-weight']; + $letterSpacing = $objectData['text-letter-spacing']; + $lineHeight = $objectData['text-line-height']; + $paddingTop = $objectData['text-padding-y']; + $paddingBottom = $objectData['text-padding-y']; + $paddingLeft = $objectData['text-padding-x']; + $paddingRight = $objectData['text-padding-x']; + $textAlign = $objectData['text-align']; + $wordSpacing = $objectData['text-word-spacing']; + + + + $iframeUrl = $objectData['iframe-url']; + + + } + + + +///////////////// PARSING END ///////////////// + + +$ratioHW = $heightNumb / $widthNumb; +$heightNew = $ratioHW * $widthCalc . "vw"; + +$ratioTW = $topNumb / $widthNumb; +$topNew = $ratioTW * $widthCalc . "vw"; + +$url = ""; + + +if (strlen($link < 1)) { + #### NOFUNCTION + $btnType = 'noFunctionBtn'; + $load = ""; + $directFocus = ""; + $cat = ""; + $onclick = ''; + $loadOnHover = $link; + $loadOnHover_name = $loadOnHover; +} + +elseif (str_contains($link, "livestream")){ + ##### LIVESTREAM + $load = "loadLiveBtn"; + $directFocus = ""; + $cat = ""; + $onclick = 'audioPlay("https://pl4tform.org/stream","livestream")'; + $loadOnHover = 'Livestream'; + $loadOnHover_name = "Livestream"; +} + +elseif (str_contains($link, "play")){ + ##### DIRECT PLAY + $load = ""; + $cat = $link; + $loadOnHover = ""; + $cat = str_replace('play', '', $cat); + $file_id = $cat; + // Abrufen der Datei-Informationen + $file_info = getFileInfo($file_id); + // Überprüfen, ob die Datei gefunden wurde + if ($file_info) { + $file_id = $file_info['file_id']; + $file_name = $file_info['file_name']; + $file_size = $file_info['file_size']; + $mimetype_name = $file_info['mimetype_name']; + $file_tags = $file_info['file_tags']; + $file_title = $file_info['file_title']; + } + // echo "CAAAT: $cat and file_name: $file_name"; + $loadOnHover_name = $file_title; + $onclick = 'audioPlay("https://pl4tform.org/ncdata/'.$file_name.'","'.$file_name.'");'; +} + +########## HAVE TO FIX HOVER LATER !!! +// elseif (str_contains($link, "hover")){ +// $load = "hoverFocusBtn"; +// $directFocus = ""; +// $cat = $btnId; + +// if (str_contains($btnId, ".txt")) { +// $loadOnHover = file_get_contents("https://pl4tform.org/data/files/".$cat); +// $loadOnHover = str_replace("\n", '', $loadOnHover); +// } +// else { +// $loadOnHover = $btnId; +// } +// $onclick = ''; +// } + +elseif (str_contains($link, "archive")){ + ##### ARCHIVE CHRONOLOGIC + $load = "loadMapBtn"; + $directFocus = ""; + $btnId = $link; + $cat = $btnId; + $onclick = 'openMap("archive")'; + $loadOnHover = "Chronologic Archive"; + $loadOnHover_name = $loadOnHover; +} + +elseif (str_contains($link, "url")){ + ##### ARCHIVE CHRONOLOGIC + $load = "loadMapBtn"; + $directFocus = ""; + $btnId = $link; + $cat = $btnId; + $onclick = ''; + $url = str_replace("url","https://",$link); + $loadOnHover = $url; + $loadOnHover_name = $loadOnHover; +} + +elseif (str_contains($link, "home")){ + ##### HOME CLOSE ALL + $load = "loadMapBtn"; + $directFocus = ""; + $btnId = $link; + $cat = $btnId; + $onclick = 'closeAll()'; + $loadOnHover = "Home"; + $loadOnHover_name = $loadOnHover; +} + + +elseif (str_contains($link, "search")){ + ##### SEARCH + $load = "loadMapBtn"; + $directFocus = ""; + $btnId = $link; + $cat = $btnId; + $onclick = 'openSearchBar()'; + $loadOnHover = "Search"; + $loadOnHover_name = $loadOnHover; +} + +elseif(preg_match("/[a-z]/i", $link) OR strlen($link < 3)){ + ##### MAP (and old zone) (it has letters !) + $load = "loadMapBtn"; + $directFocus = ""; + $btnId = $link; + $cat = $btnId; + $onclick = 'openMap("'.$btnId.'")'; + $loadOnHover = $link; + $loadOnHover_name = $loadOnHover; +} + +elseif (strlen($link > 3) AND preg_match('~[0-9]+~', $link)) { + // echo "itsafocusss"; + #### FOCUS + $btnType = "focus"; + $load = ""; + $cat = $link; + $loadOnHover = $cat; + // Beispiel: Datei-ID, die du abfragen möchtest + $file_id = $cat; + // Abrufen der Datei-Informationen + $file_info = getFileInfo($file_id); + // Überprüfen, ob die Datei gefunden wurde + if ($file_info) { + $file_id = $file_info['file_id']; + $file_name = $file_info['file_name']; + $file_size = $file_info['file_size']; + $mimetype_name = $file_info['mimetype_name']; + $file_tags = $file_info['file_tags']; + $file_title = $file_info['file_title']; + } + // echo "CAAAT: $cat and file_name: $file_name"; + $loadOnHover_name = $file_title; + $onclick = 'focusItem("'.$file_id.'");'; +} + + + +// $btnType = "NOMOREBTNTYPE"; + + + + + + + + + + + + + + +///////////////// OUTPUT ///////////////// + + + if (strlen($url > 1)) { + echo ""; + // echo "yoo"; + } + + + if (str_contains($objectType, 'image')) { + + // IMAGE + + echo " +
+ +
+
"; + + } + + elseif (str_contains($objectType, 'iframe')) { + + // IFRAME + + echo " +
+ +
+ "; + + } + + else { + + // TEXT + + echo " +
+ +
$text
+
+
"; + + } + + if (strlen($url > 1)) { + echo "
"; + } + + + + + + + } + + + else { + + } + + + } +}; + + + if (isset($_POST["mapId"])) { + $mapId = substr($_POST["mapId"], 0, strlen($_POST["mapId"])); + + echo ""; + + } + + ?> + + + + diff --git a/includes/Parsedown.php b/includes/Parsedown.php new file mode 100644 index 0000000..68f2cfb --- /dev/null +++ b/includes/Parsedown.php @@ -0,0 +1,1994 @@ +textElements($text); + + # convert to markup + $markup = $this->elements($Elements); + + # trim line breaks + $markup = trim($markup, "\n"); + + return $markup; + } + + protected function textElements($text) + { + # make sure no definitions are set + $this->DefinitionData = array(); + + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + # remove surrounding line breaks + $text = trim($text, "\n"); + + # split text into lines + $lines = explode("\n", $text); + + # iterate through lines to identify blocks + return $this->linesElements($lines); + } + + # + # Setters + # + + function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + + return $this; + } + + protected $breaksEnabled; + + function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + + return $this; + } + + protected $markupEscaped; + + function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + + return $this; + } + + protected $urlsLinked = true; + + function setSafeMode($safeMode) + { + $this->safeMode = (bool) $safeMode; + + return $this; + } + + protected $safeMode; + + function setStrictMode($strictMode) + { + $this->strictMode = (bool) $strictMode; + + return $this; + } + + protected $strictMode; + + protected $safeLinksWhitelist = array( + 'http://', + 'https://', + 'ftp://', + 'ftps://', + 'mailto:', + 'tel:', + 'data:image/png;base64,', + 'data:image/gif;base64,', + 'data:image/jpeg;base64,', + 'irc:', + 'ircs:', + 'git:', + 'ssh:', + 'news:', + 'steam:', + ); + + # + # Lines + # + + protected $BlockTypes = array( + '#' => array('Header'), + '*' => array('Rule', 'List'), + '+' => array('List'), + '-' => array('SetextHeader', 'Table', 'Rule', 'List'), + '0' => array('List'), + '1' => array('List'), + '2' => array('List'), + '3' => array('List'), + '4' => array('List'), + '5' => array('List'), + '6' => array('List'), + '7' => array('List'), + '8' => array('List'), + '9' => array('List'), + ':' => array('Table'), + '<' => array('Comment', 'Markup'), + '=' => array('SetextHeader'), + '>' => array('Quote'), + '[' => array('Reference'), + '_' => array('Rule'), + '`' => array('FencedCode'), + '|' => array('Table'), + '~' => array('FencedCode'), + ); + + # ~ + + protected $unmarkedBlockTypes = array( + 'Code', + ); + + # + # Blocks + # + + protected function lines(array $lines) + { + return $this->elements($this->linesElements($lines)); + } + + protected function linesElements(array $lines) + { + $Elements = array(); + $CurrentBlock = null; + + foreach ($lines as $line) + { + if (chop($line) === '') + { + if (isset($CurrentBlock)) + { + $CurrentBlock['interrupted'] = (isset($CurrentBlock['interrupted']) + ? $CurrentBlock['interrupted'] + 1 : 1 + ); + } + + continue; + } + + while (($beforeTab = strstr($line, "\t", true)) !== false) + { + $shortage = 4 - mb_strlen($beforeTab, 'utf-8') % 4; + + $line = $beforeTab + . str_repeat(' ', $shortage) + . substr($line, strlen($beforeTab) + 1) + ; + } + + $indent = strspn($line, ' '); + + $text = $indent > 0 ? substr($line, $indent) : $line; + + # ~ + + $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); + + # ~ + + if (isset($CurrentBlock['continuable'])) + { + $methodName = 'block' . $CurrentBlock['type'] . 'Continue'; + $Block = $this->$methodName($Line, $CurrentBlock); + + if (isset($Block)) + { + $CurrentBlock = $Block; + + continue; + } + else + { + if ($this->isBlockCompletable($CurrentBlock['type'])) + { + $methodName = 'block' . $CurrentBlock['type'] . 'Complete'; + $CurrentBlock = $this->$methodName($CurrentBlock); + } + } + } + + # ~ + + $marker = $text[0]; + + # ~ + + $blockTypes = $this->unmarkedBlockTypes; + + if (isset($this->BlockTypes[$marker])) + { + foreach ($this->BlockTypes[$marker] as $blockType) + { + $blockTypes []= $blockType; + } + } + + # + # ~ + + foreach ($blockTypes as $blockType) + { + $Block = $this->{"block$blockType"}($Line, $CurrentBlock); + + if (isset($Block)) + { + $Block['type'] = $blockType; + + if ( ! isset($Block['identified'])) + { + if (isset($CurrentBlock)) + { + $Elements[] = $this->extractElement($CurrentBlock); + } + + $Block['identified'] = true; + } + + if ($this->isBlockContinuable($blockType)) + { + $Block['continuable'] = true; + } + + $CurrentBlock = $Block; + + continue 2; + } + } + + # ~ + + if (isset($CurrentBlock) and $CurrentBlock['type'] === 'Paragraph') + { + $Block = $this->paragraphContinue($Line, $CurrentBlock); + } + + if (isset($Block)) + { + $CurrentBlock = $Block; + } + else + { + if (isset($CurrentBlock)) + { + $Elements[] = $this->extractElement($CurrentBlock); + } + + $CurrentBlock = $this->paragraph($Line); + + $CurrentBlock['identified'] = true; + } + } + + # ~ + + if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) + { + $methodName = 'block' . $CurrentBlock['type'] . 'Complete'; + $CurrentBlock = $this->$methodName($CurrentBlock); + } + + # ~ + + if (isset($CurrentBlock)) + { + $Elements[] = $this->extractElement($CurrentBlock); + } + + # ~ + + return $Elements; + } + + protected function extractElement(array $Component) + { + if ( ! isset($Component['element'])) + { + if (isset($Component['markup'])) + { + $Component['element'] = array('rawHtml' => $Component['markup']); + } + elseif (isset($Component['hidden'])) + { + $Component['element'] = array(); + } + } + + return $Component['element']; + } + + protected function isBlockContinuable($Type) + { + return method_exists($this, 'block' . $Type . 'Continue'); + } + + protected function isBlockCompletable($Type) + { + return method_exists($this, 'block' . $Type . 'Complete'); + } + + # + # Code + + protected function blockCode($Line, $Block = null) + { + if (isset($Block) and $Block['type'] === 'Paragraph' and ! isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] >= 4) + { + $text = substr($Line['body'], 4); + + $Block = array( + 'element' => array( + 'name' => 'pre', + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ), + ); + + return $Block; + } + } + + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) + { + if (isset($Block['interrupted'])) + { + $Block['element']['element']['text'] .= str_repeat("\n", $Block['interrupted']); + + unset($Block['interrupted']); + } + + $Block['element']['element']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['element']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + return $Block; + } + + # + # Comment + + protected function blockComment($Line) + { + if ($this->markupEscaped or $this->safeMode) + { + return; + } + + if (strpos($Line['text'], '') !== false) + { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + $Block['element']['rawHtml'] .= "\n" . $Line['body']; + + if (strpos($Line['text'], '-->') !== false) + { + $Block['closed'] = true; + } + + return $Block; + } + + # + # Fenced Code + + protected function blockFencedCode($Line) + { + $marker = $Line['text'][0]; + + $openerLength = strspn($Line['text'], $marker); + + if ($openerLength < 3) + { + return; + } + + $infostring = trim(substr($Line['text'], $openerLength), "\t "); + + if (strpos($infostring, '`') !== false) + { + return; + } + + $Element = array( + 'name' => 'code', + 'text' => '', + ); + + if ($infostring !== '') + { + /** + * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes + * Every HTML element may have a class attribute specified. + * The attribute, if specified, must have a value that is a set + * of space-separated tokens representing the various classes + * that the element belongs to. + * [...] + * The space characters, for the purposes of this specification, + * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), + * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and + * U+000D CARRIAGE RETURN (CR). + */ + $language = substr($infostring, 0, strcspn($infostring, " \t\n\f\r")); + + $Element['attributes'] = array('class' => "language-$language"); + } + + $Block = array( + 'char' => $marker, + 'openerLength' => $openerLength, + 'element' => array( + 'name' => 'pre', + 'element' => $Element, + ), + ); + + return $Block; + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) + { + return; + } + + if (isset($Block['interrupted'])) + { + $Block['element']['element']['text'] .= str_repeat("\n", $Block['interrupted']); + + unset($Block['interrupted']); + } + + if (($len = strspn($Line['text'], $Block['char'])) >= $Block['openerLength'] + and chop(substr($Line['text'], $len), ' ') === '' + ) { + $Block['element']['element']['text'] = substr($Block['element']['element']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['element']['text'] .= "\n" . $Line['body']; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + return $Block; + } + + # + # Header + + protected function blockHeader($Line) + { + $level = strspn($Line['text'], '#'); + + if ($level > 6) + { + return; + } + + $text = trim($Line['text'], '#'); + + if ($this->strictMode and isset($text[0]) and $text[0] !== ' ') + { + return; + } + + $text = trim($text, ' '); + + $Block = array( + 'element' => array( + 'name' => 'h' . $level, + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $text, + 'destination' => 'elements', + ) + ), + ); + + return $Block; + } + + # + # List + + protected function blockList($Line, ?array $CurrentBlock = null) + { + list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]{1,9}+[.\)]'); + + if (preg_match('/^('.$pattern.'([ ]++|$))(.*+)/', $Line['text'], $matches)) + { + $contentIndent = strlen($matches[2]); + + if ($contentIndent >= 5) + { + $contentIndent -= 1; + $matches[1] = substr($matches[1], 0, -$contentIndent); + $matches[3] = str_repeat(' ', $contentIndent) . $matches[3]; + } + elseif ($contentIndent === 0) + { + $matches[1] .= ' '; + } + + $markerWithoutWhitespace = strstr($matches[1], ' ', true); + + $Block = array( + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'data' => array( + 'type' => $name, + 'marker' => $matches[1], + 'markerType' => ($name === 'ul' ? $markerWithoutWhitespace : substr($markerWithoutWhitespace, -1)), + ), + 'element' => array( + 'name' => $name, + 'elements' => array(), + ), + ); + $Block['data']['markerTypeRegex'] = preg_quote($Block['data']['markerType'], '/'); + + if ($name === 'ol') + { + $listStart = ltrim(strstr($matches[1], $Block['data']['markerType'], true), '0') ?: '0'; + + if ($listStart !== '1') + { + if ( + isset($CurrentBlock) + and $CurrentBlock['type'] === 'Paragraph' + and ! isset($CurrentBlock['interrupted']) + ) { + return; + } + + $Block['element']['attributes'] = array('start' => $listStart); + } + } + + $Block['li'] = array( + 'name' => 'li', + 'handler' => array( + 'function' => 'li', + 'argument' => !empty($matches[3]) ? array($matches[3]) : array(), + 'destination' => 'elements' + ) + ); + + $Block['element']['elements'] []= & $Block['li']; + + return $Block; + } + } + + protected function blockListContinue($Line, array $Block) + { + if (isset($Block['interrupted']) and empty($Block['li']['handler']['argument'])) + { + return null; + } + + $requiredIndent = ($Block['indent'] + strlen($Block['data']['marker'])); + + if ($Line['indent'] < $requiredIndent + and ( + ( + $Block['data']['type'] === 'ol' + and preg_match('/^[0-9]++'.$Block['data']['markerTypeRegex'].'(?:[ ]++(.*)|$)/', $Line['text'], $matches) + ) or ( + $Block['data']['type'] === 'ul' + and preg_match('/^'.$Block['data']['markerTypeRegex'].'(?:[ ]++(.*)|$)/', $Line['text'], $matches) + ) + ) + ) { + if (isset($Block['interrupted'])) + { + $Block['li']['handler']['argument'] []= ''; + + $Block['loose'] = true; + + unset($Block['interrupted']); + } + + unset($Block['li']); + + $text = isset($matches[1]) ? $matches[1] : ''; + + $Block['indent'] = $Line['indent']; + + $Block['li'] = array( + 'name' => 'li', + 'handler' => array( + 'function' => 'li', + 'argument' => array($text), + 'destination' => 'elements' + ) + ); + + $Block['element']['elements'] []= & $Block['li']; + + return $Block; + } + elseif ($Line['indent'] < $requiredIndent and $this->blockList($Line)) + { + return null; + } + + if ($Line['text'][0] === '[' and $this->blockReference($Line)) + { + return $Block; + } + + if ($Line['indent'] >= $requiredIndent) + { + if (isset($Block['interrupted'])) + { + $Block['li']['handler']['argument'] []= ''; + + $Block['loose'] = true; + + unset($Block['interrupted']); + } + + $text = substr($Line['body'], $requiredIndent); + + $Block['li']['handler']['argument'] []= $text; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $text = preg_replace('/^[ ]{0,'.$requiredIndent.'}+/', '', $Line['body']); + + $Block['li']['handler']['argument'] []= $text; + + return $Block; + } + } + + protected function blockListComplete(array $Block) + { + if (isset($Block['loose'])) + { + foreach ($Block['element']['elements'] as &$li) + { + if (end($li['handler']['argument']) !== '') + { + $li['handler']['argument'] []= ''; + } + } + } + + return $Block; + } + + # + # Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?+(.*+)/', $Line['text'], $matches)) + { + $Block = array( + 'element' => array( + 'name' => 'blockquote', + 'handler' => array( + 'function' => 'linesElements', + 'argument' => (array) $matches[1], + 'destination' => 'elements', + ) + ), + ); + + return $Block; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '>' and preg_match('/^>[ ]?+(.*+)/', $Line['text'], $matches)) + { + $Block['element']['handler']['argument'] []= $matches[1]; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $Block['element']['handler']['argument'] []= $Line['text']; + + return $Block; + } + } + + # + # Rule + + protected function blockRule($Line) + { + $marker = $Line['text'][0]; + + if (substr_count($Line['text'], $marker) >= 3 and chop($Line['text'], " $marker") === '') + { + $Block = array( + 'element' => array( + 'name' => 'hr', + ), + ); + + return $Block; + } + } + + # + # Setext + + protected function blockSetextHeader($Line, ?array $Block = null) + { + if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] < 4 and chop(chop($Line['text'], ' '), $Line['text'][0]) === '') + { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + # + # Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped or $this->safeMode) + { + return; + } + + if (preg_match('/^<[\/]?+(\w*)(?:[ ]*+'.$this->regexHtmlAttribute.')*+[ ]*+(\/)?>/', $Line['text'], $matches)) + { + $element = strtolower($matches[1]); + + if (in_array($element, $this->textLevelElements)) + { + return; + } + + $Block = array( + 'name' => $matches[1], + 'element' => array( + 'rawHtml' => $Line['text'], + 'autobreak' => true, + ), + ); + + return $Block; + } + } + + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed']) or isset($Block['interrupted'])) + { + return; + } + + $Block['element']['rawHtml'] .= "\n" . $Line['body']; + + return $Block; + } + + # + # Reference + + protected function blockReference($Line) + { + if (strpos($Line['text'], ']') !== false + and preg_match('/^\[(.+?)\]:[ ]*+?(?:[ ]+["\'(](.+)["\')])?[ ]*+$/', $Line['text'], $matches) + ) { + $id = strtolower($matches[1]); + + $Data = array( + 'url' => $matches[2], + 'title' => isset($matches[3]) ? $matches[3] : null, + ); + + $this->DefinitionData['Reference'][$id] = $Data; + + $Block = array( + 'element' => array(), + ); + + return $Block; + } + } + + # + # Table + + protected function blockTable($Line, ?array $Block = null) + { + if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted'])) + { + return; + } + + if ( + strpos($Block['element']['handler']['argument'], '|') === false + and strpos($Line['text'], '|') === false + and strpos($Line['text'], ':') === false + or strpos($Block['element']['handler']['argument'], "\n") !== false + ) { + return; + } + + if (chop($Line['text'], ' -:|') !== '') + { + return; + } + + $alignments = array(); + + $divider = $Line['text']; + + $divider = trim($divider); + $divider = trim($divider, '|'); + + $dividerCells = explode('|', $divider); + + foreach ($dividerCells as $dividerCell) + { + $dividerCell = trim($dividerCell); + + if ($dividerCell === '') + { + return; + } + + $alignment = null; + + if ($dividerCell[0] === ':') + { + $alignment = 'left'; + } + + if (substr($dividerCell, - 1) === ':') + { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + + $alignments []= $alignment; + } + + # ~ + + $HeaderElements = array(); + + $header = $Block['element']['handler']['argument']; + + $header = trim($header); + $header = trim($header, '|'); + + $headerCells = explode('|', $header); + + if (count($headerCells) !== count($alignments)) + { + return; + } + + foreach ($headerCells as $index => $headerCell) + { + $headerCell = trim($headerCell); + + $HeaderElement = array( + 'name' => 'th', + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $headerCell, + 'destination' => 'elements', + ) + ); + + if (isset($alignments[$index])) + { + $alignment = $alignments[$index]; + + $HeaderElement['attributes'] = array( + 'style' => "text-align: $alignment;", + ); + } + + $HeaderElements []= $HeaderElement; + } + + # ~ + + $Block = array( + 'alignments' => $alignments, + 'identified' => true, + 'element' => array( + 'name' => 'table', + 'elements' => array(), + ), + ); + + $Block['element']['elements'] []= array( + 'name' => 'thead', + ); + + $Block['element']['elements'] []= array( + 'name' => 'tbody', + 'elements' => array(), + ); + + $Block['element']['elements'][0]['elements'] []= array( + 'name' => 'tr', + 'elements' => $HeaderElements, + ); + + return $Block; + } + + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if (count($Block['alignments']) === 1 or $Line['text'][0] === '|' or strpos($Line['text'], '|')) + { + $Elements = array(); + + $row = $Line['text']; + + $row = trim($row); + $row = trim($row, '|'); + + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]++`|`)++/', $row, $matches); + + $cells = array_slice($matches[0], 0, count($Block['alignments'])); + + foreach ($cells as $index => $cell) + { + $cell = trim($cell); + + $Element = array( + 'name' => 'td', + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $cell, + 'destination' => 'elements', + ) + ); + + if (isset($Block['alignments'][$index])) + { + $Element['attributes'] = array( + 'style' => 'text-align: ' . $Block['alignments'][$index] . ';', + ); + } + + $Elements []= $Element; + } + + $Element = array( + 'name' => 'tr', + 'elements' => $Elements, + ); + + $Block['element']['elements'][1]['elements'] []= $Element; + + return $Block; + } + } + + # + # ~ + # + + protected function paragraph($Line) + { + return array( + 'type' => 'Paragraph', + 'element' => array( + 'name' => 'p', + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $Line['text'], + 'destination' => 'elements', + ), + ), + ); + } + + protected function paragraphContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + $Block['element']['handler']['argument'] .= "\n".$Line['text']; + + return $Block; + } + + # + # Inline Elements + # + + protected $InlineTypes = array( + '!' => array('Image'), + '&' => array('SpecialCharacter'), + '*' => array('Emphasis'), + ':' => array('Url'), + '<' => array('UrlTag', 'EmailTag', 'Markup'), + '[' => array('Link'), + '_' => array('Emphasis'), + '`' => array('Code'), + '~' => array('Strikethrough'), + '\\' => array('EscapeSequence'), + ); + + # ~ + + protected $inlineMarkerList = '!*_&[:<`~\\'; + + # + # ~ + # + + public function line($text, $nonNestables = array()) + { + return $this->elements($this->lineElements($text, $nonNestables)); + } + + protected function lineElements($text, $nonNestables = array()) + { + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + $Elements = array(); + + $nonNestables = (empty($nonNestables) + ? array() + : array_combine($nonNestables, $nonNestables) + ); + + # $excerpt is based on the first occurrence of a marker + + while ($excerpt = strpbrk($text, $this->inlineMarkerList)) + { + $marker = $excerpt[0]; + + $markerPosition = strlen($text) - strlen($excerpt); + + $Excerpt = array('text' => $excerpt, 'context' => $text); + + foreach ($this->InlineTypes[$marker] as $inlineType) + { + # check to see if the current inline type is nestable in the current context + + if (isset($nonNestables[$inlineType])) + { + continue; + } + + $Inline = $this->{"inline$inlineType"}($Excerpt); + + if ( ! isset($Inline)) + { + continue; + } + + # makes sure that the inline belongs to "our" marker + + if (isset($Inline['position']) and $Inline['position'] > $markerPosition) + { + continue; + } + + # sets a default inline position + + if ( ! isset($Inline['position'])) + { + $Inline['position'] = $markerPosition; + } + + # cause the new element to 'inherit' our non nestables + + + $Inline['element']['nonNestables'] = isset($Inline['element']['nonNestables']) + ? array_merge($Inline['element']['nonNestables'], $nonNestables) + : $nonNestables + ; + + # the text that comes before the inline + $unmarkedText = substr($text, 0, $Inline['position']); + + # compile the unmarked text + $InlineText = $this->inlineText($unmarkedText); + $Elements[] = $InlineText['element']; + + # compile the inline + $Elements[] = $this->extractElement($Inline); + + # remove the examined text + $text = substr($text, $Inline['position'] + $Inline['extent']); + + continue 2; + } + + # the marker does not belong to an inline + + $unmarkedText = substr($text, 0, $markerPosition + 1); + + $InlineText = $this->inlineText($unmarkedText); + $Elements[] = $InlineText['element']; + + $text = substr($text, $markerPosition + 1); + } + + $InlineText = $this->inlineText($text); + $Elements[] = $InlineText['element']; + + foreach ($Elements as &$Element) + { + if ( ! isset($Element['autobreak'])) + { + $Element['autobreak'] = false; + } + } + + return $Elements; + } + + # + # ~ + # + + protected function inlineText($text) + { + $Inline = array( + 'extent' => strlen($text), + 'element' => array(), + ); + + $Inline['element']['elements'] = self::pregReplaceElements( + $this->breaksEnabled ? '/[ ]*+\n/' : '/(?:[ ]*+\\\\|[ ]{2,}+)\n/', + array( + array('name' => 'br'), + array('text' => "\n"), + ), + $text + ); + + return $Inline; + } + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^(['.$marker.']++)[ ]*+(.+?)[ ]*+(? strlen($matches[0]), + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ); + } + } + + protected function inlineEmailTag($Excerpt) + { + $hostnameLabel = '[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?'; + + $commonMarkEmail = '[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]++@' + . $hostnameLabel . '(?:\.' . $hostnameLabel . ')*'; + + if (strpos($Excerpt['text'], '>') !== false + and preg_match("/^<((mailto:)?$commonMarkEmail)>/i", $Excerpt['text'], $matches) + ){ + $url = $matches[1]; + + if ( ! isset($matches[2])) + { + $url = "mailto:$url"; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + protected function inlineEmphasis($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'strong'; + } + elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'em'; + } + else + { + return; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => $emphasis, + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $matches[1], + 'destination' => 'elements', + ) + ), + ); + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) + { + return array( + 'element' => array('rawHtml' => $Excerpt['text'][1]), + 'extent' => 2, + ); + } + } + + protected function inlineImage($Excerpt) + { + if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') + { + return; + } + + $Excerpt['text']= substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) + { + return; + } + + $Inline = array( + 'extent' => $Link['extent'] + 1, + 'element' => array( + 'name' => 'img', + 'attributes' => array( + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['handler']['argument'], + ), + 'autobreak' => true, + ), + ); + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = array( + 'name' => 'a', + 'handler' => array( + 'function' => 'lineElements', + 'argument' => null, + 'destination' => 'elements', + ), + 'nonNestables' => array('Url', 'Link'), + 'attributes' => array( + 'href' => null, + 'title' => null, + ), + ); + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]++|(?R))*+)\]/', $remainder, $matches)) + { + $Element['handler']['argument'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } + else + { + return; + } + + if (preg_match('/^[(]\s*+((?:[^ ()]++|[(][^ )]+[)])++)(?:[ ]+("[^"]*+"|\'[^\']*+\'))?\s*+[)]/', $remainder, $matches)) + { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) + { + $Element['attributes']['title'] = substr($matches[2], 1, - 1); + } + + $extent += strlen($matches[0]); + } + else + { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) + { + $definition = strlen($matches[1]) ? $matches[1] : $Element['handler']['argument']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } + else + { + $definition = strtolower($Element['handler']['argument']); + } + + if ( ! isset($this->DefinitionData['Reference'][$definition])) + { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + return array( + 'extent' => $extent, + 'element' => $Element, + ); + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped or $this->safeMode or strpos($Excerpt['text'], '>') === false) + { + return; + } + + if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w[\w-]*+[ ]*+>/s', $Excerpt['text'], $matches)) + { + return array( + 'element' => array('rawHtml' => $matches[0]), + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) + { + return array( + 'element' => array('rawHtml' => $matches[0]), + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w[\w-]*+(?:[ ]*+'.$this->regexHtmlAttribute.')*+[ ]*+\/?>/s', $Excerpt['text'], $matches)) + { + return array( + 'element' => array('rawHtml' => $matches[0]), + 'extent' => strlen($matches[0]), + ); + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if (substr($Excerpt['text'], 1, 1) !== ' ' and strpos($Excerpt['text'], ';') !== false + and preg_match('/^&(#?+[0-9a-zA-Z]++);/', $Excerpt['text'], $matches) + ) { + return array( + 'element' => array('rawHtml' => '&' . $matches[1] . ';'), + 'extent' => strlen($matches[0]), + ); + } + + return; + } + + protected function inlineStrikethrough($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) + { + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'del', + 'handler' => array( + 'function' => 'lineElements', + 'argument' => $matches[1], + 'destination' => 'elements', + ) + ), + ); + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') + { + return; + } + + if (strpos($Excerpt['context'], 'http') !== false + and preg_match('/\bhttps?+:[\/]{2}[^\s<]+\b\/*+/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE) + ) { + $url = $matches[0][0]; + + $Inline = array( + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + + return $Inline; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w++:\/{2}[^ >]++)>/i', $Excerpt['text'], $matches)) + { + $url = $matches[1]; + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + # ~ + + protected function unmarkedText($text) + { + $Inline = $this->inlineText($text); + return $this->element($Inline['element']); + } + + # + # Handlers + # + + protected function handle(array $Element) + { + if (isset($Element['handler'])) + { + if (!isset($Element['nonNestables'])) + { + $Element['nonNestables'] = array(); + } + + if (is_string($Element['handler'])) + { + $function = $Element['handler']; + $argument = $Element['text']; + unset($Element['text']); + $destination = 'rawHtml'; + } + else + { + $function = $Element['handler']['function']; + $argument = $Element['handler']['argument']; + $destination = $Element['handler']['destination']; + } + + $Element[$destination] = $this->{$function}($argument, $Element['nonNestables']); + + if ($destination === 'handler') + { + $Element = $this->handle($Element); + } + + unset($Element['handler']); + } + + return $Element; + } + + protected function handleElementRecursive(array $Element) + { + return $this->elementApplyRecursive(array($this, 'handle'), $Element); + } + + protected function handleElementsRecursive(array $Elements) + { + return $this->elementsApplyRecursive(array($this, 'handle'), $Elements); + } + + protected function elementApplyRecursive($closure, array $Element) + { + $Element = call_user_func($closure, $Element); + + if (isset($Element['elements'])) + { + $Element['elements'] = $this->elementsApplyRecursive($closure, $Element['elements']); + } + elseif (isset($Element['element'])) + { + $Element['element'] = $this->elementApplyRecursive($closure, $Element['element']); + } + + return $Element; + } + + protected function elementApplyRecursiveDepthFirst($closure, array $Element) + { + if (isset($Element['elements'])) + { + $Element['elements'] = $this->elementsApplyRecursiveDepthFirst($closure, $Element['elements']); + } + elseif (isset($Element['element'])) + { + $Element['element'] = $this->elementsApplyRecursiveDepthFirst($closure, $Element['element']); + } + + $Element = call_user_func($closure, $Element); + + return $Element; + } + + protected function elementsApplyRecursive($closure, array $Elements) + { + foreach ($Elements as &$Element) + { + $Element = $this->elementApplyRecursive($closure, $Element); + } + + return $Elements; + } + + protected function elementsApplyRecursiveDepthFirst($closure, array $Elements) + { + foreach ($Elements as &$Element) + { + $Element = $this->elementApplyRecursiveDepthFirst($closure, $Element); + } + + return $Elements; + } + + protected function element(array $Element) + { + if ($this->safeMode) + { + $Element = $this->sanitiseElement($Element); + } + + # identity map if element has no handler + $Element = $this->handle($Element); + + $hasName = isset($Element['name']); + + $markup = ''; + + if ($hasName) + { + $markup .= '<' . $Element['name']; + + if (isset($Element['attributes'])) + { + foreach ($Element['attributes'] as $name => $value) + { + if ($value === null) + { + continue; + } + + $markup .= " $name=\"".self::escape($value).'"'; + } + } + } + + $permitRawHtml = false; + + if (isset($Element['text'])) + { + $text = $Element['text']; + } + // very strongly consider an alternative if you're writing an + // extension + elseif (isset($Element['rawHtml'])) + { + $text = $Element['rawHtml']; + + $allowRawHtmlInSafeMode = isset($Element['allowRawHtmlInSafeMode']) && $Element['allowRawHtmlInSafeMode']; + $permitRawHtml = !$this->safeMode || $allowRawHtmlInSafeMode; + } + + $hasContent = isset($text) || isset($Element['element']) || isset($Element['elements']); + + if ($hasContent) + { + $markup .= $hasName ? '>' : ''; + + if (isset($Element['elements'])) + { + $markup .= $this->elements($Element['elements']); + } + elseif (isset($Element['element'])) + { + $markup .= $this->element($Element['element']); + } + else + { + if (!$permitRawHtml) + { + $markup .= self::escape($text, true); + } + else + { + $markup .= $text; + } + } + + $markup .= $hasName ? '' : ''; + } + elseif ($hasName) + { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + $autoBreak = true; + + foreach ($Elements as $Element) + { + if (empty($Element)) + { + continue; + } + + $autoBreakNext = (isset($Element['autobreak']) + ? $Element['autobreak'] : isset($Element['name']) + ); + // (autobreak === false) covers both sides of an element + $autoBreak = !$autoBreak ? $autoBreak : $autoBreakNext; + + $markup .= ($autoBreak ? "\n" : '') . $this->element($Element); + $autoBreak = $autoBreakNext; + } + + $markup .= $autoBreak ? "\n" : ''; + + return $markup; + } + + # ~ + + protected function li($lines) + { + $Elements = $this->linesElements($lines); + + if ( ! in_array('', $lines) + and isset($Elements[0]) and isset($Elements[0]['name']) + and $Elements[0]['name'] === 'p' + ) { + unset($Elements[0]['name']); + } + + return $Elements; + } + + # + # AST Convenience + # + + /** + * Replace occurrences $regexp with $Elements in $text. Return an array of + * elements representing the replacement. + */ + protected static function pregReplaceElements($regexp, $Elements, $text) + { + $newElements = array(); + + while (preg_match($regexp, $text, $matches, PREG_OFFSET_CAPTURE)) + { + $offset = $matches[0][1]; + $before = substr($text, 0, $offset); + $after = substr($text, $offset + strlen($matches[0][0])); + + $newElements[] = array('text' => $before); + + foreach ($Elements as $Element) + { + $newElements[] = $Element; + } + + $text = $after; + } + + $newElements[] = array('text' => $text); + + return $newElements; + } + + # + # Deprecated Methods + # + + function parse($text) + { + $markup = $this->text($text); + + return $markup; + } + + protected function sanitiseElement(array $Element) + { + static $goodAttribute = '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/'; + static $safeUrlNameToAtt = array( + 'a' => 'href', + 'img' => 'src', + ); + + if ( ! isset($Element['name'])) + { + unset($Element['attributes']); + return $Element; + } + + if (isset($safeUrlNameToAtt[$Element['name']])) + { + $Element = $this->filterUnsafeUrlInAttribute($Element, $safeUrlNameToAtt[$Element['name']]); + } + + if ( ! empty($Element['attributes'])) + { + foreach ($Element['attributes'] as $att => $val) + { + # filter out badly parsed attribute + if ( ! preg_match($goodAttribute, $att)) + { + unset($Element['attributes'][$att]); + } + # dump onevent attribute + elseif (self::striAtStart($att, 'on')) + { + unset($Element['attributes'][$att]); + } + } + } + + return $Element; + } + + protected function filterUnsafeUrlInAttribute(array $Element, $attribute) + { + foreach ($this->safeLinksWhitelist as $scheme) + { + if (self::striAtStart($Element['attributes'][$attribute], $scheme)) + { + return $Element; + } + } + + $Element['attributes'][$attribute] = str_replace(':', '%3A', $Element['attributes'][$attribute]); + + return $Element; + } + + # + # Static Methods + # + + protected static function escape($text, $allowQuotes = false) + { + return htmlspecialchars($text, $allowQuotes ? ENT_NOQUOTES : ENT_QUOTES, 'UTF-8'); + } + + protected static function striAtStart($string, $needle) + { + $len = strlen($needle); + + if ($len > strlen($string)) + { + return false; + } + else + { + return strtolower(substr($string, 0, $len)) === strtolower($needle); + } + } + + static function instance($name = 'default') + { + if (isset(self::$instances[$name])) + { + return self::$instances[$name]; + } + + $instance = new static(); + + self::$instances[$name] = $instance; + + return $instance; + } + + private static $instances = array(); + + # + # Fields + # + + protected $DefinitionData; + + # + # Read-Only + + protected $specialCharacters = array( + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', '~' + ); + + protected $StrongRegex = array( + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*+[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*+_)+?)__(?!_)/us', + ); + + protected $EmRegex = array( + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ); + + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*+(?:\s*+=\s*+(?:[^"\'=<>`\s]+|"[^"]*+"|\'[^\']*+\'))?+'; + + protected $voidElements = array( + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ); + + protected $textLevelElements = array( + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'kbd', 'mark', + 'u', 'xm', 'sub', 'nobr', + 'sup', 'ruby', + 'var', 'span', + 'wbr', 'time', + ); +} \ No newline at end of file diff --git a/includes/chatContent.php b/includes/chatContent.php new file mode 100644 index 0000000..d9e690b --- /dev/null +++ b/includes/chatContent.php @@ -0,0 +1,272 @@ +
owl | 30.08.2024 - 20:13
Heyy

+
owl | 30.08.2024 - 20:13
this is the new pl4tform chat!! CH4TFORM :P

+
owl | 30.08.2024 - 20:14
you can choose a nichname if you want !

+
owl | 30.08.2024 - 20:14
leave a message when you pass by here @_@

+
owl | 30.08.2024 - 20:17
*nickname

+
dale | 30.08.2024 - 20:28
OMG

+
anonym | 30.08.2024 - 20:28
incrr

+
laura | 30.08.2024 - 20:32
this is amazin

+
james | 30.08.2024 - 20:40
when is the next pl4tform newsletter coooming ????

+
anonym | 31.08.2024 - 11:20
huhu

+
windom | 31.08.2024 - 13:24
soooo happpy to eat chocolatines

+
jakoby | 31.08.2024 - 17:40
and canele ~.~

+
anonym | 01.09.2024 - 21:55
huhu worksing on the livestream rigtnow - don't wonder :P

+
anonym | 02.09.2024 - 11:00
:))

+
yaourt gentil | 02.09.2024 - 19:54
coucou je cherche la trolollot !!

+
melon | 02.09.2024 - 21:57
koukou

+
le-departement? | 02.09.2024 - 22:33
je crois que pour trollolot les enjeux du dur seront attendues ?!?!?!

+
lot.gouv | 03.09.2024 - 16:18
bonjour, après sollicitations, la trollolot change de département, nous vous attendons nombreuxes à Agen, dans le lot et garonne! Prevoyez vos maillots l'ambiance va etre caliente!

+
lot-et-garonne.gouv | 03.09.2024 - 16:19
Ravie de vous accueillir!

+
lot-et-garonne.gouv | 03.09.2024 - 16:19

+
chicha | 03.09.2024 - 16:37
OMG this is so intriguing

+
Lot.is.garonne | 03.09.2024 - 16:42
Le lot et la Garonne ne font plus qu'un.

+
perre quentin??? | 03.09.2024 - 17:31
toc toc qui est la?

+
6984596 | 03.09.2024 - 17:32
PQ tu es enfin la??

+
hihi ou c moi | 03.09.2024 - 17:32
{bruit de vomi de frigo}

+
anonym | 03.09.2024 - 20:56
yooouuhhouuu

+
S/\|-|/\ | 03.09.2024 - 20:58
yeaaah

+
5/\C|-|/\ | 03.09.2024 - 20:58
ok

+
P4bL0 | 03.09.2024 - 20:59
YOOooooooooooOOOOOOOOOOOOOOOOOOOooooooooooooooOOOOOOOOOOOO

+
P4bL0 | 03.09.2024 - 20:59
désolé :(

+
anonym | 03.09.2024 - 21:01
___,@ / < ,_ / \ _, ? \`/______\`/ ,_(_). |; (e e) ;| \___ \ \/\ 7 /\/ _\8/_ \/\ \'=='/ | /| /| \ \___)--(_______|//|//| \___ () _____/|/_|/_| / () \ `----' / () \ '-.______.-' jgs _ |_||_| _ (@____) || (____@) \______||______/

+
P4bl0 | 03.09.2024 - 21:02
j'aime manger des nems

+
P4bL0 | 03.09.2024 - 21:03
HAHAHHAHAHAHA kikoo !

+
P4bL0 | 03.09.2024 - 21:03
et un cookie

+
P4bL0 | 03.09.2024 - 21:04
___,@ / < ,_ / \ _, ? \`/______\`/ ,_(_). |; (e e) ;| \___ \ \/\ 7 /\/ _\8/_ \/\ \'=='/ | /| /| \ \___)--(_______|//|//| \___ () _____/|/_|/_| / () \ `----' / () \ '-.______.-' jgs _ |_||_| _ (@____) || (____@) \______||______/

+
P4bL0 | 03.09.2024 - 21:05
_ _[_]_ (") `--( : )--' ( : ) jgs ""`-...-'""

+
croutix | 03.09.2024 - 21:30
ça roll dwn direct bloup

+ +
NEWSLETTER | 04.09.2024 - 03:03
Huhuuu new NEWSLETTER is out ! everybody received it ??? xD @_@ if don't leave a message here !!

+
NEWSLETTER | 04.09.2024 - 03:05
and if yess leave message tooo 0.o

+
NOW - LIVE | 04.09.2024 - 14:03
now live from the studio of la cle des ondes: On the quest for the quintina

+
NOW - LIVE | 04.09.2024 - 14:06
with SINUS

+
lobbyscout | 04.09.2024 - 15:42
fiestaaa

+
anonym | 04.09.2024 - 17:31
lobbyscouttt *.* <3

+
klein schitzel | 04.09.2024 - 20:10
kusschen aus berlin

+
depuislacledesondes | 05.09.2024 - 11:32
dopamin-küsschen nach Berlin

+
anonym | 05.09.2024 - 13:47
OMG

+
anonym | 05.09.2024 - 13:47
UIII

+
LIVESTREAM | 05.09.2024 - 23:54
there is now a 24/24 7/7 pl4tform-radio-stream !! ==>>>> click on livestream to listen to it !! it's a mix between a database of songs we like and the archives of the pl4tform radio events and shows *___*

+
skyrock | 06.09.2024 - 09:36
wwwoow u rock

+
anonym | 07.09.2024 - 10:48
YOLOLOTE

+
anonym | 07.09.2024 - 13:14
aiii trop bien le tack sapo dibalo !! love it

+
letitbeeeey | 09.09.2024 - 13:22
listening from lot and Garonne ~~ on the way to a mystery

+
joallier du cringe | 13.09.2024 - 00:27
hheeeeeeeelllo

+
joallier du cringe | 13.09.2024 - 00:27
miss you les pl4tformistes

+
chiicha | 13.09.2024 - 02:08
miss u avec l'ovomaltiiine

+
bruxelles-admin.tv | 13.09.2024 - 10:02
uuuhuuu <3 ovomaltine @.@

+
canciara | 13.09.2024 - 10:35
we love to hang out and listen to the environment which we are

+
royaldeviation | 13.09.2024 - 12:12
ahhh ich auch !!

+
ohm torchon | 14.09.2024 - 18:57
cest nousss depuis cardannn

+
ohm torchon | 14.09.2024 - 18:57
lalala

+
anonym | 14.09.2024 - 19:01
I can't listen to the now live radioooo :(

+
anonym | 14.09.2024 - 22:48
oh nooo :((( that weird you tried to click on "now live" or on "livestream" ?? if not this link works for you? => https://pl4tform.org/stream

+
anonym | 14.09.2024 - 22:48
*if it dosn't works try the link ?!

+
bxlll.be | 14.09.2024 - 22:49
uhhh cardannnn hellooooo

+
anonym | 16.09.2024 - 09:50
olala juergen pappe wir fliegen so weit wie noch nie !! avouuuurite song !!!

+
anonym | 16.09.2024 - 09:51
ffffavourite

+
anonym | 16.09.2024 - 14:27
hello merci c trop chouettte. mettez des cables partout

+
Radio Buratinas | 16.09.2024 - 14:35
we are on the buratinas and we are live

+
frittenhaus | 16.09.2024 - 14:35
gluuuuuuuuck glouglou

+
Radio Buratinas | 16.09.2024 - 14:50
we have some technical bugs soundwise be pacents ;)

+
hugottteeee | 16.09.2024 - 14:57
bon nettoyage de canal !!

+
Radio Buratinas | 16.09.2024 - 15:17
is it working for you ??

+
anonym | 16.09.2024 - 15:19
Ca marche

+
anonym | 16.09.2024 - 15:19
Mais ça coupe très frequemment

+
Radio Buratinas | 16.09.2024 - 15:22
and now ??

+
Auditrice | 16.09.2024 - 15:27
J'ai l'impression que ça ne coupe plus

+
Auditrice | 16.09.2024 - 15:36
Y a l'autre son qui boucle par dessus

+
ed2 | 16.09.2024 - 15:42
hello from the boat

+
anonym | 16.09.2024 - 15:44
heello

+
peer | 16.09.2024 - 15:45
ça s'entend pas super fort les voix

+
frittenhaus | 16.09.2024 - 15:55
ça marche

+
yolol | 16.09.2024 - 15:58
ça marche plus

+
Auditrice | 16.09.2024 - 16:28
On t'entend pas assez

+
anonym | 16.09.2024 - 16:54
1312

+
anonym | 16.09.2024 - 17:37
zum geburtstag viel glück leooooo!!!

+
Radio Buratinas | 16.09.2024 - 17:43
wuhuuuuuuu dankkkkkkeeeee

+
chiffon chez chicha | 17.09.2024 - 00:01
leo, je te souhaite un tres joyeux anniversaire de tout coeur coeur coeur;;;;;;;;;;;;

+
schildou | 17.09.2024 - 01:18
ʕ•̮͡•ʔ joyouuuuuu (≚ᄌ≚)ℒℴѵℯ❤

+
bobintheboat | 17.09.2024 - 01:56
lovelovelovebegleeees<<333333

+
anonym | 19.09.2024 - 08:26
qq.e qui a amener son gillet jaune de son pere ou sa mere et qui a manifeste dans la cour xD tropppp classe pl4tform fm with lobby scout

+
blurp33 | 25.09.2024 - 10:00
cc pl4tfromage miss u so much kisssss from the 93

+
electro-harmonix | 25.09.2024 - 10:48
saaame ! foggy kiss from the north north north

+
bob sinclar | 25.09.2024 - 13:24
Hey Electro-Harmonix! Can i get a free sample pack plz? Big shout out to you!

+
la coloc | 27.09.2024 - 13:03
cc qui a laissé le melon pourri sur la table ?

+
stolenbiker | 27.09.2024 - 17:35
ct pass moiiii !!

+
Bob Geldof | 28.09.2024 - 17:14
viva pl4tform !

+
la coloc | 28.09.2024 - 17:49
heyyy les colocs la machine à laver ne marche plus quelqu'un.e a coincé des chaussettes dans le conduit, serait-ce un acte de sabotage ???!!!

+
KINDER COUNTRY | 29.09.2024 - 19:19
ALORS LA NORVEGE ET LE SPECTACLE JESPERE C TMAGUENIFIKK

+
bise | 02.10.2024 - 10:19
gros bise

+
bisou | 02.10.2024 - 10:20
gros bisou

+
biz | 02.10.2024 - 13:30
gros biz

+
MOOD | 02.10.2024 - 13:37
OMG c'est le mix de eaux vives a 14 heure !!! <3

+
sunnysunshineforsunnysouls | 03.10.2024 - 12:55
huhu october pl4tform newsletter is out ! if you didn't received it subscribe ==> click on news/agenda in the menu ==> subscribe to newsletter <333

+
gloubzzz | 03.10.2024 - 19:00
heyiiii i love pl4tform news omg these gifs are insane

+
toilettes seches | 05.10.2024 - 16:22
heyyyyyy!! got some new cd at home, who wants to come to the partyyyyyyyyyyyy!???

+
fanbase | 09.10.2024 - 08:32
omggg toilettes seches ur party seems so nice... is ur real name... CDJ ????

+
robert-la-crabbe | 09.10.2024 - 09:34
omg si hate d'ecouter le fish news !! meme si ca me soule que ca s'appelle tuojours comme ca meme si on n'est pas que des poissons qui vivent ici. mais bon, entout cas j'ai manipule ma antenne d'algue pour que je puisse capter les ondes humaines (je crois il disent FM) a 14 Heure !!

+
la-ligue-du-plancton | 09.10.2024 - 11:27
oui ça fait des années qu'on demande un changement de blaz pour l radio des fonds marins aussi mis bon weg guess le plancton c'est pas assez important pour fish newz... déçux mais pas des zik

+
KRUSTACEAN FORCE | 09.10.2024 - 11:28
allez signez la pétition !!!https://www.petitionenligne.fr/changeons_le_nom_de_fish_newz

+
robert-la-crabbe | 09.10.2024 - 12:11
ahh voila je savait que je suis pas le seul activist qui reste ici ! mettons ensemble nos forces ! signons la petition ! NOT ALL FISHES !

+
les coraux associés | 09.10.2024 - 15:02
ça c'est crabbement bien dit!!!

+
GROS POISSON DE MORT | 09.10.2024 - 17:34
LONGUE VIE AUX FISH MORT A TOUTES AUTRES CREATURES SANS ECAILLES!!!

+
GROS POISSON DE MORT | 09.10.2024 - 17:34
NI NAGEOIRES

+
GROS POISSON DE MORT | 09.10.2024 - 17:35
ENFIN PAS DES POISSONS QUOIIII

+
GROS POISSON DE MORT | 09.10.2024 - 17:35
!!!!!!

+
robert-la-crabbe | 09.10.2024 - 21:37
ah mais toi !! GROS POISSON DE MORT ! si j'ai un truc a dire ... c'est: VA ECOUTER L'EMISSION "PL4TFORM FM - VOL 45 NO SOUCY" ET VA DIRECT A LA MINUTE 50 ET 40 SECONDES ET PUISSE ECOUTE ! ECOUTE CE QUE VA T'ARRIVER !!! ECOUTE BIEN ! TU VA REGRETTER TES GROS MOTS ICI DEVANT TOUT LES HUMAIN ET AUTRES !

+
GROS POISSON DE MORT | 09.10.2024 - 22:26
RETOURNE GRAILLE TON SURIMI DE MORT ROBERT LA CRABBE

+
zzz | 10.10.2024 - 17:12
Yo design numérique

+
méenchon | 10.10.2024 - 17:42
salu asalu

+
méduzarg | 11.10.2024 - 10:44
quelle violencz !!!!!! mes tentacules s'en sont rétractés !!!!!!!! gros poisson de mort va gober du corail !!!!!

+
yiha | 16.10.2024 - 11:02
T T T TODAYYYYY NEXT T T T LIVE SH SH SH SHOWWWWWW PLFM ON THE SOUND WAVEZ Z Z Z

+
presby | 17.10.2024 - 21:24
interlude avec un mix de 4 bornes

+
presby | 17.10.2024 - 21:25
nest concert C_C

+
presby | 17.10.2024 - 21:29
next concert = C_C

+
lécheur-de-plat | 21.10.2024 - 17:25
punaiz en train d'écouter la selecta de lix et 4bourn c lourd!! tro hate de l'émission de scobiy quesque les semaines sont longues quand on doit attendre les émissions...

+
lécheur-de-plat | 21.10.2024 - 17:28
saluchlurp!! en train d'écouter le mix de lix et quatrebourde super selcta... hyper hate de l'émssion de scobiy, quesque les semaines sont longue quand on doit attendre les éissions ... 🤗

+
delire | 22.10.2024 - 17:36
yoyo ! en train d'ecouter le mix par lix et 4Bornes {0_0} troptrop oufff merci de fou pour cet selecta abusement bien @_@

+
Chichette | 23.10.2024 - 14:29
Yo Creazy cet émission ! Connecté depuis Bruxelles, les histoires d’euroatlantique me font des frissons ! Slimeslime merci les gloubs pour ces sons englobant et rafraîchissant !!! <3

+
nke tn | 27.10.2024 - 15:23
yo la z ca dit quoi?

+
nke tn | 27.10.2024 - 15:24
ya qq?

+
nke tn | 27.10.2024 - 15:24
yo les zins ya qqn?

+
nke tn | 27.10.2024 - 15:24
eh oh!!??

+
nke tn | 27.10.2024 - 15:28
vazy ya jamais personne ici la puree

+
la sportiwa | 27.10.2024 - 15:29
sisi trnq le s on est al

+
la sportiwa | 27.10.2024 - 15:30
fait pas trop de bruit ya le ptit qui dodo

+
nke tn | 27.10.2024 - 15:30
aight

+
nke tn | 27.10.2024 - 15:30
lourd mon couz

+
nke tn | 27.10.2024 - 15:30
sdk cet aprem?

+
cédric damien jo | 27.10.2024 - 15:35
wow dope selection here.. listening the livestream from ibiza, great vibes for my next set...

+
nke tn | 27.10.2024 - 19:06
yo cedric damien jo envoi une tite photo de toi a ibiza stpp

+
nke tn | 27.10.2024 - 19:07
gro manstre

+
nke tn | 28.10.2024 - 12:04
oh les sang ya qqn auj??

+
bob | 28.10.2024 - 15:50
de oufff

+
nke tn | 28.10.2024 - 15:56
oh bob aight cava ou quoi??

+
bob | 28.10.2024 - 16:28
aight carrement ! :)))

+
bob | 28.10.2024 - 16:28
et oit ?

+
nke tn | 28.10.2024 - 17:01
cava cava ca roule

+
nke tn | 28.10.2024 - 17:01
jsuis sur du php la a la cool

+
bob | 28.10.2024 - 18:25
ahh gave biengg

+
iffernet | 28.10.2024 - 21:57
bande de bandits !!!!

+
bob | 28.10.2024 - 22:29
OOMMMGGGG

+
nke tn | 08.11.2024 - 00:48
yo kikoo qui est la?

+
anonym | 08.11.2024 - 01:42
yoyo

+
tati | 09.11.2024 - 11:31
aiiiiight, lacoste ou quoi

+
zone_30 | 09.11.2024 - 12:50
peeerrryyyyy

+
jujulove | 09.11.2024 - 18:23
Coucouuuuu <3 <3 <3

+
zumbaz | 09.11.2024 - 18:30
prff zetes des manstres de diffuser narthex <33

+
Currywurst | 09.11.2024 - 18:48
Big love depuis Bremen en Allemagne <3 on vous écoute depuis le tram @_@ all the love de la terre de fou à la mif au café pomppppp et à bdx on vous aaaaimeee

+
Currywurst | 09.11.2024 - 18:50
Vous me manquez au fond du ballon ~~ loool <<33

+
Currywurst | 09.11.2024 - 18:52
Merciiii scoooobiii pour le stream !!

+
jujulove | 09.11.2024 - 19:00
vous êtes sur mes grosses enceintes à Amsterdaaaam

+
jujulove | 09.11.2024 - 19:01
fomo de ouf mes complices d'épopée fantastik <3 vous me manquezzz

+
anonym | 09.11.2024 - 19:16
la jujuuuud'amouuuur

+
narthokay | 09.11.2024 - 19:17
milliards de bissou cosmiik

+
narthokay | 09.11.2024 - 19:17
ohlalala looooooov maximaaal currrywurst

+
narthokay | 09.11.2024 - 19:19
viele Küsse mit süßem Senf

+
Bottle_of_mana | 09.11.2024 - 19:39
Gros looooveeeee

+
cidre breton | 10.11.2024 - 01:29
c la tooombola qui commmence

+
omgomgomgjpeps | 15.11.2024 - 03:11
Yoooohu da nuu websaidee is reeeddyyy

+
omgomgomgjpeps | 15.11.2024 - 03:12
codewise.... next week it will be filled with creazy content and selfmade maps !

+
ziqq | 15.11.2024 - 03:22
wow mega nice song playing right now: Rinde Eckert - Roomful of Teeth - Cesca's View

+
gloubi | 15.11.2024 - 10:35
les platformien.nes QUEL BOULOT !!!

+
bravo | 15.11.2024 - 10:59
boulga

+
hardcore preszido | 19.11.2024 - 18:41
abolish the livestream free the software

+
hardcore preszido | 19.11.2024 - 18:42
abolish the livestream free the software

+
plein tompete | 19.11.2024 - 21:10
sacha est un poisson dámour

+
anonym | 20.11.2024 - 08:39
omgggggg beautiful live yesterdayzzzzzzz listened to ufrom dijonwith love

+
anonym | 20.11.2024 - 11:21
fracxtiiiiion loooooooooooove

+
anonym | 21.11.2024 - 14:46
c quoi le bazar avec le nouveau site la on compends rien

+
residence secondaire | 21.11.2024 - 16:35
tranquille jtest des trucs

+
anonym | 21.11.2024 - 16:35
C clair c toooooo le bordel

+
anonym | 21.11.2024 - 17:37
notre proppppre eau de vieeee

+
anonym | 21.11.2024 - 17:37
WUAAA

+
anonym | 21.11.2024 - 20:41
damn

+
anonym | 21.11.2024 - 20:41
just cqnt choose ;y nickmame bruuu

+
anonym | 21.11.2024 - 20:44
miam miamnice website !!!

+
anonym | 21.11.2024 - 20:44
RAVISSANT LE GIF ADN JPP JE KIFFE

+
anonym | 21.11.2024 - 20:46
DELECTABLE CARTO LES AMIX !!!!!!!

+
anonym | 21.11.2024 - 20:46
ET SUBLIMES TYPOGRAPHIES !!!!

+
anonym | 21.11.2024 - 20:46
VOUS FAITES DES MERVEILLES

+
anonym | 21.11.2024 - 20:47
purée tu mank fraczouill!!!!

+
anonym | 21.11.2024 - 21:10
waaaaazaa le site pl4tfÔoorm en gros chantier, trop biennn trop hâte de voir sa nouvelle forme hivernale <333

+
anonym | 21.11.2024 - 21:58
GNIHAAA VOUS ME MANQUEZ OSSI TROP HATE DE VOUS REVOIR ET TELLEMENT BRAVO POUR TOUT VOTRE MERVEILLEUX ET NECESSAIRE TRAVAIL !!!!!

+
anonym | 21.11.2024 - 23:17
slt, la mapp c trop bien j'

+
anonym | 21.11.2024 - 23:18
ai hate de voir le suite

+
anonym | 21.11.2024 - 23:18
<3

+
anonym | 21.11.2024 - 23:50
<3333

+
mystérieux crapaud | 22.11.2024 - 15:38
croak groak

+
ammorale grenouille | 22.11.2024 - 15:39
kwig kwigggg

+
CCCCCCCCCCC | 23.11.2024 - 17:01
Pfffiouu hâte de voir cette carte!!

+
gloubi | 23.11.2024 - 17:38
what mais encore un new site hahaha c génial donnez énergie

+
anonym | 25.11.2024 - 11:52
<3

+
alix | 26.11.2024 - 14:30
on s'y sent bien..

+
superggggg | 27.11.2024 - 11:49
whoaaaaa magnifik site les amix

+
superggggg | 27.11.2024 - 11:49
pleinnnn de love sur vous

+
boob | 29.11.2024 - 10:27
<333

+
s,f | 02.12.2024 - 23:35
blablabla

+
nono | 03.12.2024 - 15:43
vous venez au CCC cette année ??

+
leo | 03.12.2024 - 17:29
olala nono ! <3 ouiii on viens a 3 !

+
leo | 03.12.2024 - 17:30
et toi ?

+
bloup | 03.12.2024 - 23:49
rggg j'ai trop envie de venir aussi !!!! c'est quand les dates ???

+
leo | 04.12.2024 - 00:14
vienssss !! du 27 au 30 decembre a hamburg !

+
leo | 04.12.2024 - 00:15
ca va etre dingo

+
leo | 04.12.2024 - 00:15
la thematique c'est les instuction illegal ......

+
Sacha | 05.12.2024 - 10:31
Hoooooooowwoooooaaaa

+
Sacha | 05.12.2024 - 10:31
lenouveausite!!!

+
Sacha | 05.12.2024 - 10:32
tiens-espace-ne-marche-pas-pour-moi-ici

+
leo | 05.12.2024 - 11:09
ah ouii merci j'ai trouve !

+
sentiment océanique | 06.12.2024 - 09:25
yo il est ou lafter?

+
sentiment océanique | 06.12.2024 - 09:25
en vrai 6mer c t morrtel hier

+
bibi | 06.12.2024 - 10:02
super émission sur le jardin éphémère waww <33

+
scoubi_dooo | 06.12.2024 - 15:16
<3 bibi

+
darklordoftheseaaa | 16.12.2024 - 11:35
bery nice show last week my dear friendz... can't wait to éouter ravissante émission de Torchong

+
darklordoftheseaaa | 16.12.2024 - 11:36
ps : gloubbb

+
anonym | 18.12.2024 - 14:30
omg j'adore que vous parler de clodo ici :O <3 merci scobiii

+
scobii | 21.12.2024 - 23:07
coooool :)))))) oué tavu

+
soup addict | 26.12.2024 - 12:56
soupeur votre recette de noel les zouzou, ça donne l'eau a la bouche avec ce froid 🤤

+
Mama Bob | 08.01.2025 - 13:26
test message: je vous suivra à 14 h

+
couration-permanence | 08.01.2025 - 13:44
yo les hackerz zetes bien en place a la clé tout est ok?

+
boooob | 08.01.2025 - 13:58
uiiiii on est pretttt !! et vouss ? <3333

+
av-net | 08.01.2025 - 13:59
yeeaahhh

+
couration - permanence | 08.01.2025 - 14:04
éh ouezz on est la hein 🖥️

+
boooob | 08.01.2025 - 14:06
yeeeehhhh

+
résidensedense | 08.01.2025 - 14:14
ah justement je cherche pleins de films introuvables c quoi le mail de sacha??

+
boooob | 08.01.2025 - 14:16
hehehehehehe je te l'envoie par des chemins des hackerzzzz

+
cider-addict | 08.01.2025 - 14:18
éh c'est quoi le site des 4voleurs des 4cidres?

+
boooob | 08.01.2025 - 14:20
yooo le lien du collective suive mais la deja le lien du video de la conference: https://media.ccc.de/v/38c3-bioterrorism-will-save-your-life-with-the-4-thieves-vinegar-collective#t=52

+
av-net | 08.01.2025 - 14:21
https://fourthievesvinegar.org/

+
av-net | 08.01.2025 - 14:24
pour la petite histoire : le vinaigre des quatres voleurs est un vinaigre que tu peux faire toi-meme avec une quinzaine de plantes et tu l'utilises pour booster ton systeme immunitaire

+
Sacha | 08.01.2025 - 14:30
https://darknetdiaries.com/

+
bob | 08.01.2025 - 14:56
si jamais ici ca va possiblement couper a 15:00 !! venez ecouter sur https://lacledesondes.fr/ !!!

+
av-net | 08.01.2025 - 14:59
merciiii pour le feedback CCC, je vois trop ce que vous avez vu/vécu

+
bob | 08.01.2025 - 14:59
<333

+
bob | 08.01.2025 - 14:59
trop bien te savoir ton oreille a l'autre bout des ondes !!

+
bob | 08.01.2025 - 15:00
viens sur la site de la cle des ondes pour ecouter !!

+
bob | 08.01.2025 - 15:00
https://lacledesondes.fr/

+
bob | 08.01.2025 - 15:14
vous allezz trouver ttoooout les liens ce soir ici dans l'index !!

+
wouya | 09.01.2025 - 10:17
wahouuuu merci géniale émission sur le CCC !!!!!! incroyable !

+
wouya | 09.01.2025 - 10:17
<3333

+
omg | 13.01.2025 - 10:46
wahou hyper intéressant et nécessaire "let's talk about the not talking about gaza

+
omg | 13.01.2025 - 10:46
merci de ce partage et de ces réflexions !!!!!!!!

+
omg | 13.01.2025 - 10:46
je vais de ce pas le partager à plein de monde!

+
kapuche | 15.01.2025 - 14:07
magnifique texte d'élodie petit c'est extrait de quel recueil?

+
booob | 22.01.2025 - 15:01
arrg je viens de reparer le chat !! <3 on etait la su les dernieres minutes depuis bruxelllles avec wallace <3333

+
trognon de bleu | 24.01.2025 - 10:35
fractiiiioooon quellle rrrrrrageance merveilllleuuuuse

+
trognon de bleu | 24.01.2025 - 10:35
vivement les prochaines je tréppiiigne de grrrrrrgggrrrrrr

+
PL | 24.01.2025 - 19:27
yo

+
Pl4tform | 24.01.2025 - 21:19
2P192QKFxE7uv3sh5h316hGdFXLEpjJyRDywhCdnpump

+
bob | 29.01.2025 - 14:11
O M G je vous ecouuuute depuis BXL <3<3<3<3

+
scobiii | 29.01.2025 - 14:16
boooooblove <33333333333333

+
Têtard | 29.01.2025 - 14:17
Et ça vous écoute aussi depuis un train vers Wolfsburg

+
scobiii | 29.01.2025 - 14:19
tetarrrrrd gros bissssou

+
Têtard | 29.01.2025 - 14:21
XoxoXooXoXoXooxoxo

+
FIVE MILES | 29.01.2025 - 14:24
en direk du 93 big lov<33333

+
Mari | 29.01.2025 - 14:28
Bravo Jul

+
scobiii | 29.01.2025 - 14:29
omgaaagad FIVE MILES !!! <3333

+
bob | 29.01.2025 - 14:56
<333333333

+
bob | 29.01.2025 - 15:02
yooo

+
nouckey | 29.01.2025 - 16:31
c'est quoi ici ?

+
nouckey | 29.01.2025 - 16:33
ça a l'air sympa

+
c moi | 31.01.2025 - 23:18
https://pl4tform.org/hotglue/content/start/shared/dance13.gif

diff --git a/includes/chatLoad.php b/includes/chatLoad.php new file mode 100644 index 0000000..142598d --- /dev/null +++ b/includes/chatLoad.php @@ -0,0 +1,79 @@ +format("m-d-Y H:i:s.u"); +$micro_date = microtime(); +$date_array = explode(" ",$micro_date); +$date = date("Y-m-d H:i:s",$date_array[1]); +$timestamp = "$date:" . $date_array[0]; +file_put_contents('lastTimecode.txt', $timestamp); +// echo "$timestamp"; + + +date_default_timezone_set('Europe/Amsterdam'); +// $date = date('m/d/Y h:i:s a', time()); +$date = date('d.m.Y - H:i', time()); + +// PUT A W IN PLACE OF THE A TO OVERRIDE FILE INSTEAD OF ADDING AT THE END !! +$chatFile = fopen("chatContent.php", "a") or die("Unable to open file!"); + +$message = $_POST['message']; +$chatName = $_POST['chatName']; + +$colors = array("antiquewhite","aqua","aquamarine","azure","beige","bisque","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","crimson","cyan","darkcyan","darkgoldenrod","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkturquoise","darkviolet","deeppink","deepskyblue","dodgerblue","firebrick","forestgreen","fuchsia","gainsboro","gold","goldenrod","green","hotpink","indianred","khaki","lawngreen","lightcoral","lightcyan"); + +$rand_colorIndex = array_rand($colors, 1); + +$rand_color = $colors[$rand_colorIndex]; + + + +$knownNames = array("leo"); +$personalColor = array("leo" => "green"); + +$knownNames = json_decode(file_get_contents('knownNames.txt'), true); + +$personalColor = json_decode(file_get_contents('personalColors.txt'), true); + + + +if ($chatName == ""){ + $chatName = "anonym"; + $name_color = "grey"; + +} + +else { + + if (in_array($chatName, $knownNames)) { + $name_color = $personalColor[$chatName]; + } + + else { + $name_color = $rand_color; + array_push($knownNames, $chatName); + $personalColor += [$chatName => $name_color]; + } + +} + + + +$insert = "
$chatName | $date
". $message ."

\n"; +fwrite($chatFile, $insert); +fclose($chatFile); + + + + + +file_put_contents('knownNames.txt', json_encode($knownNames)); + +file_put_contents('personalColors.txt', json_encode($personalColor)); + + + + + + +?> \ No newline at end of file diff --git a/includes/content.txt b/includes/content.txt new file mode 100644 index 0000000..4293ee7 --- /dev/null +++ b/includes/content.txt @@ -0,0 +1,2 @@ +John Doe +Jane Doe diff --git a/includes/file.txt b/includes/file.txt new file mode 100644 index 0000000..7d51fc3 --- /dev/null +++ b/includes/file.txt @@ -0,0 +1,6 @@ +Array +( + [0] => leo + [1] => bob + [2] => scobiya +) diff --git a/includes/item-title-split.php b/includes/item-title-split.php new file mode 100644 index 0000000..ae7c9c0 --- /dev/null +++ b/includes/item-title-split.php @@ -0,0 +1,37 @@ + + + + + +

+ Index
+ this a index of all pl4tform archives.
+ You can browse trought it by scrolling, searching, filtering.

+ If you are looking for a more visual way to explore the pl4tform-archive click here ! +

+
select a file or filter to start browsing the archive ==>
+ "; +} + +else { + + + +include 'nc-one-file-request.php'; + + +$file_info = getFileInfo($file_id); + + + + +// Überprüfen, ob die Datei existiert und Daten abgerufen wurden +if ($file_info !== null) { + // Zuweisung der Werte aus dem Array in eigene Variablen + $file_id = $file_info['file_id']; + $file_name = $file_info['file_name']; + $file_name = htmlentities($file_name); + $file_size = $file_info['file_size']; + $mimetype_name = $file_info['mimetype_name']; + $file_tags = $file_info['file_tags']; + $file_year = $file_info['file_year']; + $file_month = $file_info['file_month']; + $file_day = $file_info['file_day']; + $file_hour = $file_info['file_hour']; + $file_minute = $file_info['file_minute']; + $file_title = $file_info['file_title']; + $file_title = htmlentities($file_title); + + +} + + +$file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; +$file_link = 'https://pl4tform.org/ncdata/'.$file_name; +$file_content = file_get_contents($file_path_root); +$file_content = str_replace(".attachments.", "/ncdata/.attachments.", $file_content); +// echo $Parsedown->text($file_content); + + + +if (str_contains($mimetype_name, 'image')) { + + echo ""; + +} + + +if (str_contains($mimetype_name, 'audio')) { + + + // $item = $SoundPlayItem; + include('soundfile_titleAnalyse.php'); + + if(str_contains($file_title, "---")) { + $file_title = str_replace("---", "
", $file_title); + }; + + + $soundInfosFormat = "

$file_title

$file_day.$file_month.$file_year - $file_hour:$file_minute H
"; + echo '
' . $soundInfosFormat . '
'; + + + + $soundPlayLink = 'https://pl4tform.org/ncdata/'.$file_name; + // $soundPlayLink = htmlentities($soundPlayLink); + echo ' '; + // echo ' '; =====>>> try to load audio by ID but java-maridb-request and php quest ... ! + echo ''; + + + echo '
'; + + // $discriptionItemPath = $filesPath.$itemBeforeAt.'.md'; + // include ("$discriptionItemPath"); + + #### discription file: + + // Datenbankverbindungsdaten + $servername = "localhost"; // oder der Hostname deines DB-Servers + $username = "***"; // Dein neuer MariaDB Benutzername + $password = "***"; // Dein Passwort für den neuen Benutzer + $dbname = "nextcloud"; // Der Name deiner Nextcloud-Datenbank + + // Verbindung zur MySQL-Datenbank aufbauen + $conn = new mysqli($servername, $username, $password, $dbname); + + // Verbindung prüfen + if ($conn->connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); + } + + // 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält + $sql1_desc = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE (fc.path LIKE '%files/archive/%" . $file_year . $file_month . $file_day . "%" . $file_hour . $file_minute . "%.md%' + OR fc.path LIKE '%files/archive/%" . $file_year . $file_month . $file_day . "%" . $file_hour . $file_minute . "%.txt%') + ORDER BY fc.name DESC"; + + $result1_desc = $conn->query($sql1_desc); + $row_desc = $result1_desc->fetch_assoc(); + $file_id_desc = $row_desc['fileid']; + $file_name_desc = $row_desc['file_name']; + + // echo $file_name_desc; + + + if (str_contains($file_name_desc,".md")) { + $file_path_root_desc = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name_desc; + $file_content_desc = file_get_contents($file_path_root_desc); + $file_content_desc = str_replace(".attachments.", "/ncdata/.attachments.", $file_content_desc); + echo $Parsedown->text($file_content_desc); + } + elseif (str_contains($file_name_desc,".txt")) { + $file_path_root_desc = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name_desc; + $file_content_desc = file_get_contents($file_path_root_desc); + echo $file_content_desc; + } + + echo '
'; + + + +} + + +if (str_contains($mimetype_name, 'markdown')) { + + $file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; + $file_content = file_get_contents($file_path_root); + $file_content = str_replace(".attachments.", "/ncdata/.attachments.", $file_content); + echo $Parsedown->text($file_content); + +} + +if (str_contains($mimetype_name, 'text/html') or str_contains($mimetype_name, 'text/plain')) { + + $file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; + $file_content = file_get_contents($file_path_root); + echo $file_content; + +} + + +if (str_contains($mimetype_name, 'application/pdf')) { + + echo "

$file_title

====>>> Open in full-screen

"; + echo " "; + +} + + + + + + + +} + +?> + + + + diff --git a/includes/nc-data-request.php b/includes/nc-data-request.php new file mode 100644 index 0000000..5ea2cf3 --- /dev/null +++ b/includes/nc-data-request.php @@ -0,0 +1,68 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); +} + +// 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält +$sql1 = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE fc.path LIKE '%files/archive/%' + ORDER BY fc.name DESC"; + +$result1 = $conn->query($sql1); + +// 2. Abfrage: Alle Mimetypes und ihre IDs +$sql2 = "SELECT id, mimetype FROM oc_mimetypes"; +$result2 = $conn->query($sql2); + +// 3. Abfrage: Alle Tags im System +$sql3 = "SELECT id, name FROM oc_systemtag"; +$result3 = $conn->query($sql3); + +// 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file') +$sql4 = "SELECT objectid, systemtagid + FROM oc_systemtag_object_mapping + WHERE objecttype = 'files'"; + +$result4 = $conn->query($sql4); + +// Alle Mimetypes in einem Array speichern +$mimetypes = []; +while ($row = $result2->fetch_assoc()) { + $mimetypes[$row['id']] = $row['mimetype']; +} + +// Alle Tags in einem Array speichern +$tags = []; +while ($row = $result3->fetch_assoc()) { + $tags[$row['id']] = $row['name']; +} + +// Tags mit Dateiinformationen verbinden +$fileTags = []; +while ($row = $result4->fetch_assoc()) { + $fileTags[$row['objectid']][] = $tags[$row['systemtagid']]; +} + + +// Füge den Tag "archive" zu jedem Eintrag in fileTags hinzu +// foreach ($fileTags as $fileId => $existingTags) { +// // Prüfen, ob der Tag "archive" bereits vorhanden ist +// if (!in_array('archive', $existingTags)) { +// // Füge den Tag "archive" hinzu (nur im Array, nicht in der DB) +// $fileTags[$fileId][] = 'archive'; +// } +// } + + diff --git a/includes/nc-one-file-request.php b/includes/nc-one-file-request.php new file mode 100644 index 0000000..49f48af --- /dev/null +++ b/includes/nc-one-file-request.php @@ -0,0 +1,140 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); +} + + + +// Funktion zum Abrufen der Daten für eine einzelne Datei +function getFileInfo($file_id) { + global $conn; + + // 2. Abfrage: Alle Mimetypes und ihre IDs + $sql2 = "SELECT id, mimetype FROM oc_mimetypes"; + $result2 = $conn->query($sql2); + + // Alle Mimetypes in einem Array speichern + $mimetypes = []; + while ($row = $result2->fetch_assoc()) { + $mimetypes[$row['id']] = $row['mimetype']; + } + + // 3. Abfrage: Alle Tags im System + $sql3 = "SELECT id, name FROM oc_systemtag"; + $result3 = $conn->query($sql3); + + // Alle Tags in einem Array speichern + $tags = []; + while ($row = $result3->fetch_assoc()) { + $tags[$row['id']] = $row['name']; + } + + // 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file') + $sql4 = "SELECT objectid, systemtagid + FROM oc_systemtag_object_mapping + WHERE objecttype = 'files'"; + $result4 = $conn->query($sql4); + + // Tags mit Dateiinformationen verbinden + $fileTags = []; + while ($row = $result4->fetch_assoc()) { + $fileTags[$row['objectid']][] = $tags[$row['systemtagid']]; + } + + // Füge den Tag "archive" zu jedem Eintrag in fileTags hinzu +// foreach ($fileTags as $fileId => $existingTags) { +// // Prüfen, ob der Tag "archive" bereits vorhanden ist +// if (!in_array('archive', $existingTags)) { +// // Füge den Tag "archive" hinzu (nur im Array, nicht in der DB) +// $fileTags[$fileId][] = 'archive'; +// } +// } + + + // Abfrage nach der Datei mit der gegebenen file_id + $sql = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE fc.fileid = $file_id"; + + $result = $conn->query($sql); + + // Überprüfen, ob die Datei existiert + if ($result->num_rows > 0) { + $row = $result->fetch_assoc(); + + // Extrahiere die Dateidaten + $file_name = $row['file_name']; + $file_size = $row['size']; + $mimetype_id = $row['mimetype']; + $mimetype_name = isset($mimetypes[$mimetype_id]) ? $mimetypes[$mimetype_id] : 'Unknown'; + $file_tags = isset($fileTags[$file_id]) ? implode(', ', $fileTags[$file_id]) : 'No Tags'; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (YYMMDD-HHMM oder YYMMDD_HHMM) + if (preg_match('/^(\d{2})(\d{2})(\d{2})[-_](\d{4})/', $file_name, $matches)) { + // Extrahiere Jahr, Monat, Tag, Stunde und Minute + $file_year = $matches[1]; // Jahr (z.B. "21" wird zu "2021") + $file_month = $matches[2]; // Monat + $file_day = $matches[3]; // Tag + $file_hour = substr($matches[4], 0, 2); // Stunde (erste zwei Zeichen) + $file_minute = substr($matches[4], 2, 2); // Minute (letzte zwei Zeichen) + + // Entferne Datum und Uhrzeit aus dem Dateinamen, also den Anfang + $file_title = substr($file_name, strlen($matches[0])); // Rest des Dateinamens nach Datum/Uhrzeit + + // Finde die Position des letzten Punktes im Dateinamen + $last_dot_position = strrpos($file_title, '.'); + + // Überprüfe, ob ein Punkt im Dateinamen existiert + if ($last_dot_position !== false) { + // Extrahiere den Dateinamen ohne die Erweiterung (alles vor dem letzten Punkt) + $file_title = substr($file_title, 0, $last_dot_position); + } + + // Entferne alles nach dem '@' (falls vorhanden) + $file_title = strtok($file_title, '@'); + + // Entferne einen führenden Unterstrich (falls vorhanden) + $file_title = ltrim($file_title, '_'); + } + + + // Rückgabe der Datei-Daten als Array + return [ + 'file_id' => $file_id, + 'file_name' => $file_name, + 'file_size' => $file_size, + 'mimetype_name' => $mimetype_name, + 'file_tags' => $file_tags, + 'file_year' => $file_year, + 'file_month' => $file_month, + 'file_day' => $file_day, + 'file_hour' => $file_hour, + 'file_minute' => $file_minute, + 'file_title' => $file_title + ]; + } else { + // Falls keine Datei gefunden wurde, null zurückgeben + return null; + } + + +} + + + + +?> diff --git a/includes/nowLive.js b/includes/nowLive.js new file mode 100644 index 0000000..f621a82 --- /dev/null +++ b/includes/nowLive.js @@ -0,0 +1,49 @@ + + +// // Funktion, die die Div alle 5 Sekunden aktualisiert +// function nowLive(){ +// $("#actualPlaying").load("includes/nowLive.php"); +// console.log('Nowlive updated'); +// } + +// // Intervall starten +// function startLiveUpdate() { +// liveInterval = setInterval(nowLive, 5000); // Intervall alle 5 Sekunden +// console.log('Live updates started'); +// } + +// // Intervall stoppen +// function stopLiveUpdate() { +// clearInterval(liveInterval); // Stoppt das Intervall +// console.log('Live updates stopped'); +// } + + + + + +let isUpdating = false; + +function nowLive() { + if (isUpdating = false) { + console.log('doesnt update beaucause isUpdating = '+isUpdating) + return;} // Verhindert gleichzeitige Updates + isUpdating = true; + $("#actualPlaying").load("includes/nowLive.php", function() { + isUpdating = false; // Update abgeschlossen + }); + console.log('Nowlive updated'); +} + +function startLiveUpdate() { + isUpdating = true; + nowLive(); + liveInterval = setInterval(nowLive, 5000); + console.log('Live updates started'); +} + +function stopLiveUpdate() { + isUpdating = false; + clearInterval(liveInterval); + console.log('Live updates stopped'); +} \ No newline at end of file diff --git a/includes/nowLive.php b/includes/nowLive.php new file mode 100644 index 0000000..3f64fd3 --- /dev/null +++ b/includes/nowLive.php @@ -0,0 +1,17 @@ +Now live: $title"; + +echo "$nowLive"; +?> \ No newline at end of file diff --git a/includes/personalColors.txt b/includes/personalColors.txt new file mode 100644 index 0000000..ca0b4de --- /dev/null +++ b/includes/personalColors.txt @@ -0,0 +1 @@ +{"leo":"green","leo2":"firebrick","leo22":"beige","leo24":"gainsboro","leo245":"antiquewhite","uhu":"antiquewhite","gzu":"goldenrod","yaourt gentil":"chartreuse","dale":"darkcyan","laura":"burlywood","james":"indianred","windom":"crimson","jakoby":"darkgreen","melon":"blueviolet","le-departement?":"lightcyan","lot.gouv":"darkviolet","lot-et-garonne.gouv":"darkgreen","chicha":"green","Lot.is.garonne":"antiquewhite","perre quentin???":"darkturquoise","6984596":"deepskyblue","hihi ou c moi":"blueviolet","S\/\\|-|\/\\":"darkseagreen","5\/\\C|-|\/\\":"aqua","P4bL0":"forestgreen","P4bl0":"lightcoral","croutix":"fuchsia","NEWSLETTER":"aquamarine","NOW - LIVE":"hotpink","lobbyscout":"darksalmon","klein schitzel":"bisque","depuislacledesondes":"darkorange","LIVESTREAM":"fuchsia","skyrock":"cyan","letitbeeeey":"cyan","joallier du cringe":"dodgerblue","chiicha":"deepskyblue","bruxelles-admin.tv":"burlywood","canciara":"cornflowerblue","royaldeviation":"chartreuse","ohm torchon":"darkorchid","bxlll.be":"aqua","Radio Buratinas":"darkred","frittenhaus":"aqua","hugottteeee":"bisque","Auditrice":"aquamarine","ed2":"khaki","peer":"gainsboro","yolol":"brown","chiffon chez chicha":"fuchsia","schildou":"darkgoldenrod","bobintheboat":"darkorange","blurp33":"darkkhaki","electro-harmonix":"bisque","bob sinclar":"antiquewhite","la coloc":"darkkhaki","stolenbiker":"gold","Bob Geldof":"blue","KINDER COUNTRY":"gold","bise":"darkviolet","bisou":"darkorange","biz":"antiquewhite","MOOD":"goldenrod","sunnysunshineforsunnysouls":"darkolivegreen","gloubzzz":"green","toilettes seches":"deepskyblue","fanbase":"chocolate","robert-la-crabbe":"lightcoral","la-ligue-du-plancton":"darkred","KRUSTACEAN FORCE ":"darksalmon","les coraux associ\u00e9s":"darkcyan","GROS POISSON DE MORT":"darkolivegreen","zzz":"deeppink","m\u00e9enchon":"dodgerblue","m\u00e9duzarg":"coral","yiha":"darkseagreen","presby":"gainsboro","l\u00e9cheur-de-plat":"lawngreen","delire":"gold","Chichette ":"aquamarine","nke tn":"cadetblue","la sportiwa":"lightcyan","c\u00e9dric damien jo":"coral","iffernet":"brown","nke tn ":"burlywood","tati":"brown","zone_30":"cyan","jujulove":"brown","zumbaz":"deeppink","Currywurst ":"chocolate","narthokay":"coral","Bottle_of_mana":"darkgreen","cidre breton":"brown","omgomgomgjpeps":"darkgoldenrod","ziqq":"darkgoldenrod","gloubi":"forestgreen","bravo":"dodgerblue","hardcore preszido":"deepskyblue","plein tompete":"darkorange","residence secondaire":"antiquewhite","myst\u00e9rieux crapaud":"cadetblue","ammorale grenouille":"bisque","CCCCCCCCCCC":"cyan","alix":"chartreuse","superggggg":"beige","boob":"gainsboro","s,f":"darkturquoise","nono":"firebrick","bloup":"bisque","Sacha":"dodgerblue","sentiment oc\u00e9anique":"coral","bibi":"dodgerblue","scoubi_dooo":"cornflowerblue","darklordoftheseaaa":"darkolivegreen","scobii":"hotpink","soup addict":"lawngreen","Mama Bob":"chartreuse","couration-permanence":"darkgreen","boooob":"khaki","av-net":"firebrick","couration - permanence ":"bisque","r\u00e9sidensedense":"darkorchid","cider-addict":"aquamarine","wouya":"cornflowerblue","omg":"indianred","kapuche":"lightcoral","booob":"hotpink","trognon de bleu":"forestgreen","PL":"darkgoldenrod","Pl4tform":"lawngreen","scobiii":"darksalmon","T\u00eatard":"fuchsia","FIVE MILES":"forestgreen","Mari":"darkolivegreen","nouckey":"darkmagenta","c moi":"deeppink"} \ No newline at end of file diff --git a/includes/soundItemTitleAnalyse.php b/includes/soundItemTitleAnalyse.php new file mode 100644 index 0000000..ac32dbb --- /dev/null +++ b/includes/soundItemTitleAnalyse.php @@ -0,0 +1,14 @@ + + diff --git a/includes/soundplay.js b/includes/soundplay.js new file mode 100644 index 0000000..5226d9d --- /dev/null +++ b/includes/soundplay.js @@ -0,0 +1,114 @@ +function audioPlay(data, title, itemIndex) { + + + + // alert('sorry, working on the player for some hours'); + + // // mysql Modul importieren + // const mysql = require('mysql'); + + // // Datenbankverbindungsdaten für MariaDB + // const connection = mysql.createConnection({ + // host: 'localhost', // oder der Hostname deines DB-Servers + // user: '***', // Dein MariaDB-Benutzername + // password: '***', // Dein Passwort für den neuen Benutzer + // database: 'nextcloud' // Der Name deiner Nextcloud-Datenbank + // }); + + // // Verbindung zur Datenbank herstellen + // connection.connect((err) => { + // if (err) { + // console.error('Verbindung zur Datenbank fehlgeschlagen: ' + err.stack); + // return; + // } + // console.log('Mit der Datenbank verbunden als id ' + connection.threadId); + // }); + + // // Abfrage nach der Datei mit der gegebenen file_id + // const file_id = 123; // Beispiel file_id (kann dynamisch gesetzt werden) + + // const query = ` + // SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + // FROM oc_filecache AS fc + // WHERE fc.fileid = ? + // `; + + // connection.query(query, [file_id], (err, results) => { + // if (err) { + // console.error('Fehler bei der Abfrage: ' + err.stack); + // return; + // } + + // // Ergebnisse anzeigen + // console.log('Abfrageergebnisse:', results); + // }); + + // // Verbindung zur Datenbank schließen, wenn fertig + // connection.end(); + + + + + + + + + + + + + + + const soundPlayBtns = document.querySelectorAll('.soundPlayBtn'); + for (const soundPlayBtn of soundPlayBtns) { + soundPlayBtn.classList.remove('hidden'); + } + + if (title) { + document.getElementById('actualPlaying').innerHTML = ''; + document.getElementById('footer').style.bottom = '0px !important'; + } + + + + + + var source = document.getElementById('audioSource'); + + // try to dele cache du audioplayer buy setting the src = 0 and loading it + source.src = ""; + audio.load(); + + + source.src = data; + audio.load(); + audio.play(); + + + + + + if (title) { + document.getElementById('actualPlaying').innerHTML = title; + console.log('replace audio playing title'); + } + + if (data === "https://pl4tform.org/stream") { + console.log('click on livestream'); + startLiveUpdate(); + nowLive(); + } else { + console.log('not livestream played') + stopLiveUpdate(); + } + + + // $("#" + title).removeClass("visible"); + $("#playBtn"+itemIndex).addClass("hidden"); + + + + + +}; + diff --git a/includes/tagDiscription.php b/includes/tagDiscription.php new file mode 100644 index 0000000..7641195 --- /dev/null +++ b/includes/tagDiscription.php @@ -0,0 +1,65 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); +} + +// 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält +$sql1 = "SELECT id FROM oc_systemtag where name like '$tag'"; + +$result1 = $conn->query($sql1); + +$row = $result1->fetch_assoc(); +$tag_id = $row["id"]; + +// echo "$tag hat die id:".$tag_id; + +$sql2 = "SELECT objectid FROM oc_systemtag_object_mapping WHERE systemtagid IN ($tag_id, 32) GROUP BY objectid HAVING COUNT(DISTINCT systemtagid) = 2"; + +$result2 = $conn->query($sql2); +$row2 = $result2->fetch_assoc(); +// print_r($row2); +$tagDiscriptionFile_id = $row2["objectid"]; + +// echo "
und die dazugehoerige datei ist: $tagDiscriptionFile_id"; + + +$sql3 = "select name from oc_filecache where fileid like '$tagDiscriptionFile_id'"; +$result3 = $conn->query($sql3); +$row3 = $result3->fetch_assoc(); +// print_r($row2); +$tagDiscriptionFile_name = $row3["name"]; + + + + + +if (isset($tagDiscriptionFile_name)) { + // echo $tagDiscriptionFile_name; + + $file_path_root_desc = '/var/www/nextcloud/data/radio_admin/files/archive/'.$tagDiscriptionFile_name; + $file_content_desc = file_get_contents($file_path_root_desc); + $file_content_desc = str_replace(".attachments.", "/ncdata/.attachments.", $file_content_desc); + // echo $file_content_desc; + echo $Parsedown->text($file_content_desc); + +} \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..aec5f6c --- /dev/null +++ b/index.php @@ -0,0 +1,1004 @@ + + +isFile()) { + $filename = $file->getFilename(); + // array_push($tutos, $filename); + } + }; +?> + + + + + + + + + + + PL4TFORM + + + + + + + + + + + + + + + + + + + + + +
WE ARE ACTUALLY WORKING ON THE MOBILE VERSION !! VISIT PL4TFORM.ORG ON A PC/LAPTOP ! <3

+NOUS TRAVAILLONS ACTUELLEMENT SUR LA VERSION MOBILE ! VISITE PL4TFORM.ORG SUR UN ORDINATEUR ! <3 +
+ +
+ We are working on a new website !
+ There might be some error and non really working stuff but be patient ! Soon ut will be creazy cool ! + ղεჯէ Lἶνε ʂհօω: Wednesday 𝟐𝟎/𝟏𝟏/𝟐𝟎𝟐𝟒 - 𝟏𝟒𝓱 _ Br4vebête

+ Click here to listen to the livestream !

+ And click here to access a very simple table of all archives.

+ Very soon there will be creazycool new stuff righttt here @_@ <3 +
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+ +
+ + +
+ + + +
+ + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/load.php b/load.php new file mode 100644 index 0000000..ea12daf --- /dev/null +++ b/load.php @@ -0,0 +1,267 @@ + + + + + + + + + + + +num_rows > 0) { + echo "
"; + while ($row = $result1->fetch_assoc()) { + $file_id = $row['fileid']; + $file_name = $row['file_name']; + $file_size = $row['size']; + $mimetype_id = $row['mimetype']; + $mimetype_name = isset($mimetypes[$mimetype_id]) ? $mimetypes[$mimetype_id] : 'Unknown'; + + // Hole die Tags für diese Datei + $file_tags = isset($fileTags[$file_id]) ? implode(' ', $fileTags[$file_id]) : 'No Tags'; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (YYMMDD-HHMM oder YYMMDD_HHMM) + if (preg_match('/^(\d{2})(\d{2})(\d{2})[-_](\d{4})/', $file_name, $matches)) { + // Extrahiere Jahr, Monat, Tag, Stunde und Minute + $file_year = $matches[1]; // Jahr (z.B. "21" wird zu "2021") + $file_month = $matches[2]; // Monat + $file_day = $matches[3]; // Tag + $file_hour = substr($matches[4], 0, 2); // Stunde (erste zwei Zeichen) + $file_minute = substr($matches[4], 2, 2); // Minute (letzte zwei Zeichen) + + // Entferne Datum und Uhrzeit aus dem Dateinamen, also den Anfang + $file_title = substr($file_name, strlen($matches[0])); // Rest des Dateinamens nach Datum/Uhrzeit + + // Überprüfen, ob eine Dateiendung existiert + // if (pathinfo($file_title, PATHINFO_EXTENSION)) { + // // Entferne die Dateiendung, wenn sie existiert + // $file_title = pathinfo($file_title, PATHINFO_FILENAME); + // } + + // Finde die Position des letzten Punktes im Dateinamen + $last_dot_position = strrpos($file_title, '.'); + + // Überprüfe, ob ein Punkt im Dateinamen existiert + if ($last_dot_position !== false) { + // Extrahiere den Dateinamen ohne die Erweiterung (alles vor dem letzten Punkt) + $file_title = substr($file_title, 0, $last_dot_position); + } + + // Entferne alles nach dem '@' (falls vorhanden) + $file_title = strtok($file_title, '@'); + + + // Entferne einen führenden Unterstrich (falls vorhanden) + $file_title = ltrim($file_title, '_'); + + } else { + // Wenn das Format nicht stimmt, überspringen + continue; + } + + + + + + +////////////////// OUTPUT ////////////////// + + if (str_contains($file_tags, $cat)) { + + $file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; + + $show = ""; + $about = ""; + + if ($cat == ""){ + if (str_contains($file_tags, "about")){ + $show = "noshow"; + } + if (str_contains($file_tags, "onlyincat")){ + $show = "noshow"; + } + } + + + ////////////////// IMAGE FILES ////////////////// + + + if (str_contains($mimetype_name, 'image')) { + + echo "
"; + + echo ""; + + echo "
"; + } + + + ////////////////// AUDIO FILES ////////////////// + + if (str_contains($mimetype_name, 'audio')) { + echo "
"; + + echo "
"; + $soundInfosFormat = "
$file_day.$file_month.20$file_year - $file_hour:$file_minute H

$file_title


"; + echo $soundInfosFormat; + echo '
'; + echo "
"; + + echo "
"; + } + + + ////////////////// MARKDOWN FILES ////////////////// + + if (str_contains($mimetype_name, 'markdown')) { + + + $item = $file_name; + $columnPath = "/var/www/pl4tform.org/website/data/files"; + $soundFiles = scandir($columnPath,1); + $discriptionFileWithOutEnd = substr($item, 0, strlen($item)-4); + + foreach($soundFiles as $soundFile){ + if (str_contains($soundFile, ".mp3")) { + if (str_contains($soundFile, $discriptionFileWithOutEnd)) { + $matchingSoundFile = "true"; + break; + } + else { + $matchingSoundFile = "false"; + } + } + } + if ($matchingSoundFile == "false") { + $about = ""; + $show = ""; + $long = ""; + if ($cat == ""){ + if (str_contains($file_tags, "about")){ + $show = "noshow"; + } + if (str_contains($file_tags, "onlyincat")){ + $show = "noshow"; + } + } + else { + $show = ""; + if (str_contains($file_tags, "about")){ + $about = "about"; + $long = "long"; + } + } + if (str_contains($file_tags, "long")){ + $long = "long"; + } + + echo "
"; + echo "
"; + $file_content = file_get_contents($file_path_root); + + // $file_content = str_replace(".attachments.", "https://pl4tform.org/data/mdtransformation/03_attatchements_imgs/.attachments.", $file_content); + $file_content = str_replace(".attachments.", "/ncdata/.attachments.", $file_content); + echo $Parsedown->text($file_content); + echo "
"; + } + + + } + ////////////////// TXT AND HTML FILES ////////////////// + + if (str_contains($mimetype_name, 'text/html') or str_contains($mimetype_name, 'text/plain')) { + echo "
"; + echo "
"; + $file_content = file_get_contents($file_path_root); + $file_content = str_replace(".attachments.", "/ncdata/.attachments.", $file_content); + echo $file_content; + echo "
"; + } + + ////////////////// PDF FILES ////////////////// + + if (str_contains($mimetype_name, 'application/pdf')) { + echo "
"; + echo "
"; + echo "

$file_title

"; + echo " "; + echo "
"; + } + + ////////////////// END ////////////////// + + + } + +////////////////// END OUTPUT ////////////////// + + + } + + + + echo "
"; +} + + + + + + + + + + +?> + + + + + + + + diff --git a/loadFocus.php b/loadFocus.php new file mode 100644 index 0000000..d0885c6 --- /dev/null +++ b/loadFocus.php @@ -0,0 +1,252 @@ + + + +"; + echo ""; + + echo "
"; + echo ""; +} + + +elseif(strlen($id > "1")) { + + // echo "hallo??"; + // Einbinden der getFileInfo.php Datei + include('includes/nc-one-file-request.php'); + + // Beispiel: Datei-ID, die du abfragen möchtest + $file_id = $id; + + // Abrufen der Datei-Informationen + $file_info = getFileInfo($file_id); + + // Überprüfen, ob die Datei gefunden wurde + if ($file_info) { + + $file_id = $file_info['file_id']; + $file_name = $file_info['file_name']; + $file_size = $file_info['file_size']; + $mimetype_name = $file_info['mimetype_name']; + $file_tags = $file_info['file_tags']; + + $itemPath = $filesPath.$file_name; + $itemLink = $filesLink.$file_name; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (YYMMDD-HHMM oder YYMMDD_HHMM) + if (preg_match('/^(\d{2})(\d{2})(\d{2})[-_](\d{4})/', $file_name, $matches)) { + // Extrahiere Jahr, Monat, Tag, Stunde und Minute + $file_year = $matches[1]; // Jahr (z.B. "21" wird zu "2021") + $file_month = $matches[2]; // Monat + $file_day = $matches[3]; // Tag + $file_hour = substr($matches[4], 0, 2); // Stunde (erste zwei Zeichen) + $file_minute = substr($matches[4], 2, 2); // Minute (letzte zwei Zeichen) + + + // Entferne Datum und Uhrzeit aus dem Dateinamen, also den Anfang + $file_title = substr($file_name, strlen($matches[0])); // Rest des Dateinamens nach Datum/Uhrzeit + + // Finde die Position des letzten Punktes im Dateinamen + $last_dot_position = strrpos($file_title, '.'); + + // Überprüfe, ob ein Punkt im Dateinamen existiert + if ($last_dot_position !== false) { + // Extrahiere den Dateinamen ohne die Erweiterung (alles vor dem letzten Punkt) + $file_title = substr($file_title, 0, $last_dot_position); + } + + // Entferne alles nach dem '@' (falls vorhanden) + $file_title = strtok($file_title, '@'); + + + // Entferne einen führenden Unterstrich (falls vorhanden) + $file_title = ltrim($file_title, '_'); + + ###### EXTRA CLASSES FOR EXTRA TAGS + + // if (str_contains($file_tags, "full-page")) { + // $fullPage = "fullPage"; + // } + + + + + if (str_contains($mimetype_name, 'image')) { + echo "
"; + echo ""; + + // echo ""; + echo "
"; + echo "
"; + } + + if (str_contains($mimetype_name, 'audio')) { + + // soundfile + + echo "
"; + + // $item = $SoundPlayItem; + include('includes/soundfile_titleAnalyse.php'); + + if(str_contains($file_title, "---")) { + $file_title = str_replace("---", "
", $file_title); + }; + + + $soundInfosFormat = "

$file_title

$file_day.$file_month.$file_year - $file_hour:$file_minute H
"; + echo '
' . $soundInfosFormat . '
'; + + + + $soundPlayLink = 'https://pl4tform.org/ncdata/'.$file_name; + echo ' '; + echo ''; + + + echo '
'; + + // $discriptionItemPath = $filesPath.$itemBeforeAt.'.md'; + // include ("$discriptionItemPath"); + + #### discription file: + + // Datenbankverbindungsdaten + $servername = "localhost"; // oder der Hostname deines DB-Servers + $username = "nc-site_request"; // Dein neuer MariaDB Benutzername + $password = "***"; // Dein Passwort für den neuen Benutzer + $dbname = "nextcloud"; // Der Name deiner Nextcloud-Datenbank + + // Verbindung zur MySQL-Datenbank aufbauen + $conn = new mysqli($servername, $username, $password, $dbname); + + // Verbindung prüfen + if ($conn->connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); + } + + // 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält + $sql1_desc = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE (fc.path LIKE '%files/archive/%" . $file_year . $file_month . $file_day . "%" . $file_hour . $file_minute . "%.md%' + OR fc.path LIKE '%files/archive/%" . $file_year . $file_month . $file_day . "%" . $file_hour . $file_minute . "%.txt%') + ORDER BY fc.name DESC"; + + $result1_desc = $conn->query($sql1_desc); + $row_desc = $result1_desc->fetch_assoc(); + $file_id_desc = $row_desc['fileid']; + $file_name_desc = $row_desc['file_name']; + + // echo $file_name_desc; + + + if (str_contains($file_name_desc,".md")) { + $file_path_root_desc = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name_desc; + $file_content_desc = file_get_contents($file_path_root_desc); + $file_content_desc = str_replace(".attachments.", "/ncdata/.attachments.", $file_content_desc); + echo $Parsedown->text($file_content_desc); + } + elseif (str_contains($file_name_desc,".txt")) { + $file_path_root_desc = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name_desc; + $file_content_desc = file_get_contents($file_path_root_desc); + echo $file_content_desc; + } + + + + echo '
'; + + + echo "
"; + + } + + + if (str_contains($mimetype_name, 'markdown')) { + echo "
"; + echo ""; + + $file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; + $file_content = file_get_contents($file_path_root); + $file_content = str_replace(".attachments.", "/ncdata/.attachments.", $file_content); + echo $Parsedown->text($file_content); + + + // include ("$itemPath"); + echo "
"; + } + + if (str_contains($mimetype_name, 'text/html') or str_contains($mimetype_name, 'text/plain')) { + echo "
"; + echo ""; + + $file_path_root = '/var/www/nextcloud/data/radio_admin/files/archive/'.$file_name; + $file_content = file_get_contents($file_path_root); + echo $file_content; + + echo "
"; + } + + + if (str_contains($mimetype_name, 'application/pdf')) { + echo "
"; + echo ""; + + echo "

$file_title

====>>> Open in full-screen

"; + echo " "; + + echo "
"; + } + + + + + + + + + + + + } else { + echo "Die Datei mit der ID $file_id wurde nicht gefunden."; + } + + + + } + +} + + + + + +?> + + + \ No newline at end of file diff --git a/newmap.css b/newmap.css new file mode 100644 index 0000000..0e6618e --- /dev/null +++ b/newmap.css @@ -0,0 +1,2093 @@ + +@font-face { + font-family: "regular"; + src: url("https://pl4tform.org/database/utilities/DINdong/DINdong.woff") format("woff"); + } + + +a { + /* color: white; */ + text-decoration: underline red 2px; +} + +a:hover { + + font-style: italic; + font-weight: bold; +} + +#pl4tformBtn { + position: fixed; + z-index: 495; + width: 125px; + left: 20px; + top: 3px; +} + +#map1 #pl4tformBtn { + display: none; +} + +#pl4tformBtn:hover { + filter: invert(1); +} + + +.wipDesktop { + position: fixed; + background-color: yellow; + z-index: 30000; + rotate: -8deg; + left: 8%; + top: 30%; + #width: 84%; + font-size: 1em; + border: 3px solid darkmagenta; + border-radius: 20px; + padding: 14px; + display: none; + text-align: center; +} + + +.wipMobile { + display: none; +} + +#searchBarInputMobile { + direction: none !important;; +} + +#mobilesearchBar { + display: none +} + +body { + /*! overflow: hidden; */ + font-family: monospace; + /*! line-height: 1.5em; */ + /*! cursor: url(https://pl4tform.org/cursors/mapcursor.png), auto; */ + + overflow: hidden; + /*! height: 100vh; */ + + /* background-image: URL("data/main-page-image/img web mix echoique.jpeg"); */ + background-repeat: repeat; + background-size: 100vw; +} + +#mobilBtns { + display: none; +} + + +/* #actualImageBox { + position: fixed; + left: 50%; + top: 50%; + transform: translate(-50%, -53%); + background-image: URL('data/files/240703_1400_Narthex: a solstice journey.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + height: 83vh; + width: 70vw; + margin: auto; +} */ + +#actualImageBox { + /*! height: fit-content; */ + overflow: scroll; + height: 101vh; + position: fixed; + top: 0px; + left: 0px; +} + +#actualImage { + width: 100vw; + position: relative; + top: 0px; + left: 0px; + /*! display: none; */ + /*! overflow: scroll; */ +} + + +#hoverText { + position: fixed; + transition: transform 0.1s, opacity 0.3s; + -webkit-transition: transform 0.1s, opacity 0.3s; + pointer-events: none; + z-index: 2000; + border: 1px solid white; + background-color: #050505; + padding: 2px; + opacity: 0; + color: white; + font-family: monospace; +} + +#hoverText.visible { + opacity: 1; +} + + + + + +.radiobody { + #display: grid; + #grid-template-columns: 50% 50%; + #-webkit-transition: filter 600ms; + #transition: filter 600ms; + /* display: none; */ + + /*! overflow: hidden; */ + /*! height: 100vh; */ +} + +.background { + z-index: -5; + height: 100vh !important; + +} + +img#background{ + filter: blur(0) !important; + position: relative; +} + +#cadre { + display: none; +} + +#contentBG { + filter: blur(1.5rem); + size: fill; + position: absolute; + z-index: -1; +} + +#content { + display: none; +} + +#content.visible { + display: block; + + width: 30vw; + overflow: hidden; + /*! background-color: black; */ + position: fixed; + /*! border: 1px solid black; */ + backdrop-filter: blur(1); + /*! backdrop-filter: blur(1rem) opacity(1); */ + max-width: 488px; + top: 0px; + right: 0px; + z-index: 200; + padding-top: 20px; + /*! background-color: white; */ + min-width: 450px; + /*! backdrop-filter: blur(1); */ + \#background-color: #c8c1677d; +} + +#phpload { + + /*! height: 0px; */ + visibility: hidden; + opacity: 0; + /* transition: opacity 800ms, visibility 800ms; + -webkit-transition: opacity 800ms, visibility 800ms; */ + /*! z-index: 400; */ + position: relative; + overflow: scroll; + /*! width: 100%; */ + z-index: 420; + margin-top: 20px; + left: 0px; + top: 0px; +} + +#phpload.visible { + visibility: visible; + opacity: 1; + + /*! height: fit-content; */ + /*! width: 206px; */ + max-height: 96vh; + height: fit-content; +} + +.loadMapBtn, .loadCatBtn, img.focus, .hoverinvert, .loadLiveBtn { + transition: filter 0.4s, width 0.2s, height 0.2s; + -webkit-transition: filter 0.4s, width 0.2s, height 0.2s; + + cursor: url(https://pl4tform.org/cursors/loupev1.png), auto; + +} + +.loadMapBtn:hover, .loadCatBtn:hover, .focus:hover, .hoverinvert:hover, .loadLiveBtn:hover{ + filter: invert(1); + + /* width: 120% !important; + height: 120% !important; */ +} + +#map1 .loadMapBtn,#map1 .loadCatBtn,#map1 .focus{ + /* filter: contrast(10); */ + cursor: pointer; +} + +.map .text { + overflow: scroll; +} + +img.loadCatBtn { + #filter: blur(0.5rem); +} + +.footer { + #border-top: 1px solid black; + #background-color: #ffffff; + z-index: 510; +} + +.footer { + position: absolute; + left: 0; + #right: 50; + bottom: 0px; + width: 59%; + #background-color: rgb(214, 214, 214); + #color: white; + text-align: center; + transition: bottom 0.5s cubic-bezier(.64,.55,.36,1.57); + margin-left: 423px; + } + + +#actualPlaying { + background-color: #000; + width: fit-content; + margin: auto; + height: fit-content; + transition: height 0.5s, width 0.5s; + color: white; + border: #5cff00 1px solid; + padding-left: 5px; + padding-right: 5px; + border-bottom: 0px; +} + +#actualPlaying.visible { +} + + + + +audio { + border: #5cff00 1px solid; + width: 100%; +} + +.closeBtn { + position: fixed; + top: 2px; + left: 60vw; + margin-right: 20px; + font-size: 2em; + z-index: 240; +} + +img#seum { + /* transform: translateX(709px) !important; */ +} + + + +.discriptionBox { +background-color: blue; +font-size: 1.2em; +font-weight: bold; +color: white; +border: 3px solid violet; +#padding: 20px; +margin-bottom: 30px; +position: fixed; +top: 20px; +left: 72vw; +width: 23vw; +max-height: 80vh; +overflow: scroll; +} + +.discriptionBox a { + color:rgb(255, 111, 111); +} + +#catPlaceHolder { + width: 100%; + margin: auto; + text-align: center; +} + +#podcastList { + width: 100%; + margin: auto; + text-align: center; +} + +#zoneBackground { + #background-image: url(https://pl4tform.org/database/maps/map2.jpg); + #background-size: 105vw 105vh; + position: fixed; + height: 100vh; + width: 130vw; + top: 0px; + left: -100vw; + z-index: 419; + + transition: backdrop-filter 400ms; + -webkit-transition: backdrop-filter 400ms; + + backdrop-filter: blur(4rem) opacity(0); + -webkit-backdrop-filter: blur(4rem) opacity(0); + +} + +#zoneBackground.visible { + /*! backdrop-filter: blur(1rem) opacity(1); */ + -webkit-backdrop-filter: blur(1rem) opacity(1); + + /*! background-color: #00134c; */ + /*! background-image: url('https://pl4tform.org/data/map-backgrounds/empty.png'); */ + background-color: #91919187; + /*! display: none; */ + width: 100vw; + position: fixed; + top: 0px; + left: 0px; + background-size: 100vw 100vh; +} + + + + +#mapOverBackground { + /*! background-image: url(https://pl4tform.org/ive.jpg); */ + background-size: 100vw 100vh; + position: fixed; + height: 100%; + width: 100%; + top: 0px; + left: 0px; + \#backdrop-filter: blur(1rem); + -webkit-backdrop-filter: blur(1rem); + + + + /*! background-color: rebeccapurple; */ +} + +#map2Background.visible { + /* backdrop-filter: blur(1rem) opacity(1); */ + +} + +#map2Content { + /* visibility: hidden; + opacity: 0; + transition: opacity 800ms, visibility 800ms; */ +} + +#map2Content.visible { + /* visibility: visible; + opacity: 1; */ +} + + +#map1Background { + #background-image: url(https://pl4tform.org/data/map-backgrounds/start.jpg); + background-size: 105vw 105vh; + position: fixed; + height: 100vh; + width: 100vw; + top: 0px; + left: 0px; + z-index: -50; + #backdrop-filter: blur(1rem); + #-webkit-transition: filter 600ms; + #transition: filter 600ms; + filter: blur(0px); + /*! overflow: hidden; */ + /*! height: 100vh; */ +} + + +.contentColumn { + /*! max-height: 92vh; */ + /*! overflow: scroll; */ + /*! width: 100vw; */ + /*! margin: auto; */ + /*! padding: 23px; */ + + z-index: 450 !important; + /*! margin-bottom: 105px; */ + /*! grid-template-columns: repeat(5, 1fr); */ + /*! display: inline; */ + /*! max-width: 1026px; */ + /*! height: 100vh; */ + padding-top: 5px; + /*! position: fixed; */ + top: 0px; + /*! height: 100vh; */ + overflow: scroll; + /*! padding-bottom: 200px; */ + height: fit-content; + /*! margin: 100px; */ + position: relative; +} + + +.contentItemBox { + /*! height: 60px; */ + overflow: hidden; + border: 2px solid white; + /*! padding-left: 20px; */ + /*! padding-right: 20px; */ + margin-top: -1px; + background-color: #000; + margin-bottom: 15px; + color: white; + width: 85%; + /*! margin-left: 20px; */ + /*! margin-right: 20px; */ + margin-left: auto; + margin-right: auto; + cursor: pointer; +} + + +.contentItemBox a { + color: #00cfff; +} + +.contentItemBox .soundDiscription { + font-size: 0px; + display: none; +} + +.contentItemBox .textItem img { + width: 100%; +/*! margin-top: 20px; */ +} + +.contentItemBox .textItem { + font-size: 0px; + min-height: 51px; + padding-left: 20px; + padding-right: 20px; +} + +.contentItemBox .textItem.long { + font-size: 15px !important; +} + +.contentItemBox.about { + /* position: fixed; + top: 47px; + left: 129px; + width: 21vw; */ + background-color: darkblack; +} + +.contentItemBox.noshow { + display: none; +} + +.contentItemBox .textItem h1 { + font-size: 22px; +} + +.contentItemBox .textItem hr { + display: none;^ +} + +.contentItemBox .pdfembed { + width: 103%; + height: 500px; + margin-bottom: 20px; +} + +.contentItem { + #margin: 20px; +} + + +#imageColumn { + height: fit-content; +} + +#soundColumn { + #background-color: rgba(127, 231, 255, 0.74); + #border: 3px solid aliceblue; + /*! overflow: scroll; */ + /*! max-height: 80vh; */ + #min-width: 300px; + z-index: 200; + position: relative; + height: fit-content; + text-align: center; +} + +#textColumn { + height: fit-content; +} + +.imageItem { + position: relative; + /*! border: 3px solid violet; */ + width: 100%; + z-index: 250; + /*! margin-bottom: 15px; */ + min-height: 10vw; + display: block; + /*! height: 20px !important; */ + /*! max-width: inherit !important; */ + /*! border: 1px white solid; */ + /*! padding: 10px; */ + /*! margin-left: -5px; */ + width: 97%; + width: 100%; + /*! min-height: 0px !important; */ + /*! margin-top: 20px; */ +} + +.soundItem { + height: fit-content; + padding-left: 20px; + width: calc(100% - 40px); +} + +.soundItem.withDiscription { +} + +.soundTitle { + #font-size: 2em; + #line-height: 1.01em; +} + +.contentItemBox .soundTitle { + /*! background-color: #00000075; */ + /*! box-shadow: 0px 0px 17px 5px black; */ + /*! margin: 20px; */ +} + + +.soundDate { + position: relative; + top: 0px; + width: 110%; + left: -20px; + /*! display: none; */ + border-bottom: 1px solid black; +} + +.soundTitle:hover { + text-decoration: underline; +} + +.soundDiscription { +} + +.downloadLink { + #vertical-align: bottom; + display: ruby; +position: absolute; +right: 55px; +} + +.fa { + text-decoration: underline !important; +} + +.soundDiscription img { + display: none; +} + +.soundInfos { +} + +.soundInfos:hover, .item:hover { +/*! filter: invert(1); */ +} + +.textItem { + height: fit-content; + + + + + +} + + + +.textItem:before { + content:'read more'; + font-style: italic; + #font-size: 1em; + text-align: center; + /* color: white; */ + width:100%; + height:10vh; + position:absolute; + left:0; + top:231px; + #background:linear-gradient(transparent 10vh, rgba(255, 255, 255, 1)); + #background-color: red; + #backdrop-filter: blur(1rem); + z-index: 260; + /*! backdrop-filter: blur(4rem); */ + -webkit-backdrop-filter: blur(1rem); + #backdrop-filter: invert(0.7); + background-color: #191919; + display: none; + } + +.item { + + +} + + +#map { + #-webkit-transition: filter 600ms; + #transition: filter 600ms; + filter: blur(0px); +} + +.mapOver { + #display: none; + /* backdrop-filter: blur(1rem); */ + height: 0vh; + position: fixed; + top: 0px; + left: 0px; + transition: opacity 0.5s ease, height 0.5s, width 0.5s; + -webkit-transition: opacity 0.5s ease, height 0.5s, width 0.5s; + opacity: 0; + width: 0vw; + z-index: -100; + + /*! overflow: hidden; */ +} + +.mapOver.visible { + #display: block; + opacity: 1; + height: 100vh; + width: 100vw; + z-index: 99; + backdrop-filter: blur(5px); +} + +.soundItemBtn { + margin-left: 10px; + margin-right: 10px; + cursor: url(https://pl4tform.org/cursors/loupev1.png), auto; + + /*! background-color: white; */ +} + +.soundItemBtn:hover { + filter: invert(1); +} + +#soundDescriptionBtn { + +} + +.soundPlayBtn { + visibility: visible; + background-color: white; + border: 2px solid white; + /*! background-image: URL("data/btns/playBtn.png"); */ + background-size: 100% 100%; + width: 70px; + height: 50px; + /*! background-color: white; */ + + /*! display: none; */ + color: black; + font-weight: bold; + margin-bottom: 20px; +} + +.contentItemBox .soundPlayBtn { + /*! display: none; */ + height: 25px; + width: fit-content; +} + +.soundPlayBtn.hidden { + background-image: URL("data/btns/playingBtn.gif") !important; +} + + +.soundPauseBtn { +} + +.soundPlayBtn .soundPauseBtn { + +} + + + +/* FOCUS LOAD */ + +.focusBox { + position: relative; + top: 7vh; + margin: auto; + z-index: 500; + /* transition: opacity 800ms, visibility 800ms; + -webkit-transition: opacity 800ms, visibility 800ms; */ + visibility: hidden; + opacity: 0; +} + +.focusBox.full-page { + width: 100vw; + max-width: none; + margin: 0px; + position: fixed; + top: 0px !important; + left: 0px; + padding: 0; + height: 100vh !important; + overflow: scroll; + background-color: white; + color: black; +} + +.focusBox h1 { + /*! color: chartreuse; */ + } + +.focusBox hr { + color: rebeccapurple; + } + +.focusBox a { + color: white; +} + +.focusBox.visible { + visibility: visible; + opacity: 1; + /*! border: 1px solid black; */ +} + +.focusBoxText { + height: 70vh; + width: 85vw; + /*! box-shadow: 5px 5px 10px 2px rgba(0,0,0,.8); */ + overflow: scroll; + padding: 20px; + + padding: 10px; + background-color: black; + /*! border-radius: 4px; */ + color: white; + border: white 1px solid; + max-width: 692px; + /*! box-shadow: 0px 0px 70px 5px #2000ff; */ +} + +.focusBoxText img { + width: 100%; + /*! margin-top: 20px; */ + /*! margin-bottom: 20px; */ +} + +.focusBox .pdfembed { + width: 100%; + height: 603px; + margin-bottom: 20px; +} + +#focusBoxText { + /*! background: beige; */ + +} + +#focusBoxSoundDiscription { + /*! background: rgb(160, 241, 255); */ +} + +#focusBoxSoundDiscription .soundDiscriptionTitle { + font-weight: bold; + margin-bottom: 10px; +} + +#focusBoxSoundDiscription #soundPlayBtn { + margin-bottom: 20px; +} + + + + +#focusBoxImage { + +} + + +#focusImage { + background-repeat: no-repeat; + background-position: center; + background-size: contain; + height: 83vh; + width: 70vw; + margin: auto; +} + + +#phploadFocus { + /* display: none; */ +} + + +#focusLayer { + display: none; +} + +#focusLayer.visible { + display: block; +} + +#focusBackground { + width: 100vw; + height: 100vh; + #display: none; + position: fixed; + top: 0px; + left: 0px; + z-index: 490; + + transition: backdrop-filter 400ms; + -webkit-transition: backdrop-filter 400ms; + + backdrop-filter: blur(4rem) opacity(0); + -webkit-backdrop-filter: blur(4rem) opacity(0); + + /*! overflow: hidden; */ +} + +#focusBackground.visible { + backdrop-filter: blur(4rem) opacity(1); + -webkit-backdrop-filter: blur(4rem) opacity(1); +} + +.closeFocusBtn { + position: absolute; + top: -20px; + display: none; +} + +#closeFocusBtnText { + right: 2vw; +} + +#closeFocusBtnImage { + right: 20vw; +} + + + +/* POSITION BOX */ + +#positionBox { + position: fixed; + z-index: 2000; + #background-color: white; + height: 23px; + top: 0px; + right: 0px; + overflow: hidden; + backdrop-filter: blur(1rem); + -webkit-backdrop-filter: blur(1rem); + + color: white; + border: 1px solid black; + height: 28px; + #width: fit-content; + width: 180px; + background: black; + font-size: 20px; +} + +#positionBox { + -webkit-transition: height 600ms; + transition: height 600ms; + display: none; +} + +#positionBox:hover { + height: auto; + z-index: 2000; + background-color: rgba(255, 255, 255, 0.712); + width: fit-content !important; + color: black; +} + +#positionActual{ + /*! color: rgb(63, 63, 63); */ + /*! color: white; */ + font-family: monospace; + overflow: scroll; + height: 100vh; + text-align: right; +} + +#positionActual::first-line { + #font-weight: bold; + color: white; + background-color: black; +} + +#positionActual::first-line:hover { + color: black; +} + + +#positionActual::before { + text-align: right; + content: "Your roadmap =>"; +} + +.arrowUp { +} + +.arrowSymbol { + #font-size: 20px; +} + + + + + + + +/* //////////// NAVIGATION //////////// */ + +#navigationOpenBtn { +position: fixed; +z-index: 5000; +display: none; +} + +#navigation { + position: fixed; + z-index: 1000; + border-bottom: 2px solid white; + padding-bottom: 5px; + /*! padding-left: 353px; */ + /*! padding-right: 396px; */ + margin-left: auto; + margin-right: auto; + width: fit-content; + margin-bottom: -13px; + background-color: black; + /*! color: white; */ + top: 0px; + /*! text-align: center; */ + height: fit-content; + /*! text-align: center; */ + /*! top: 50%; */ + left: 50%; + transform: translate(-50%, -0%); + /*! display: flex; */ + text-align: center; + /*! max-width: 1201px; */ + width: 100vw; + display: none; +} + +#navigationMobil { + display: none; +} + +#navigation button { +} + +.navigationBtn { + display: inline; + /*! margin-left: 10px; */ + /*! margin-right: 10px; */ + #color: #fff0; + border: 0px; + background-size: 100% 100%; + /*! width: 100px; */ + /*! height: fit-content; */ + font-family: monospace; + text-decoration: underline; + font-size: 20px; + color: white; + background-color: black; + cursor: pointer; +} + +.navigationBtn:hover { + /*! filter: invert(0.5); */ + background-color: white !important; + color: black !important; +} + +.navigationBtnBox { + border-right: 1px solid black; + display: inline; + padding-left: 20px; + padding-right: 20px; +} + +#livestreamBtn { +} + +#searchBtn { + #background-image: URL("data/map-backgrounds/navigation_search2.png"); + +} + +#basemapBtn { + #background-image: URL("data/map-backgrounds/navigation_start2.png"); + +} + +#backBtn { + #background-image: URL("data/map-backgrounds/navigation_back2.png"); + + background-color: black; + color: white; + /*! text-decoration: snow; */ + position: fixed; + top: 0px; + left: 0px; + z-index: 5000; + font-size: 20px; + border: 2px solid white; + text-decoration: none; + height: 37px; + border-top: 0px; + border-left: 0px; + padding-right: 10px; + display: none; +} + +/* //////////// SEARCH //////////// */ + +#searchBar { + -webkit-transition: opacity 0.5s, visibility 0.5s, height 0.5s; + transition: opacity 0.5s, visibility 0.5s, height 0.5s; + + vertical-align: middle; + height: 100%; +} + +#searchBtn { + -webkit-transition: opacity 0.5s, visibility 0.5s, width 0.5s; + transition: opacity 0.5s, visibility 0.5s, width 0.5s; + z-index: 1000; +} + +#searchBarInput { + width: 80%; + border-radius: 1px; + + color: black; + height: 100%; + border: 0px; + background-color: transparent; + outline: none; + text-align: center; +} + +#searchBar.visible { + width: 100%; + height: 31px; + + position: fixed; + left: 14vw; +} + +#searchBtn.visible { + /*! width: 100px; */ + +} + + +#searchBar.visible, #searchBtn.visible { + opacity: 1; + visibility: visible; + #display: block; +} + +#searchBar.hidden, #searchBtn.hidden { + opacity: 0; + visibility: hidden; + #display: none; + width: 0%; + height: 0px; +} + + + +#ceasefirenow { + position: fixed; + right: 0px; + top: 0px; + width: 200px; +} + + + + + +/* CHAT */ + +.chat { + height: 100%; + /*! background-color: lightgray; */ + /*! color: white; */ + word-wrap: break-word; + width: 100%; + height: 100%; + display: grid; +} + +#chat h1 { + width: 100%; + border-bottom: 1px solid grey; + margin: 0px; + position: sticky; + top: 0px; + /*! background-color: white; */ +} + +#historyBox{ + overflow: scroll; + scroll-behavior: smooth; + /*! height: 132px; */ + overflow: scroll; +} + +#newMesInput { + width: 77%; + background-color: black; + color: white; + font-family: monospace; + border: 1px solid white; + position: relative; + bottom: 0px; + left: 0px; +} + +#sending { + position: relative; + bottom: 1px; + width: 100%; + /*! border-top: gray solid 1px; */ + padding-top: 3px; + /*! background-color: white; */ +} + +.message{ + /* border: 1px solid white; */ +} + +.chatName { + text-decoration: underline; + #color: darkorchid; + /*! background-color: black; */ +} + +.sendBtn { + background-color: black; + color: white; + border: 1px solid white; +} + +input#chatName { + background-color: black; + color: white; + font-family: monospace; + border: 1px solid white; +} + +.closeChat { + position: absolute; + top: -2px; + right: -1px; + background-color: black; + border: 2px solid white; + font-size: 2em; + height: 28px; + width: 28px; + text-align: center; + line-height: 1.5rem; + cursor: pointer; + display: none; +} + +#showChat { + font-size: 2em; + border: 5px dotted white; + position: fixed; + z-index: 10000; + bottom: 13px; + left: 13px; + color: white; + padding: 10px; + background-color: black; + display: none; + box-shadow: 0 1px 16px 0 rgba(32, 0, 255, 0.46),0 3px 20px 0 rgba(0, 183, 255, 0.37) !important; + cursor: pointer; +} + +.mesTime { + color: grey; +} + +#lastTimecode { + display: none; +} + + + + +#liveTEST { + display: none; +} + +#nowLiveSpan{ + color: black; + background: red; + margin-left: -5px; + padding-left: 5px; + animation: color-change-nowLive 5s infinite; +} + +@keyframes color-change-nowLive { + 0% { background-color: red; } + 50% { background-color: rgb(255, 230, 0); } + 100% { background-color: red; } +} + + + + +/* GRID HTML ACCUEIL HOME SITE */ + + +/* body { + padding: 0px; + margin: 0px; + height: 100vw; + overflow: hidden; + } */ + + .item1 { + grid-area: livestream; + font-size: 11px; + font-style: italic; + /* padding-left: 10px; */ + text-decoration: underline; + text-align: center; + display: grid; + } + .item2 {grid-area: nextlive; +overflow: scroll !important; +position: relative;} +.item13 {grid-area: nextlive2; + overflow: scroll !important; + position: relative;} + .item3 { grid-area: logo; + text-align: center;} + + .item4 { grid-area: search; + text-align: center; +background-color: #97ff00 !important; + } + .item5 { grid-area: about; + text-align: center;} + .item6 { grid-area: contact; + text-align: center; } + .item7 { grid-area: newsletter; + text-align: center; } + .item8 { grid-area: alliees; + text-align: center; + background-color: #c7fe86 !important; +} + .item9 { + grid-area: prog; + overflow: scroll; + + } + .item10 { grid-area: ch4tform; overflow: scroll !important;border: 2px solid blue !important;background-color: black !important;color: white;} + .item11 { grid-area: index; + text-align: center;} + .item12 { grid-area: carte; + text-align: center;} + + + .item9::-webkit-scrollbar { + display: none; + } + + /* Hide scrollbar for IE, Edge and Firefox */ + .item9 { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ + overflow: scroll !important; + } + + + .grid-container { + display: grid; + gap: 0px; + padding: 0px; + width: 50vw; + height: 100vh; + position: fixed; + top: 0px; + + } + + .grid-container#accueil { + grid-template-areas: + 'carte logo logo logo' + 'carte logo logo logo' + 'livestream nextlive nextlive nextlive' + 'livestream nextlive nextlive nextlive' + 'about prog prog prog' + 'contact prog prog prog' + 'newsletter prog prog prog' + 'alliees prog prog prog' + 'ch4tform ch4tform index index' + 'ch4tform ch4tform index index' + 'ch4tform ch4tform index index'; + left: 0px; + grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto; + grid-template-columns: 25% 25% 25% 25%; + z-index: 1; + } + + .grid-container > div { + border: 1.5px solid grey; + overflow: hidden; + } + +.grid-container p {margin-top: 0px} + + + .grid-container img { + max-width: 100%; + max-height: 100%; + vertical-align: middle; + margin: auto; + } + + #carteImg, #indexImg { + width: 100% !important; + height: 100% !important; + } + + img#logo { + position: relative; + } + + .grid-container .helper { + display: inline-block; + height: 100%; + vertical-align: middle; + } + + .item2 img { + position: absolute; + top: 0px; + z-index: 5; + opacity: 0; + } + + .item2, .item9 { + font-size: 1.5em !important; + } + + + +/* ///////////////////// INDEX griddddddd */ + +.header { + grid-area: header; + /* display: flex; */ + text-align: center; +} + +.header:hover { + /* background-color: grey !important; */ +} + +.header p { + width: 90%; +} + +.searchIndex { + grid-area: searchIndex; + text-align: center; + /* background-color: #97ff00 !important; */ +} + +.searchIndex input { + background-color: transparent; + width: 100%; + text-align: center; + border: 0px; + color: white; +} + +.tags { + grid-area: tags; + overflow: scroll; +} + +#tagDiscription { + grid-area: tagDiscription; + overflow: scroll; +} + +#tagDiscription h1 { + margin-top: 0px; +} + +.archiveList { + grid-area: archiveList; + overflow-y: scroll !important; +} + +.grid-container#index { + grid-template-areas: + 'header header header header' + 'searchIndex searchIndex tags tags' + 'archiveList archiveList tags tags' + 'archiveList archiveList tagDiscription tagDiscription'; + right: 0px; + /* grid-template-rows: min-content 30px auto 30vh; */ + grid-template-rows: min-content 30px auto 30vh; + grid-template-columns: 25% 25% 25% 25%; + background-color: black; + color: white; + border-left: 1px solid #8875ad; + width: calc(50vw - 14px); + z-index: 1; + display: none; + padding-right: 8px; + } + +.grid-container#index.visible { + display: grid !important; + } + + .grid-container#index a { + color: white; + } + +#closeIndex { + /* position: fixed; + top: 4px; + right: 15px; */ +} + +/* tr.about { + display: none !important; +} */ + +tr[tags*="about"] { + display: none !important; +} + +tr.No.Tags { + display: none; +} + +#resetFilterButton { + background-color: gray !important; + width: fit-content; + border: 1px solid white; + margin: 5px; + padding: 2px; + transition: scale 0.5s; +} + +#resetFilterButton:active { + /* background: lightslategray !important; */ + /* scale: 0.9; */ +} + +.tagButton.about, .tagButton.No.Tags, .tagButton.onlyincat { + display: none !important; +} + +button[data-filter*="2030"], button[data-filter*="2026"], button[data-filter*="No Tags"], button[data-filter*="about"] { + display: none !important; +} + +.filterButton { + opacity: 0.3; +} + +.filterButton.intable { + opacity: 1 !important; +} + +.tagButton.selected, .yearButton.selected, .filterButton.selected { + /* background-color: rgb(255, 255, 255) !important; */ + /* color: rgb(0, 0, 0) !important; */ + border-radius: 13px; + filter: invert(1); +} + +.grid-container#index > div { + background-color: black; + border: white 1px solid; + box-shadow: 0px 0px; + } + +.grid-container#index button { + background-color: black; + color: white; + margin: 5px; + border: 1px solid white; + /* transition: opacity 0.5s , border-radius 0.5s, scale 0.2s, filter 1s; */ + transition: opacity 0.5s , border-radius 0.5s, scale 0.2s; + } + +.grid-container#index button:active { + background-color: rgb(255, 255, 255); + color: rgb(0, 0, 0); +} + +.grid-container#index .tags{ + /* padding: 5px; */ + overflow: scroll; +} + + +/* INDEXX TABLLLEEE */ + +#fileTable { + background-color: black; + color: white; + border-collapse: collapse; + width: 100% !important; +} + +.noshowcolumn { + display: none; +} + +table { + width: 100%; + border-collapse: collapse; + width: 300px !important; + display: flex; +} +table, th, td { + border: 1px solid black; + background-color: black !important; +} +tbody { + width: 100%; +} +td { + padding: 0px !important; + text-align: left; + border: 0px !important; + background-color: transparent !important; +} +tr { + background-color: black !important; + padding-bottom: 10px; + display: block; + border-top: 1px solid white; +} +tr:hover, #closeIndex:hover { + color: #00cfff; +} +tr:first-of-type { + border: 0px; +} + +th { + display: none; +} + +#fileTable_length { + display: none; +} + +#fileTable_filter, .dataTables_filter { + color: white; + text-align: left; + float: none; + display: none; +} + +#fileTable_filter input { + color: white; + border: 1px solid white; +} + +#fileTable_paginate { + display: none; +} + +#fileNameRow { + /* max-width: 50px; */ + display: none; +} + +tr.selected { + background-color: white !important; + color: black; + transition: background-color 0.5s; +} + + + + + +/* ///////////////////// FOCUSSSSSSSS griddddddd */ + +.grid-container#focusGrid { + grid-template-areas: + 'title' + 'content' + 'details'; + left: 0px; + grid-template-rows: min-content auto min-content; + grid-template-columns: 100%; + background-color: black; + color: white; + width: calc(50vw + 4px); + z-index: 1; + border: 0px !important; + padding-right: 5px; + display: none; + } + +.grid-container#focusGrid.visible { + display: grid; + } + +.grid-container#focusGrid > div { + background-color: black; + border: white 1px solid; + box-shadow: 0px 0px; +} + +.grid-container#focusGrid #focusItemIndexDetailsTitle { + grid-area: title; + text-align: center; +} + +.grid-container#focusGrid #focusItemIndexBack { + grid-area: backbtn; + display: none; +} + + + +.grid-container#focusGrid #focusItemIndexDetails { + grid-area: details; + display: block; +} + +.grid-container#focusGrid #focusItemIndexContent { + grid-area: content; + overflow-y: scroll !important; +} + +.grid-container#focusGrid #focusItemIndexContent #startAnnounce { + width: 60%; + margin: auto; + margin-top: 20vh; +} + +.grid-container#focusGrid #focusItemIndexContent #startAnnounce #selectafile { + position: relative; + top: 8vh; + left: 20px; +} + + + +.grid-container#focusGrid a { + color: white; + } + +#focusItemIndexImage { + max-width: 100%; + max-height: 100%; +} + + +/* DETTTTTTTTTTTTTTAILS GRIDDD */ + +#focusItemIndexDetails { + display: grid !important; + grid-template-areas: + 'date time format size id'; +} + +#focusItemIndexDetails > span { + border: 0px solid white; + text-align: center; +} + + +#focusItemIndexDetailsDate { + grid-area: date; + +} + +#focusItemIndexDetailsTime { + grid-area: time; + +} + +#focusItemIndexDetailsFormat { + grid-area: format; + +} + +#focusItemIndexDetailsSize { + grid-area: size; + +} + +#focusItemIndexDetailsId { + grid-area: id; +} + +#focusItemIndexDetailsId a { + text-decoration: none; +} + + + + + + + + + +@media (max-width: 60rem) { + + /* body { + background-image: URL("data/main-page-image/soso-mercredi-14.jpg"); + background-repeat: repeat; + background-size: 100vw; + } */ + + + #positionBox { + display: none; + } + + #focusBackground { + background-color: rgba(255, 255, 255, 0.521); + } + + #zoneBackground { + background-color: white; + } + + .focusBox { + top: 11vh; + } + + .focusBox.full-page { + height: 97vh !important; + } + + + .soundDiscription { + /*! display: none; */ + + } + + .soundItem.withDiscription { + + display: block !important; + width: calc(100% - 40px); + } + + .focusBox { + top: 38px !important; + } + + .focusBoxText { + height: 80vh !important; + } + + .textItem::before { + top: 226px !important; + } + + #navigation { + display: none; + } + + #navigationMobil { + position: fixed; + z-index: 1000; + border: 2px solid white; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 10px; + margin-left: auto; + margin-right: auto; + margin-bottom: -13px; + background-color: black; + /*! color: white; */ + /*! text-align: center; */ + /*! text-align: center; */ + /*! top: 50%; */ + left: 50%; + transform: translate(-50%, -0%); + /*! display: flex; */ + text-align: center; + max-width: 800px; + width: min-content !important; + display: none;display: none; + left: 0px !important; + transform: translate(-1%)!important; + height: 80vh !important; + top: 46px !important; + padding: 9px; + box-shadow: 0px 0px 70px 5px #ff6000; + } + + + .navigationBtn { + text-align: left !important; + width: inherit !important; + } + + #backBtn { + display: none !important; + } + + #backBtnMobil { + position: fixed; + right: 10px; + z-index: 5000; + display: none; + } + + #mobilBtns { + display: inherit !important; + } + + #searchBar, #mobilesearchBar, .mobilesearchBar { + position: fixed !important; + top: 11px !important; + width: 50vw !important; + z-index: 5000 !important; + left: 50%; + transform: translate(-50%); + display: none; + } + + #mobilesearchBar.visible { + display: block; + } + + .contentColumn { + left: 0px !important; +position: fixed !important; +padding-top: 52px !important; + padding-left: 0px !important; + padding-right: 0px !important; + height: 94%; + overflow: scroll; + } + + .mobileMainBtns { + background: black; + color: white; + font-family: monospace; + font-size: 18px; + border: 2px solid white; + } + + .wipMobile { + position: fixed; + z-index: 499; + background: yellow; + top: 83px; + font-size: 25px; + display: none; + left: 0px; + #display: block !important; + width: 86%; + margin: 10px; + padding: 5px; + } + + #content.visible { + left: 0px !important; + width: 100% !important; + top: 0px !important; + max-width: 100% !important; + } + + #phpload.visible { + height: 100vh; + } + + .contentColumn { + width: 100%; + /*! top: -30px !important; */ + } + + .contentItemBox { + width: 80% !important; + /*! margin-left: 16px !important; */ + } + + #showChat { + display: none !important; + } + + .chat { + width: 100vw !important; + top: 0px; + height: 100vh !important; + padding: 0px !important; + padding-top: 30px !important; + border: 0px !important; + display: none ; + left: 0px; + } + + #chat h1 { + top: 29px; + } + + .closeChat { + display: none !important; + } + + #newMesInput { + margin-bottom: 20px; + } + + #map1 div.image { + width: 90vw !important; + left: 20px !important; + + } + + .wipDesktop { + display: none; + top: 40px; + font-size: 15px; + } + + #map1 .text { + max-width: 85vw !important; + height: fit-content !important; + left: 10px !important; + } + + + + .grid-container#accueil { + grid-template-areas: + 'logo ' + 'livestream' + 'nextlive ' + 'prog ' + 'about ' + 'contact ' + 'newsletter' + 'index ' + 'alliees '; + left: 0px; + grid-template-columns: 100%; + } + + .grid-container#index { + grid-template-areas: + 'header ' + 'searchIndex ' + 'tags ' + 'archiveList ' + 'tagDiscription'; + left: 0px; + grid-template-rows: min-content 30px 30vh auto auto; + grid-template-columns: 98%; + background-color: black; + color: white; + border-left: 1px solid #8875ad; + width: 100vw; + z-index: 1; + display: none; + padding-right: 8px; + overflow: hidden; + z-index: 5; + } + + .grid-container#focusGrid.mobileVisible { + z-index: 6; + } + + + .grid-container#focusGrid { + width: 100vw; + z-index: 0; + grid-template-areas: + 'backbtn title' + 'content content' + 'details details'; + grid-template-columns: 20% 79%; + + } + + + .radiobody { + display: none; + } + + .grid-container { + width: 99vw; + } + + .grid-container#focusGrid #focusItemIndexBack { + display: block; + } + + .footer { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + text-align: center; + transition: bottom 0.5s cubic-bezier(.64,.55,.36,1.57); + margin-left: 0%; + } +} diff --git a/phpinfo.php b/phpinfo.php new file mode 100644 index 0000000..cb9a0e7 --- /dev/null +++ b/phpinfo.php @@ -0,0 +1 @@ + diff --git a/player.js b/player.js new file mode 100644 index 0000000..08428a3 --- /dev/null +++ b/player.js @@ -0,0 +1,37 @@ +window.onload = function() { + let elements = document.getElementsByClassName("ecouterici"); + + for(let i = 0; i < elements.length; i++) { + elements[i].onclick = function (e) { + e.preventDefault(); + var elm = e.target; + var audio = document.getElementById('audio'); + + var source = document.getElementById('audioSource'); + source.src = elm.getAttribute('data-value'); + + audio.load(); //call this to just preload the audio without playing + audio.play(); //call this to play the song right away + + document.getElementById('listening-to').textContent= "Listening to: "; + + var title = elm.getAttribute('title'); + document.getElementById('play-title').textContent= "" + title; + + + + + + + + if (window.matchMedia("(max-width: 700px)").matches) { + document.getElementById('footer-text').style.display = "block"; + } else { + document.getElementById('footer-text').style.display = "block ruby"; + + } + + + } + } +}; diff --git a/rename-files.php b/rename-files.php new file mode 100644 index 0000000..280fd56 --- /dev/null +++ b/rename-files.php @@ -0,0 +1,49 @@ + $itemNew

"; + + + rename($item,$itemNew); + + rename("/var/www/pl4tform.org/website/data/files/240710_2200_test@pl4tform.txt", "/var/www/pl4tform.org/website/data/files/240710_2200_test@pl4tformmm.txt"); + + + } + } + + + + +}} + + +$itemIndex = $itemIndex + 1; + +}; \ No newline at end of file diff --git a/scripts/ARCHIVE_music_duration_output.txt b/scripts/ARCHIVE_music_duration_output.txt new file mode 100644 index 0000000..27e4331 --- /dev/null +++ b/scripts/ARCHIVE_music_duration_output.txt @@ -0,0 +1 @@ +dim. 08 sept. 2024 20:57:52 CEST : Total duration of Pl4tform-Archives: 9206 minutes / 153 Hours / 6 Days diff --git a/scripts/MUSIC_music_duration_output.txt b/scripts/MUSIC_music_duration_output.txt new file mode 100644 index 0000000..17ea932 --- /dev/null +++ b/scripts/MUSIC_music_duration_output.txt @@ -0,0 +1,2 @@ +dim. 08 sept. 2024 20:50:53 CEST : Total duration of Pl4tform-Music: 3483 minutes / 58 Hours / 2 Days +jeu. 03 oct. 2024 13:24:07 CEST : Total duration of Pl4tform-Music: 3819 minutes / 63 Hours / 2 Days diff --git a/scripts/find_files_without_md_and_update.sh b/scripts/find_files_without_md_and_update.sh new file mode 100644 index 0000000..8651b3b --- /dev/null +++ b/scripts/find_files_without_md_and_update.sh @@ -0,0 +1,22 @@ +#find /var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/ -name "*.mp3" -exec id3v2 -l {} | grep "NO ID" \; + +#!/bin/bash + +# Verzeichnis angeben +VERZEICHNIS="/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/" + +# Durchlaufe alle MP3-Dateien im angegebenen Verzeichnis +find "$VERZEICHNIS" -type f -name "*.mp3" | while read -r datei; do + # Überprüfe, ob der "title"-Tag vorhanden ist + title=$(mediainfo --Inform="General;%Title%" "$datei") + #echo "$title" + if [ -z "$title" ]; then +# echo "KEIN TITEL $title für $datei" + # Extrahiere den Dateinamen ohne Erweiterung + dateiname=$(basename "$datei" .mp3) + # Setze den Dateinamen als "title"-Tag + sudo id3v2 -t "$dateiname" "$datei" + sudo id3v2 -a " " "$datei" + echo "Titel-Tag gesetzt auf: $dateiname für Datei: $datei" + fi +done diff --git a/scripts/music.m3u b/scripts/music.m3u new file mode 100644 index 0000000..1c19e17 --- /dev/null +++ b/scripts/music.m3u @@ -0,0 +1,127 @@ +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Deliverance Series No3 Shackleton [09 Jan 2015] rjbst/2 In Norwegen Ganz Verwegen Shackleton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/wires-lauren-duffus.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Infancia TardÃa Finger Blas [11 Nov 2017] oj6tm/2 Sai Fai Drams To Moebius Finger Blas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Infancia TardÃa Finger Blas [11 Nov 2017] oj6tm/1 Brtension Finger Blas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/melodious-monk-hakuna-kulala.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Deliverance Series No3 Shackleton [09 Jan 2015] rjbst(1)/2 In Norwegen Ganz Verwegen Shackleton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/L039aube Viendra Cheval De Trait [17 Feb 2024] f6ml0/2 J039ai FrÃlà Sa Main Cheval De Trait.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/L039aube Viendra Cheval De Trait [17 Feb 2024] f6ml0/1 El Lenn Cheval De Trait.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa/2 Light It Lil Fry.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa/1 Enter Da Swamp Swamp Wizard Da Regulator OG.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/She039s So Cool Wet Kiss [10 May 2022] s2k2c/2 Jerk Wet Kiss.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/She039s So Cool Wet Kiss [10 May 2022] s2k2c/1 Nobody Has To Know Wet Kiss.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/juergenpaape-so-weit-wie-noch-nie-dettinger-mix(1)_mp3.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa(1)/2 Light It Lil Fry.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa(1)/1 Enter Da Swamp Swamp Wizard Da Regulator OG.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Bulie Jordeaux Visions Bulie Jordeaux [05 Jul 2024] f3iwd/1 Vacarme Grande Rousse Disques.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Bulie Jordeaux Visions Bulie Jordeaux [05 Jul 2024] f3iwd/2 Le Volcan Grande Rousse Disques.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Legendo Lutto Lento [05 Feb 2021] 9ydwg/1 Intro Lutto Lento.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Legendo Lutto Lento [05 Feb 2021] 9ydwg/2 Mortal Fools Lutto Lento.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Inna Babalon John T Gast [20 Mar 2016] pubbj/1 Those Secluded Preferences John T Gast.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1-of-3-kelly-lee-owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Mimi Dj Bobo1 [07 Jan 2020] uhxhj/1 Stubborn Sunshine Dj Bobo1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Mimi Dj Bobo1 [07 Jan 2020] uhxhj/2 Botanic 2511 Dj Bobo1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tearless Amnesia Scanner [19 Jun 2020] 7u70w/2 As Tearless Feat Lalita Amnesia Scanner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tearless Amnesia Scanner [19 Jun 2020] 7u70w/1 As Enter Amnesia Scanner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Future_Perfect_(youconvert.net).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tell Them That You Love Them Zoe Heselton [21 Jul 2023] 48aew/2 Introduction Salt Water Ritual Urin Gargarism Records.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tell Them That You Love Them Zoe Heselton [21 Jul 2023] 48aew/1 Hello Urin Gargarism Records.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Folk Ultramarine [13 Nov 2020] 33kbg/1 Lobster Foam On A Wave.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Folk Ultramarine [13 Nov 2020] 33kbg/2 Antiseptic Foam On A Wave.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Fiesta En El VacÃo amp Helen Island Atarraya Helen Island [14 Jun 2024] 48xz0/1 Intro Helen Island.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Leoni Leoni Leoni Leoni [03 Jun 2022] 9omhz/2 Easyjet Leoni Leoni.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Leoni Leoni Leoni Leoni [03 Jun 2022] 9omhz/1 Figged Si Sich Frau Schluchter Leoni Leoni.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/More Than A Woman Kelly Lee Owens [07 Nov 2017] 6fsl9/2 More Than A Woman Klo Remix Kelly Lee Owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/More Than A Woman Kelly Lee Owens [07 Nov 2017] 6fsl9/1 More Than A Woman Kelly Lee Owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/They Are Textural Sha Ru [29 Feb 2024] gjj1p/1 Ona Sha Ru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/They Are Textural Sha Ru [29 Feb 2024] gjj1p/2 Not Your Steps Sha Ru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/R Vincenzo - Haru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Mawtini .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Maibaum - Grande Albero Buono Magico Uoma.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - SU/Susobrino, Dyce - SU - 02 Beberte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - SU/Susobrino, Lisandro Skar - SU - 03 Ha Muerto.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - SU/Susobrino, Ngenko - SU - 01 Florecer.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 03 ATARRAYA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 05 TU DONCELLA (INSTRU).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 04 EN TI ES DE NOCHE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 01 INTRO.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 02 TU DONCELLA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/My Blood is Palestinian Dami Falasteeni Translation.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Agazero - Kurone Baile.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/06.FIESTA EN EL VACIO avec LASZLO - Trix.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Sunchaser - Witness.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Beatrix Weapons - NOT REAL LIFE IS MY REAL FRIEND.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Abu AMA - LAC.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 06 no witness.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 09 it's the end.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 02 HOOD IN MAY.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 05 the alarm guy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 07 My Bestie.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 01 liass2 intro.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 08 alice dj.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 04 Hood in May 2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 03 i'd like to become a member.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/aya - Lip Flip/aya - Lip Flip - 02 Leftenant Keith.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/aya - Lip Flip/aya - Lip Flip - 03 Dexxy Is A Midnight Runner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/aya - Lip Flip/aya & Ecko Bazz - Lip Flip - 01 Essente!.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/aya - Lip Flip/aya - Lip Flip - 04 Lip Flip (ft. LOFT).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Sea Sick Lyric Video.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/volquete - JAIJIU -v- Wachichorro - El triki triki por la cola.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Thomass Jackson - Alien Armando.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Amplify Palestine BDS Mixtape - Elder Ones - Dance of the Subaltern.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Fiesta en el Vacio - Serendip Lab 10 ans (SER011) - 71 L'Aspartame.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/volquete - STRIDAH -v- McCaco - Bugutu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Swordman Kitala & Tim Karbon - Dingidingi Dole.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a4-mettez moi au travail.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a5-la menina.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a1-grido (antonia pozzi).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b2-falseta por seguiriya.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b1-canto de ordeño.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b4-avec dingue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a2-rosal.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b5-le pont.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a3-dimmi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b3-histoire du pourceau.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Bella Cuts - Until Everybody Is Free.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/3-DIGITS - Sabaweli (Brodinski Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/bukahara_320.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/R Vincenzo - R Vincenzo & Dannyhell - Corridors of Time (MTG).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Loto Retina - 2016 - sens/05_artefact parfumé.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Loto Retina - 2016 - sens/01_zoom gustatif.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Loto Retina - 2016 - sens/03_obsolescence auditive.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Loto Retina - 2016 - sens/02_vision flottante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Loto Retina - 2016 - sens/04_évasion tactile.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 14 14 Mazurkas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 07 07 Rossignolet sauvage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 09 09 Cantiques (avec Simon Drouhin).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 11 11 Frisson.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 05 05 La barca vira - Rigodon du Valgaudemar.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 04 04 Bourrée à la Dédée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 06 06 Marguerite elle est malade (avec Clémence Cognet).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 01 01 la badoise - Polka piquée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 03 03 Le départ pour la Provence.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 10 10 Rigodon des quatre cordons.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 08 08 Bourrée d'Arthon - Bourrée à Fleuret.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 02 02 Mie Jeanneton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 13 13 Les filles sont promises.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/La preyra - La Preyra/La preyra - La Preyra - 12 12 Salut à la mariée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Amplify Palestine BDS Mixtape - Dakn - difa3an 3an nafs.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/V.A. - Don't Panic 2 - 04 Fiesta En El Vacio - No Sabes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Palestine Will Rise.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Rajieen OFFICIAL MUSIC VIDEO.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/11 - Fiesta en El Vacio - Mauricio.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/01-maquis_son_sistem-cortegi_astral-z0ne.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 06 Killay.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 02 Jii - Tío Carbón.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 01 El Aguante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 05 El Camino Refleja.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 03 Wasos Ft. Dengue Dengue Dengue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 04 La Semilla.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/Broosnica - Love on the Run.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 07 - Une Drôle De Blague (Roy Of The Ravers Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 05 - Grosse Pierre (Lesinge Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 01 - Billy's House.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 06 - Cocktail De Voix (Aftawerks Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 03 - Une Drôle De Blague.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 04 - Baka.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/leo_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 02 - Grosse Pierre.mp3 diff --git a/scripts/music.txt b/scripts/music.txt new file mode 100644 index 0000000..5dfeea9 --- /dev/null +++ b/scripts/music.txt @@ -0,0 +1,915 @@ +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Yōkai.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Mad Love.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Inner Garden.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Honey Bb Love.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Lost In Love.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Bodhi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Calling.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Chill Pill.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/Tänd Ett Ljus.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ylva Falk - Inner garden/The Door.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lambda/01 - Release +ϕ.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Deliverance Series No3 Shackleton [09 Jan 2015] rjbst/2 In Norwegen Ganz Verwegen Shackleton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/01 - Can I Be Your Geisha.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/06 - Can You Tell Me What Is Micronet.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/04 - Tourism Workers (Departure).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/05 - No More Mistakes With Drumkit.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/07 - Walk With Your Romance (bonus track).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/03 - Tourism Workers (Arrival).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Naomie Klaus (2022) - A Story of a Global Disease/02 - Crocodile Skin Shoes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/02-kyyberwall-gil_boy_son-8f8af697.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/05-kyyberwall-underscore_____-c507985d.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/04-kyyberwall-dogs_dont_gossip-dd255f22.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/03-kyyberwall_susu_laroche-55ff-5362e9d7.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/01-kyyberwall-not_far_from_the_tree-96475129.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Kyyberwall-Dogs_Dont_Gossip-EP-WEB-2023-ENRiCH/06-kyyberwall-drone_drum_function-4a34059a.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/MALSJÖ - C_C.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Theophilus London - Whiplash (feat. Tame Impala).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Rejjie snow ft king krule - So sick notes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Janet Jackson - If (Kaytranada Remix) HD, Janet Jackson Kaytranada - If I was your Girl.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Flying Lotus - More (feat. Anderson .Paak) [Official Video].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Crooked Colours - I'll Be There [Official Audio].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Public Memory - Ecco.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/nevrland - nevrland2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/George Benson The Ghetto.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Fever Ray 'Triangle Walks'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Chaka Khan - Like Sugar (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Tristan Bründler - Claymore.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Pot de fer.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Roosevelt - Montreal (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Findlay - Off & On (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Ross From Friends - Talk To Me You'll Understand.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/KOKOROKO - Adwa.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Strawberry Blue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Kalis - Montagnetagne.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/PAVANE - Pélléas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Yaya Jalloux - Đêm Đông.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/David August - J.B.Y..mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Genesis Owusu drive slow.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/babywok - DO IT LIKE ME (prod. XXHYZ).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Marie Davidson - 'So Right'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Young Fathers - Toy (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Marina Herlop - abans abans.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Ekman - Antenna's Overture.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jürgen Paape - Ausklang.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Doublscotch - Somos pacificos.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Le Frit - Pixel Soup [traverse].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Dengue Dengue Dengue - Dubcharaca.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/waterfall.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Gospel Vibes - 말라기 42 Malachi 42 [HD].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Yaya Jalloux - Silencio.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/ptite soeur - nepas cliquer.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Kai Whiston - HELL FOR OURSELVES STEMS 146BPM.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Inside Out.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/wires-lauren-duffus.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Decide Decide.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Moscoman - Devoue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Eddy Woogy X Oster Lapwass - La Vache.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Agar Agar - Symbiose.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/eydn - red bones.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/CHAT GPT - LAST FLIGHT.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DJ Assid - Amareto.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Curtis Mayfield - Move On Up.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Fever Ray - Mama's Hand (Official Audio).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Geo Balasta - Coco's Dead.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Delicate Steve - Afria Talks To You.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Gaby Hernandez - Mangoes and Pears.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Fatima Yamaha - Half Moon Rising.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Gilberto Gil - Palco.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Sir Spyro - Topper Top ft. Teddy Bruckshot, Lady Chann and Killa P (Disaffected Bootleg).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/alt-J - Hit Me Like That Snare (feat. Rejjie Snow) (Rejjie Snow Version) [Official Audio].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/XOLOT - Resplandor.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/I-F Space Invaders - Are smoking Grass.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Eldorado 54.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Real J - One Love.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/sangkakala-malaikat-heith.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/angel hunt - Skulp Haunt.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/[Premiere] Agôn & Céline B - Drifted (out on Bait).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/FARAH DANCING GIRLS.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/El Presidente Without You.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Dengue Dengue Dengue - Buscando.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Green Dollar Bills.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Coldcut - 'True Skool'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Vessel - Red Sex.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Oppenheimer Analysis - The Devil's Dancers.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/LAVA LA RUE - LETRA (w Tariq Disu).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/mula - COURAGE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Somewhere - ML Buch.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/objectif blue - chaos discoideum.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Lukid - Drip.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DJ RISH - I Won't Forget.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Genesis Owusu Goondocks CBR ZOO II (Sabretooth).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/[Premiere] Sòn Du Maquís - Sidobre Caòs (out September 6th on Egregore).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Wizaard - Mountain Of The Underground.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/chmura - Saba Flip.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Soundtrack (Song Credits) #5 Too Late to Turn Back Now BlacKkKlansman (2018) HQ.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Premiere_ Officium - Oiseaux Parleurs [TMR044].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Kalis - La Chasse Aux Loups.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Trentemøller River In Me.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Boards of Canada - Dayvan Cowboy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Mount Kimbie - Marilyn ft. Micachu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Himera - Faint (Feat. Instupendo) (UNSLS006).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Just Reach For The Stars.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/She Past Away - Rituel.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Lusine - Everything Under the Sun.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Peggy Gou - Starry Night.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Sampa The Great - Energy (feat. Nadeem Din-Gabisi).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/GB - WORLD IN US.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Tinariwen (+IOI) - Ténéré Tàqqàl (what has become of the Ténéré).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jonquera - B5 Rouge De L'Ouest.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/The Knife - Got 2 Let U (Deep Cuts 12).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/henri-salvador-et-des-mandolines-1974.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Glint - 2 times too.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/J'sais pas - Johan Papaconstantino.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/That Don't Make It Junk.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/dovecot - sobindo dub.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Genesis Owusu WUTD (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/melodious-monk-hakuna-kulala.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/The Comet Is Coming - Summon The Fire.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DJ Startup - A Mon Jardin Croist La Fleur Souveraine.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Chesus - Special (Original Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Yoong - Joyride.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/12. Snoop Dogg - Gangbang Rookie feat. Pilot.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Rip Swirl n Ydegirl - Let's Make Out.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Detente & Nevrland - Always Stressed.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Photay - Illusion of Seclusion.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Mother - frederique sueur.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/LA CHICA - THE SEA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Boe Strummer - Noise.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Lucy Sissy Miller - Winds Too.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Nighttime Stroll - E's Jammy Jams.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jayda G - 'Stanley’s Get Down (No Parking on the DF)' (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Josman - Un Zder, Un Thé (Clip Officiel).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Still Corners - The Trip.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jazz Labeaux - Yesterday.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Grimes Genesis.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Ross From Friends - The Beginning.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jonathan Bree - You're So Cool.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Axine M - grind3.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Out in Myself.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/A$AP Rocky - Praise The Lord (Da Shine) (Official Video) ft. Skepta.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Despina - City in Plastic [MK PREMIERE].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/WPR069 - Sorrow - Dark Zone.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jazz Lambeaux - Xmas Will Never Happen Again.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Coldcut - 'Only Heaven feat. Roots Manuva'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Kikagaku Moyo - Dripping Sun.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Jazz Lambeaux - Lexus Waltz in B-Flat Major.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Human Pattern - La Demarrante (Création Originale).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Népal - Rien d'Spécial #LaxVision.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Lava La Rue - Widdit A COLORS SHOW.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Yaeji - Guap (Official HD Video) [GODMODE].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Evolution.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/mylene-farmer-california-megalo-mania-remix.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Cabaret Nocturne - Blood Walk (Original Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Amnesia Scanner & Freeka Tet - Ride (PAN 139).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/aYia - Slow (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Avril - Velvet Blues (Nova Edit) out in 2002 on Fcom.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/juergenpaape-so-weit-wie-noch-nie-dettinger-mix(1)_mp3.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/LTJ Bukem - Atlantis (I Need You) (Original 12' Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/abel31 - 10 balles ft. H JeuneCrack.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Vince Staples - Norf Norf (Explicit) (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Tinariwen - Zawal (feat. Warren Ellis, Noura Mint Seymali, Jeiche Ould Chighaly).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Coldcut - Timber.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Holding On.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/aigue morte - B4 - Choco Pie Shy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Trendle Ring – Crèche (Total Forgiveness).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/King Doudou - Chase The Red Lion.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/LAVA LA RUE - TWENNYFOUR.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/H369 x DJ Traytex - Sundance Chicken [RAWS4].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Suuns - Arena.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/paolo-conte-sparring-partner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Suuns - Pie IX (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Crumb - Locket [Official Video].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/LIFELIKE Your Tiny Mind.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Nosaj Thing - Sister (Official Stream).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/The Killing Moon.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/EARTHGANG - Monday ft. Mac Miller.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/abel31 - 94express ft. wasting shit (co-prod. by Vilhelm.).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Delicate Steve- Butterfly.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/The Chemical Brothers - Got To Keep On (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Blondie - Heart Of Glass (Official Music Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/John Maus - The Law (2003) - extended.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/bientôt jamais estragon.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Skepta - Shutdown (Disaffected Bootleg).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Altın Gün - Süpürgesi Yoncadan.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Yoong - I Can Hear Music.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/MM PREMIERE 008 _ Fiesta En El Vacio - Dimmi [Teenage Menopause Rds].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/chmura - Fingering The Trigger w_ Montycler [Headbang Society Premiere].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Mr Oizo - Dolce Vita feat Phra (Lyrics Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/A$AP Rocky - L$D (LOVE x $EX x DREAMS).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/mr oizo - Nuque.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Beat Spacek - 'Alone In Da Sun'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/belmont girl - Wild Horses.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/PREMIERE_ Formella - dripstep (Bait).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/𝖕𝖗𝖊𝖒𝖎𝖊𝖗𝖊#208 📢 6.R.M.E - Broken Doll [EZ-rec].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/A$AP Rocky - Fukk Sleep (Official Audio) ft. FKA twigs.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Buju Banton - Hills and valleys.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Vince Staples - Crabs In A Bucket (Official Audio).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Basile3 & Deena Abdelwahed - Hyaluron [Taken from FREE RADICALS].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Sébastien Forrester - Strife.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Deathpact - Danger.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Delicate Steve - Sugar splash.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/MATZO & PAULI - Matzo & Pauli EP A1 (Viewlexx V-012).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Genesis Owusu Sideways (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Apparat - Dawan (Official).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Moussa - Cabrioli (Clip Officiel).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Deep Sea Mystery.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Bronski Beat - Smalltown Boy (Official Music Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/(Premiere) Amor Fati - La Lueur de l'Aube.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/babywok - Club Goin Up ft. StavoDinero x OneEyeQ.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Flavien Berger - Contre-Temps.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/abel31 - 2031 ft. winnterzuko.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Little Simz - Venom A COLORS SHOW.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/WEEKEND WOLVES - ROOSTERS.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Farah - Law Of Life.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Migu - Moon Soul.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Molly Johnson - Melody (2002).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/VIDEO DJ 916 - Walking.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/100gecs - Hand Crushed By A Mallet (VISLA Edit).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Pusha T - If You Know You Know.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/𝖕𝖗𝖊𝖒𝖎𝖊𝖗𝖊#099 📢 Stacktrace - Meek A Chooce [Délices du Midi].mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Swordman Kitala & Tim Karbon - Highlandrum.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Hugg.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Midnight In A Perfect World @djsn3s #footwork.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Ori - Half Human.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Everytime I Hit Myself In The Head I Think I'm In Paris - Photay.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/SiR - D'Evils.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/La copine de flipper - Le vent.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Bracco - Stop Dancing.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DWIG - Orange Evening Laut & Luise (LUL007).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/dovecot - Balusters.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Oleic.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/winnterzuko - Heart (prod. by Neil).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DJ GÄP - Prada Edit (Raye).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/The Knife - You Make Me Like Charity.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Damn It Feels Good (To Be a Gangster).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Molly Johnson - Summertime.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/aigue morte - A1 - Rétroviseur.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/BAVOOG AVERS - PANNACOTTA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/heading - Wire in the Cushion.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Josman - Dans le vide (Clip officiel).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/DJ Startup - la taverne vide.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/A3 Tonito Yama - Ocytocine Aussitôt Fait.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Cry me a river - Julie London.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Alogon - Diogene.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Real Friends.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Rogergoon - hungry 4 Life.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/64couette - malone in the middle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Mick Jenkins - What Am I To Do (Produced by Kaytranada) A COLORS SHOW.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Ross From Friends - 'Pale Blue Dot'.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/passinho.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Lusine - Two Dots.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Vince Staples - Blue Suede (Explicit).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Kelly Lee Owens – Anxi (Official).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/00 music without metadataas/Claptone - The Drums (Din Daa Daa) ft. George Kranz (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/02 Kid Island.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/01 Open Way Up High.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/03 Magic Fiesta.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/04 Summer's Always Coming.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/05 Ou du monde.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ou du monde/06 Invisible Dolphins.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/04 The Watchmaker.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/02 Market Of The Lost Illusions.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/07 Music In A Small Room.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/06 The Voice Of An Ancient Bard.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/01 An Island In The Moon.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/03 Madjound.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/An Island In The Moon/05 Visions Of The Daughter Of Albion.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/La Cambo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Vaqui Lo Polit Mes De Mai.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/La Pastorella.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Le Rossignol Il Chante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Rossignolet Des Bois.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Canto Delle Lavandaie Del Vomero.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Canto Street.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Jardino.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Le Lundi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Montagne.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Interlude De Note.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Interlude Rigotherapie.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DTW - Jardino/Interlude Refilade.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/10 Yoga.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/11 Judas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/12 Children's Story.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/05 I Be The Prophet.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/03 Together Now.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/09 I Sing For You.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/06 Make A Change.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/02 Poems.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/07 Black Coffee.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/08 Bubbles.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/04 Keep Your Mouth Shut.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Nearly God/01 Tattoo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 07 B3 - L'hiver c'est un calvaire.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 08 B4 - Le soleil chante à l'horizon.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 02 A2 - T'as fait un glitch.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 06 B2 - Bêta dans tes rêves.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 04 A4 - La cadence des éléphants.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 03 A3 - Le serveur du désert.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 05 B1 - Postillons-.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/CLARA LE MEUR - Hier à la plage/CLARA LE MEUR - Hier à la plage - 01 A1 - Arrêter ce carnage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Siu Mata & Amor Satyr Irie Steppaz/Flicker Riddim.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Siu Mata & Amor Satyr Irie Steppaz/High Grade.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Siu Mata & Amor Satyr Irie Steppaz/Twinkle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Siu Mata & Amor Satyr Irie Steppaz/Kush Pressure.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lamanauts - Lamanauts/Whale-Sharknado Variations.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lamanauts - Lamanauts/Loxodon Oil Provisioners.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/19 Oceanus.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/15 No Stone.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/04 Theatré Virtua.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/07 Blue Earth.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/12 Nimbus Stage Select.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/10 Walled City.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/03 Muku Grid.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/20 Casino Virtua.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/14 Afterdawn.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/17 Dig Dream.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/01 All Day - Mindprison.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/13 Rapefear.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/06 Air.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/02 Nakano #18.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/11 Into the Light (Night).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/05 Avalon Reverse.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/18 Diskloader.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/08 Surrounded.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/09 Sleepline (Sleepfear).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/13 Sleepline (New Dreams Ltd.)/16 Seed of Life New Media.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Maquis Son Systèm - Santuari/Dread Mòdenc.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Maquis Son Systèm - Santuari/Santu Ri Dub.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Maquis Son Systèm - Santuari/Sentiers.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Maquis Son Systèm - Santuari/Nasse.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Infancia TardÃa Finger Blas [11 Nov 2017] oj6tm/2 Sai Fai Drams To Moebius Finger Blas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Infancia TardÃa Finger Blas [11 Nov 2017] oj6tm/1 Brtension Finger Blas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Aller Sans Retour.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Interlude (Seconde Peau).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Les Plans De L'architecte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/L’eau Lavera Le Reste.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Métempsychose.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Nouvelles Croyances.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Étrange Savoir-Faire.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Les Battements Du Fleuve.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Le Bruit De Trop.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Gustave Retour - Cérémonie en vert/Cérémonie En Vert.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - A4. Organizatsiya - A Song For Marius.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - A1. Organizatsiya & Nikita von Tiraspol - Die Idee der Toleranz.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - B4. Organizatsiya - A shade of the Princess Z' Castel.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - A3. Organizatsiya - We cannot promise you privacy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - B3. Organizatsiya - Sur la Digue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - B2. Organizatsiya & Benoît B - Avatha Subumbra..mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - A2. Organizatsiya & Elen Huynh - Ophélia.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya/besoins premiers - B1. Organizatsiya & Jules Rouxel - Une comptine pour Jeanne.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 03 A3 - Les fêtes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 01 A1 - Don't you ever.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 04 A4 - Death is a long sleep (J.Haydn cover).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 06 B2 - Veux-tu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 02 A2 - Canal trop tard.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 05 B1 - 梨の木な下.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 08 B4 - La nuit j'occis.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ACTE BONTÉ - Service de Nuit/ACTE BONTÉ - Service de Nuit - 07 B3 - Que tu es triste (feat. TG Gondard).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 03 A3 - rien.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 01 A1 - labyrinthe miroir.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 05 A5 - j'écoute rien.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 06 A6 - petite mémoire.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 04 A4 - tu me parles plus (avec Charlène Darling).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 02 A2 - le message.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 08 B2 - des fleurs séchées dans la résine.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 09 B3 - mémo vocal 20211114.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 07 B1 - sur l'herbe coupée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/REGIS TURNER - Des fleurs séchées dans la résine/REGIS TURNER - Des fleurs séchées dans la résine - 10 B4 - dernière génération.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Iwa gaaden (2020) (flac)/04 - Junes Snake.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Iwa gaaden (2020) (flac)/03 - Kang Kang Kang.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Iwa gaaden (2020) (flac)/01 - Anya.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Iwa gaaden (2020) (flac)/05 - Onibi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Iwa gaaden (2020) (flac)/02 - Outrage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Deliverance Series No3 Shackleton [09 Jan 2015] rjbst(1)/2 In Norwegen Ganz Verwegen Shackleton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 24 D1 United Assholes - Dub 9#.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 22 C6 Simplists - Euromedication.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 13 B6 Air LQD - 3D External Existence.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 28 D5 panoptique - Amin.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 06 A6 Simplists - Trespass Dans L'Espace.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 20 C4 Sacher - La Messagère.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 19 C3 Lostsoundbytes - Saw & Smoke.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 26 D3 Tata Toto - Le Moment (Instrumental).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 31 D8 Tabula Nul - Radiante Bourbe.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 09 B2 Bear Bones, Lay Low - Contrôler La Perle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 14 B7 Ventre De Biche - Adesso Dammi La Mano.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 03 A3 Théorème - Les Gifles Du Pariétal.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 02 A2 Pleasure Principle - Mariposa.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 16 B9 Violent Quand On Aime - Locked Streets.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 01 A1 Amadou K7 - Makistourn.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 29 D6 roger mpr - City Market.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 30 D7 Fiesta En El Vacio - Use Me As Your Spaniel.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 15 B8 United Assholes & Tamara Goukassova - Untitled.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 32 D9 Radiante Pourpre - Salon Stellaire 2013.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 21 C5 Techno Thriller - Affrika.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 04 A4 Simplists - Mister Guitar.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 12 B5 René Couteau - Hémorragie Oisive.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 05 A5 Acid Lecointre - Solitude Exotique.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 11 B4 Vincent Ce Soir - I Hate My Soul.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 10 B3 UVB76 - Saint-Clair.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 08 B1 Axel Larsen - Cartoon Patterns.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 25 D2 Haydée - Dub Trade Center.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 27 D4 Le Matin - Ravale 2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 17 C1 Valerie Smith - Assi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 23 C7 Goat SImulator - Se Réenterrer.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 07 A7 Tamara Goukassova - I Don't Want To Be The One.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3/Simple Music Experience - SIMPLE MUSIC EXPERIENCE VOL.3 - 18 C2 Maria Violenza - Je Pète Ton Plan.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/L039aube Viendra Cheval De Trait [17 Feb 2024] f6ml0/2 J039ai FrÃlà Sa Main Cheval De Trait.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/L039aube Viendra Cheval De Trait [17 Feb 2024] f6ml0/1 El Lenn Cheval De Trait.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa/2 Light It Lil Fry.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa/1 Enter Da Swamp Swamp Wizard Da Regulator OG.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 11 B5 - soledad (avec inès di folco).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 08 B2 - un rêve dans un rêve.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 04 A4 - si je ferme les yeux.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 03 A3 - cachette secrète.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 05 A5 - fugue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 02 A2 - combien.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 09 B3 - tournijaïre.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 10 B4 - je revois tout.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 07 B1 - mes mains (liquid dub version).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 01 A1 - fouinte clinque.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Regis Turner - un rêve dans un rêve/Regis Turner - un rêve dans un rêve - 06 A6 - effet eclipse.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/16 - Guitar Flute & String.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/01 - Honey.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/04 - Why Does My Heart Feel So Bad.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/09 - Machete.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/12 - Down Slow.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/08 - Natural Blues.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/10 - 7.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/13 - If Things Were Perfect.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/15 - Inside.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/05 - South Side.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/06 - Rushing.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/07 - Bodyrock.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/02 - Find My Baby.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/18 - My Weakness.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/11 - Run On.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/17 - The Sky Is Broken.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/03 - Porcelain.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/1999 - Play/14 - Everloving.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 03 Through The Black Hole - 4A - 125.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 06 Digital Bonus - Three Dimensional Layers Of Thoughts - 1A - 140.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 01 Black Magic Rituals - 8A - 87.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 02 Twenty four Hours Rotations - 6A - 115.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 04 The Super Slow Hyperspeed Fractals - 8A - 110.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/A Strange Wedding - Black Magic Rituals 12'' (Worst, 2021)/A Strange Wedding - Black Magic Rituals - 05 Digital Bonus - Isaias Thunder - 2A - 98.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/She039s So Cool Wet Kiss [10 May 2022] s2k2c/2 Jerk Wet Kiss.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/She039s So Cool Wet Kiss [10 May 2022] s2k2c/1 Nobody Has To Know Wet Kiss.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 04 A4 - La Chasse Éternelle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 06 B1 - Et on recommence à zéro.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 05 A5 - Boire le calice jusqu'à la lie.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 01 A1 - Le Grand Souffle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 03 A3 - Le Lien Vassalique.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 02 A2 - Hier En Rêve.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 10 B5 - On y va, on verra.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 09 B4 - Comme un saut.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 07 B2 - Caché derrière tes cheveux.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/ARKANAR - Les Cris de Mélusine/ARKANAR - Les Cris de Mélusine - 08 B3 - Vague de toi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/from here on it's all - repeated passages/from here on it's all - repeated passages - 01 A1 - decidi tu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/from here on it's all - repeated passages/from here on it's all - repeated passages - 04 A4 - e poi dopo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/from here on it's all - repeated passages/from here on it's all - repeated passages - 03 A3 - mano che scende.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/from here on it's all - repeated passages/from here on it's all - repeated passages - 02 A2 - adventure awaits.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/01 songs /Trentemøller Deceive (official video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/01 songs /1-of-3-kelly-lee-owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/01 songs /Future_Perfect_(youconvert.net).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa(1)/2 Light It Lil Fry.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/El Drogado Tha Swamp Fam [02 Jun 2022] nzosa(1)/1 Enter Da Swamp Swamp Wizard Da Regulator OG.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Bulie Jordeaux Visions Bulie Jordeaux [05 Jul 2024] f3iwd/1 Vacarme Grande Rousse Disques.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Bulie Jordeaux Visions Bulie Jordeaux [05 Jul 2024] f3iwd/2 Le Volcan Grande Rousse Disques.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Legendo Lutto Lento [05 Feb 2021] 9ydwg/1 Intro Lutto Lento.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Legendo Lutto Lento [05 Feb 2021] 9ydwg/2 Mortal Fools Lutto Lento.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/04 - Divination Par Les Brosses.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/10 - Spiritisme Et Nouvelles Technologies.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/02 - Shit Forest.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/07 - Prise Sur Maison-Mere.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/09 - All Noticeable Theories.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/01 - Ocarina Belt.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/08 - Croisillons.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/03 - Prise Sur Maison-Roche.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/06 - Ghoulio Stairtrap.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/DANSE MUSIQUE RHONE-ALPES/Shit Forest/05 - Soft Archery.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 08 Cuenta del Hecho.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 01 La Vía Perpleja.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 11 Vaivén de Plata.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 07 Eurídice en Flor.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 10 Gesto en Penumbras.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 14 Hilo de Ariadna.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 02 La Copa y la Lanza.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 04 Paso del Caracol.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 13 Un Sueño Perdido.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 12 Vigía Liminal.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 03 De Contrabando.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 09 Serpiente Emplumada.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 15 Entes Dentro del Traje.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 05 Los Planos.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Martes Muerto - Apofenias/Martes Muerto - Apofenias - 06 Verde Piedra Tibia.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/7. Action (Chaos Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/2. Meet Her Stage 2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/3. Wish You Well.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/5. Action (Coherence Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/6. Truth Gate.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/8. Thorns of Reminder.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/4. 9th Mind (Space Version).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/christian coiffure - lookbook 2021 - 2023/1. Prowler Dub.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Inna Babalon John T Gast [20 Mar 2016] pubbj/1 Those Secluded Preferences John T Gast.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/02 The Erat Sphere.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/03 Dance of The Owl People.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/05 A Secret Equinox Ceremony.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/01 The K_holori Tal_a_ and Her Snakes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/04. Lala &ce 67, Low Jack, Rad Cartier, Le Diouck - Elle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/10. Le Diouck, Low Jack - Superficielle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/13. Lala &ce 67, Low Jack - Top.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/06. Lala &ce 67, Low Jack, Rad Cartier, Le Diouck - Gelati.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/11. Lala &ce 67, Low Jack - Prisonnière.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/02. Lala &ce 67, Low Jack, BabySolo33, Rad Cartier - Rose.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/05. Low Jack - Intro Gelati.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/03. Jäde, Lala &ce 67, Low Jack - Bulles.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/07. BabySolo33, Low Jack - Lune.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/01. Lala &ce 67, Low Jack - Goûter.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/09. Lala &ce 67, Jäde , Low Jack - Debout.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/12. Jäde, Bamao Yendé, Low Jack - Étoiles.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/Lala &ce 67, Low Jack - Baiser Mortel (2022)/08. Lala &ce 67, Low Jack - Aidée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/04 Earthquake Dreams and The Owl Q_ej.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/06 The Pentagram Language.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Myths of the Crystal Plateau/07 Pre-Dawn Jam Drunk On Alteberra Nectar.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/04. Lala &ce 67, Low Jack, Rad Cartier, Le Diouck - Elle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/10. Le Diouck, Low Jack - Superficielle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/13. Lala &ce 67, Low Jack - Top.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/06. Lala &ce 67, Low Jack, Rad Cartier, Le Diouck - Gelati.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/11. Lala &ce 67, Low Jack - Prisonnière.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/02. Lala &ce 67, Low Jack, BabySolo33, Rad Cartier - Rose.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/05. Low Jack - Intro Gelati.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/03. Jäde, Lala &ce 67, Low Jack - Bulles.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/07. BabySolo33, Low Jack - Lune.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/01. Lala &ce 67, Low Jack - Goûter.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/09. Lala &ce 67, Jäde , Low Jack - Debout.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/12. Jäde, Bamao Yendé, Low Jack - Étoiles.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Lala &ce 67, Low Jack - Baiser Mortel (2022)/08. Lala &ce 67, Low Jack - Aidée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya - Organizatsiya - Strane Lezioni/Organizatsiya - Organizatsiya - Strane Lezioni - 02 Luzia orgua.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya - Organizatsiya - Strane Lezioni/Organizatsiya - Organizatsiya - Strane Lezioni - 04 Tandem.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya - Organizatsiya - Strane Lezioni/Organizatsiya - Organizatsiya - Strane Lezioni - 03 Hic et Nunc.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Organizatsiya - Organizatsiya - Strane Lezioni/Organizatsiya - Organizatsiya - Strane Lezioni - 01 Atrium.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Thrill.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Jeopardy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Games.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Growth.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Remembrances.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Nervous System.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Work.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Scoop - Nucleus/Scoop - Data.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/04-Entire Populations (Pt 4).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/08-Glaciers (Pt 4).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/03-Entire Populations (Pt 3).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/05-Glaciers (Pt 1).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/01-Entire Populations (Pt 1).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/07-Glaciers (Pt 3).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/02-Entire Populations (Pt 2).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Jessica Moss - Pools Of Light (2017)/06-Glaciers (Pt 2).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Mimi Dj Bobo1 [07 Jan 2020] uhxhj/1 Stubborn Sunshine Dj Bobo1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Mimi Dj Bobo1 [07 Jan 2020] uhxhj/2 Botanic 2511 Dj Bobo1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Ultramar Ulloa.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/El Bote.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/La Sequía.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Ahrre.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/La Zona.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Camposuyo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Barro.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Posada Martino.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Hueso Redondo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Viento Congelado.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Pajal.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Cañón Andino.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Ahrre - Ambu/Ruta 14.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tearless Amnesia Scanner [19 Jun 2020] 7u70w/2 As Tearless Feat Lalita Amnesia Scanner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tearless Amnesia Scanner [19 Jun 2020] 7u70w/1 As Enter Amnesia Scanner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A5. In Vitro.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A3. La Complainte des Blousons Noirs.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - B3. La Ronde des Secondes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - B2. Nothing to Fear.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A2. Journey in the Gardens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - B4. L'Appel de la Forêt.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A4. Interludus Maximus Pecten.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A6. Drain the Swamp.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - A1. Ogre Hunter.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Le Marais - le marais/Le Marais - B1. The Lordship of Dulac.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Seta Loto - Earth-Related system/Surroundings.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Seta Loto - Earth-Related system/Earth-Related System.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Seta Loto - Earth-Related system/Pivotal Scape.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Seta Loto - Earth-Related system/Indistinct Chattering.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Seta Loto - Earth-Related system/L5 S1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tell Them That You Love Them Zoe Heselton [21 Jul 2023] 48aew/2 Introduction Salt Water Ritual Urin Gargarism Records.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Tell Them That You Love Them Zoe Heselton [21 Jul 2023] 48aew/1 Hello Urin Gargarism Records.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/11_In Search Of Rapture.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/02_Home Brewed Bewitchment .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/23_Chosen Ones.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/14_Distant Reflections.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/19_Elemental Waveshore.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/13_Through the Timehole.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/16_The Turning Point.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/12_Reaching For The Invisible.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/22_Return of the Mystic Channeler.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/20_Glittering Embalming.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/28_New Dawn – Return.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/03_Collision And Coalescence.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/07_Spirits Arise From The Swamp.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/04_Shrunken Friends From Tiny Dens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/09_My Introverted Sea Horse Friend.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/24_The Field of Draflinis.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/01_ Landing on sacred ground.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/17_Mutated Perception.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/26_Cavern of Morphing Stones.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/15_Tribal Call.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/05_A Glitch In The Jungle.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/27_Hovering Over the Magnetic Ground .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/06_Ancestors Waving.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/08_Ways Through The Thicket.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/21_Squirlich Stroll.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/25_Forgotten Valley.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/18_Untrodden Resonance .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/The Fantastic world of Grykë Pyje/10_The Cloud Of Secret Pleasures.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Stefan Dub - Continuum/Skank.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Stefan Dub - Continuum/Bandit Queen.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Stefan Dub - Continuum/Arrouxza (Mss Fujara Mix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Stefan Dub - Continuum/Wbble Lkage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Zoé couppé - troisieme jour de voyage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Jonnnah - Broken Promises.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Hajj - Rage Of Empire.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Women In The Royal Court - Drum A Queen (Ft. Clara!).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Lucy Liyou - Gentle Method.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/K I A - Slavery Of Mortality.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/_Mass - Dxscord.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Golce - Bydefinition.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Caïn و Muchi - Shining.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Premiers rayons - Besoins premiers/Jonnnah & Salma Rosa - Every Clouds Has A Silver Lin….mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Folk Ultramarine [13 Nov 2020] 33kbg/1 Lobster Foam On A Wave.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Folk Ultramarine [13 Nov 2020] 33kbg/2 Antiseptic Foam On A Wave.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Fiesta En El VacÃo amp Helen Island Atarraya Helen Island [14 Jun 2024] 48xz0/1 Intro Helen Island.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Leoni Leoni Leoni Leoni [03 Jun 2022] 9omhz/2 Easyjet Leoni Leoni.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/Leoni Leoni Leoni Leoni [03 Jun 2022] 9omhz/1 Figged Si Sich Frau Schluchter Leoni Leoni.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/More Than A Woman Kelly Lee Owens [07 Nov 2017] 6fsl9/2 More Than A Woman Klo Remix Kelly Lee Owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/More Than A Woman Kelly Lee Owens [07 Nov 2017] 6fsl9/1 More Than A Woman Kelly Lee Owens.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/They Are Textural Sha Ru [29 Feb 2024] gjj1p/1 Ona Sha Ru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/nat-selecta/They Are Textural Sha Ru [29 Feb 2024] gjj1p/2 Not Your Steps Sha Ru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/SOPHIE/PRODUCT/03 LEMONADE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/SOPHIE/PRODUCT/06 VYZEE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/SOPHIE/PRODUCT/04 HARD.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/Lechuga Zafiro/Testigo/03 Agua y Puerta.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/Lechuga Zafiro/Testigo/04 Sapo Diablo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/BAZOGA - الحجر.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/Aaron Cartier Best Dog/1-02 BANANAS.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/Aaron Cartier Best Dog/1-11 SHINE (feat. TYMMI).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/scobi-selecta/we-found-love-jules-du-coeur.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/01 Caroline Shaw - 4 Pieces_ No. 4. Passacaglia.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/09 Caroline Shaw - 4 Pieces_ No. 1. Allemande.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/02 William Brittelle - Amid the Minotaurs.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/07 Sarah Kirkland Snider - The Orchard.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/06 Judd Greenstein - A E I O U.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/08 Rinde Eckert - Cesca's View.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/04 Caleb Burhans - No.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/03 Judd Greenstein - Montmartre.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/13 Merrill Garbus - Ansa ya.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/10 Merrill Garbus - Quizassa.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/caroline Shaw/05 Caroline Shaw - 4 Pieces_ No. 3. Courante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/09_cina.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/10_plesupiru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/01_hralkdosinahoboj.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/02_divnaslecinka.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/12_proudemmleka.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/14_jednasestrabratramela.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/08_viola.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/05_drivnez.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/03_plivamzplevpyru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/13_vzemineorane.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/04_banjo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/07_adventni.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/06_dedecek.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Iva Bittova/11_vimnevim.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Zorba - Violente.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Joan La Barbara - Klee Alee.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Joan La Barbara - Opening.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - Sorry (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Joan La Barbara - Erin.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Joan La Barbara - Circular Song.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/06 Neva.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Laura Perrudin - The Sick Rose (live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Tirzah - F22.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - VoiceCrooked (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/F22.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Madison McFerrin - God Herself (Official Video).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito - La Notte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-7.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Anna Melato Canzone arrabbiata ( canzonissima 73 ).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Soap&skin Me and the Devil.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Zoé Heselton Maybe It Is 3 A.M. (live) • Zoe Heselton & Inès R..mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Zoe Heselton A Song is a Being.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Tirzah - their Love (Official Audio).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-13.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/OXYTOCINE - Les Baisers Volés.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - Humans (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Zoe Heselton & Merve Salgar - Day By Day - Strasbourg Sessions #10.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito -Pour Ne Pas Dormir.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - The Line (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Holding On.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - Coffee (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Madison McFerrin - Goodnight.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Soap&Skin - The Sun.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Soap$Skin - Goodbye Elbphilharmonie LIVE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito - Ascoltami.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - Lately (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Zoe Heselton & Lise Barkas - There Are Other Ways To Love • .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Melissa Weikart - Around (Live).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/MOLAR - GANG DE MEUFS (RONCES).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Beka - Benda.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-12.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito - Sempre Due.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito - Una Pausa.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Madison McFerrin - TRY A COLORS SHOW.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Tirzah - Holding On.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-8.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Soap&Skin - Janitor of Lunacy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Mi-Volto-e-Mi-Rivolt-4.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/02 Op Stilte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Laura Perrudin - Inks (feat. The Ghost Orchestra) .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Radio Hito -Io Scrivo.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Laura Perrudin - Light Players.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/musiquefemme/Opening.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808_Sofiane Saidi - Degdega my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808 featuring Cheb Hassen Tej - Essoug Rsam my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808, Mehdi Nassouli - Layli my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808 feat. Cheb Hassen Tej - Zawali Fitness Club my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808, Cheb Hassen Tej - Ain essouda my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808, Mehdi Nassouli - Boganga & sandia my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808, Sofiane Saidi - Zine ezzine my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/Torchon_selecta/Ammar 808/Ammar 808, Mehdi Nassouli - Sidi kommi my-free-mp3s.com.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/06-ghost_lemurs-hmmm-4f0bdc9b.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/01-ghost_lemurs-bios-98eb891a.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/02-ghost_lemurs-hypha-67e84a68.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/08-ghost_lemurs-soma_cell-563b3c9a.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/03-ghost_lemurs-filter_feeders-73b7573c.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/04-ghost_lemurs-libya_loop-2954027d.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/05-ghost_lemurs-aton-90627251.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/07-ghost_lemurs-codex-82fb3338.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/09-ghost_lemurs-wombs_and_alien_spirits-92d80582.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Ghost_Lemurs-Wombs_And_Alien_Spirits-WEB-2024-ENRiCH/10-ghost_lemurs-molecular_repair-ff5c5cda.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - SU/Susobrino, Dyce - SU - 02 Beberte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - SU/Susobrino, Lisandro Skar - SU - 03 Ha Muerto.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - SU/Susobrino, Ngenko - SU - 01 Florecer.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 03 ATARRAYA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 05 TU DONCELLA (INSTRU).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 04 EN TI ES DE NOCHE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 01 INTRO.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - fiesta en el vacio/helen island - fiesta en el vacío & helen island - ATARRAYA - 02 TU DONCELLA.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/11 - La chasse - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/12 - Mâre, maria mè c't an - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/06 - J’ai fait une maîtresse - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/01 - Les transformations - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/02 - Pastorel - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/04 - Réveillez-vous fidèles voici le temps - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/08 - Le jardin des amours - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/07 - La délaissée - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/09 - ... - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/03 - Allons mignonne - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/10 - Camille à la ville - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[PAG026] La Preyra – OR OS (2020)/05 - ... - La Preyra – OR OS (2020).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/02-jonquera--darkos-dd862fa3.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/11-jonquera--odsives-45f80870.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/08-jonquera--beutson_ardent-be566b28.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/10-jonquera--veurtsio-f2365ebb.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/13-jonquera--verat-f9d2299d.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/04-jonquera--saint_cotson-151e4523.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/05-jonquera--pouir-bad8a464.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/14-jonquera--grand_deuc-1e637f31.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/09-jonquera--pont_de_djabe-842a5efc.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/01-jonquera--couvent_dos_cordelieus-3f952483.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/06-jonquera--clotses-6c533f64.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/12-jonquera--feune_de_dmain-b14660bf.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/03-jonquera--benedictin-0b882f33.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Jonquera--DARKOS_LP-BSLP001-WEB-2020-BABAS/07-jonquera--don_bosco-ea18e567.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/R Vincenzo - Haru.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Mawtini .mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Maibaum - Grande Albero Buono Magico Uoma.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/My Blood is Palestinian Dami Falasteeni Translation.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Agazero - Kurone Baile.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/06.FIESTA EN EL VACIO avec LASZLO - Trix.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Sunchaser - Witness.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Beatrix Weapons - NOT REAL LIFE IS MY REAL FRIEND.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Abu AMA - LAC.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Sea Sick Lyric Video.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/volquete - JAIJIU -v- Wachichorro - El triki triki por la cola.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Thomass Jackson - Alien Armando.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Amplify Palestine BDS Mixtape - Elder Ones - Dance of the Subaltern.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Fiesta en el Vacio - Serendip Lab 10 ans (SER011) - 71 L'Aspartame.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/volquete - STRIDAH -v- McCaco - Bugutu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Swordman Kitala & Tim Karbon - Dingidingi Dole.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Bella Cuts - Until Everybody Is Free.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/3-DIGITS - Sabaweli (Brodinski Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/bukahara_320.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/R Vincenzo - R Vincenzo & Dannyhell - Corridors of Time (MTG).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Amplify Palestine BDS Mixtape - Dakn - difa3an 3an nafs.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/V.A. - Don't Panic 2 - 04 Fiesta En El Vacio - No Sabes.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Palestine Will Rise.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Rajieen OFFICIAL MUSIC VIDEO.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/11 - Fiesta en El Vacio - Mauricio.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/01-maquis_son_sistem-cortegi_astral-z0ne.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/00 SONGS/Broosnica - Love on the Run.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 06 no witness.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 09 it's the end.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 02 HOOD IN MAY.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 05 the alarm guy.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 07 My Bestie.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 01 liass2 intro.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 08 alice dj.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 04 Hood in May 2.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/helen island - lia$$e 2 MP3 320/helen island - lia$$e 2 - 03 i'd like to become a member.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/aya - Lip Flip/aya - Lip Flip - 02 Leftenant Keith.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/aya - Lip Flip/aya - Lip Flip - 03 Dexxy Is A Midnight Runner.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/aya - Lip Flip/aya & Ecko Bazz - Lip Flip - 01 Essente!.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/aya - Lip Flip/aya - Lip Flip - 04 Lip Flip (ft. LOFT).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/07 - Traum 4.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/04 - Aufloesung.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/01 - Der Mitte Der World.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/05 - Welcome Zum Paradies.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/09 - Ahu.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/12 - Ein Afrikadelle Danke.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/10 - Aus Versehen Angetoernt.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/03 - Expedition.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/02 - Lockerina.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/11 - Weltraumsandalen.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/06 - Kleiner Trommelbaum.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Wolf Müller & Niklas Wandt - Instrumentalmusik Von Der Mitte Der World - (2018)/08 - Kurzgedichte.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a4-mettez moi au travail.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a5-la menina.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a1-grido (antonia pozzi).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b2-falseta por seguiriya.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b1-canto de ordeño.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b4-avec dingue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a2-rosal.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b5-le pont.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - a3-dimmi.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Rosal - fiesta en el vacio/tmr045 - fiesta en el vacio - b3-histoire du pourceau.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Loto Retina - 2016 - sens/05_artefact parfumé.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Loto Retina - 2016 - sens/01_zoom gustatif.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Loto Retina - 2016 - sens/03_obsolescence auditive.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Loto Retina - 2016 - sens/02_vision flottante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Loto Retina - 2016 - sens/04_évasion tactile.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 14 14 Mazurkas.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 07 07 Rossignolet sauvage.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 09 09 Cantiques (avec Simon Drouhin).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 11 11 Frisson.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 05 05 La barca vira - Rigodon du Valgaudemar.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 04 04 Bourrée à la Dédée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 06 06 Marguerite elle est malade (avec Clémence Cognet).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 01 01 la badoise - Polka piquée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 03 03 Le départ pour la Provence.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 10 10 Rigodon des quatre cordons.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 08 08 Bourrée d'Arthon - Bourrée à Fleuret.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 02 02 Mie Jeanneton.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 13 13 Les filles sont promises.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/La preyra - La Preyra/La preyra - La Preyra - 12 12 Salut à la mariée.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 06 Killay.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 02 Jii - Tío Carbón.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 01 El Aguante.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 05 El Camino Refleja.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 03 Wasos Ft. Dengue Dengue Dengue.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/Susobrino - Pocualeíto/Susobrino - Pocualeíto - 04 La Semilla.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 07 - Une Drôle De Blague (Roy Of The Ravers Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 05 - Grosse Pierre (Lesinge Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 01 - Billy's House.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 06 - Cocktail De Voix (Aftawerks Remix).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 03 - Une Drôle De Blague.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 04 - Baka.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/[ACIWAX55] Musique Chienne - Acidebout - 2021/Musique Chienne - Acidebout - 02 - Grosse Pierre.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/13. Tadleeh - Ruba Meta.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/28. Glochids - Running Fence.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/32. Julien Andreas - Pump.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/10. Heith - Suspicious Activities.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/22. Noumeno & Sense Fracture - Words Are only Places To Hide, And I No Longer Intend To Hide.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/08. Ausschuss - Loose Unit.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/23. Nick James Scavo - Vorsch (Threnody).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/21. Lutto Lento - Angels.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/04. Weightausend - Ceaseless Collateral.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/31. Renick Bell - Seek Your Own Error And Learn.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/18. Lag Os - Not Alone (In The Forest Edit).mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/02. Ghost Lemurs Of Madagascar - Fauno.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/14. Celyn June - Perndfgich001.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/30. Somec - Ra 1.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/16. Sense Fracture - Crime As Poetry.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/25. S S S S - Dualistic Dead Ends.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/07. Cube - Latency.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/15. Oxhy - Santoor.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/03. Maxwell Sterling - DESIGNER DIRGE.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/06. ZULI & Broshuda - Vector Cloak.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/05. Ssaliva - Why Me.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/19. Kinlaw - Port Tropiq.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/20. Heith & Weightausend - The Wheel.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/12. Helm - Permanent Mute.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/27. Alex Zhang Hungtai - LA River Practice.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/11. Sol Ring - Shadow Heart.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/24. XIII - explo_er.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/17. ADVANCED AUDIO RESEARCH - Panzerism.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/09. Elvin Brandhi - HAUNT.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/01. VISIO - Landslide.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/29. C0bweaver;Seed - ii + iii Tightened.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/26. Katatonic Silentio - Eerie.mp3 +/var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/bob_selecta/VA- Forever (Haunter Records, 2019)/33. Ossia - Theresa.mp3 diff --git a/scripts/nextcloud-sync-md-transform.sh b/scripts/nextcloud-sync-md-transform.sh new file mode 100644 index 0000000..73a06d8 --- /dev/null +++ b/scripts/nextcloud-sync-md-transform.sh @@ -0,0 +1,36 @@ +sudo rm /var/www/pl4tform.org/website/data/mdtransformation/02_md-txt/* + +sudo rm /var/www/pl4tform.org/website/data/mdtransformation/02_txt-with-attatchements/* + +sudo rsync -avu --include="*.md" --exclude="*" /var/www/nextcloud/data/radio_admin/files/archive/. /var/www/pl4tform.org/website/data/mdtransformation/01_md-sync --delete-after; + +#sudo rsync -avu --include="*.txt" --exclude="*" /var/www/nextcloud/data/radio_admin/files/archive/. /var/www/pl4tform.org/website/data/files --delete-after; + +#sudo rsync -avu --include="*.jpg" --exclude="*" /var/www/nextcloud/data/radio_admin/files/archive/*/. /var/www/pl4tform.org/website/data/mdtransformation/03_attatchements_imgs --delete-after; + +sudo rsync -avu --include="*.jpg" --exclude="*" /var/www/nextcloud/data/radio_admin/files/archive/. /var/www/pl4tform.org/website/data/files --delete-after; + +sudo rsync -avu /var/www/nextcloud/data/radio_admin/files/archive/.attachments.* /var/www/pl4tform.org/website/data/mdtransformation/03_attatchements_imgs --delete-after + +sudo ln -s /var/www/nextcloud/data/radio_admin/files/archive/*.mp3 /var/www/pl4tform.org/website/data/files/ + +sudo python3 /var/www/pl4tform.org/script-md-test.py + +sudo find /var/www/pl4tform.org/website/data/files/ -xtype l -delete + +#sudo ln -s /var/www/pl4tform.org/website/data/mdtransformation/02_txt-with-attatchements/* /var/www/pl4tform.org/website/data/files/ + +sudo rsync -avu --include="*.txt" --exclude="*" /var/www/pl4tform.org/website/data/mdtransformation/02_txt-with-attatchements/. /var/www/pl4tform.org/website/data/files --delete-after; + +sudo ln -s /var/www/nextcloud/data/radio_admin/files/archive/*.txt /var/www/pl4tform.org/website/data/files/ + +#sudo rsync -avu --include="*.jpg" --exclude="*" /var/www/nextcloud/data/radio_admin/files/archive/main-page-image/. /var/www/pl4tform.org/website/data/main-page-image/main-page-image2.jpg --delete-after; +#sudo rsync -avu --exclude="old" /var/www/nextcloud/data/radio_admin/files/archive/main-page-image/* /var/www/pl4tform.org/website/data/main-page-image/main-page-image.jpg --delete-after; +#sudo rsync -avu --exclude="old" /var/www/nextcloud/data/radio_admin/files/archive/main-page-image/* /var/www/pl4tform.org/website/data/main-page-image/ --delete-after; +sudo rsync -avh --exclude="old" /var/www/nextcloud/data/radio_admin/files/archive/main-page-image/ /var/www/pl4tform.org/website/data/main-page-image/ --delete + +### RADIO PLAYLIST FILE UPDATE +#sudo find /var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music -name "*.mp3" >>./music.txt + + +echo "hoho fini le script" diff --git a/scripts/total-minutes-of-music-in-archive.sh b/scripts/total-minutes-of-music-in-archive.sh new file mode 100644 index 0000000..ccc2cfb --- /dev/null +++ b/scripts/total-minutes-of-music-in-archive.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +join() { + local IFS="$1" + shift + echo "$*" +} + + +#### ARCHIVE +readarray -t durations < <( + find /var/www/nextcloud/data/radio_admin/files/archive/. -type f \( -iname '*.mp3' -o -iname '*.wav' -o -iname '*.m3u' -o \ + -iname '*.m4[ab]' -o -iname '*.mpga' -o -iname '*.opus' \) \ + -exec ffprobe {} -show_format -loglevel -8 \; | + sed -nE 's/^duration=([0-9\.]+)$/\1/p') + +# add + between all durations: +expression=$(join + ${durations[@]}) + +# calculate the total, including subseconds, round to whole minutes: +totM=$(bc -q <<< "scale=0;($expression)/60") +totH=$(bc -q <<< "scale=0;($totM)/60") +totJ=$(bc -q <<< "scale=0;($totH)/24") + + + +timestamp=$(date) + +echo "$timestamp : Total duration of Pl4tform-Archives: $totM minutes / $totH Hours / $totJ Days" >> ./ARCHIVE_music_duration_output.txt + + diff --git a/scripts/total-minutes-of-music-in-music.sh b/scripts/total-minutes-of-music-in-music.sh new file mode 100644 index 0000000..cf877a2 --- /dev/null +++ b/scripts/total-minutes-of-music-in-music.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +join() { + local IFS="$1" + shift + echo "$*" +} + + +#### ARCHIVE +readarray -t durations < <( + find /var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music/. -type f \( -iname '*.mp3' -o -iname '*.wav' -o -iname '*.m3u' -o \ + -iname '*.m4[ab]' -o -iname '*.mpga' -o -iname '*.opus' \) \ + -exec ffprobe {} -show_format -loglevel -8 \; | + sed -nE 's/^duration=([0-9\.]+)$/\1/p') + +# add + between all durations: +expression=$(join + ${durations[@]}) + +# calculate the total, including subseconds, round to whole minutes: +totM=$(bc -q <<< "scale=0;($expression)/60") +totH=$(bc -q <<< "scale=0;($totM)/60") +totJ=$(bc -q <<< "scale=0;($totH)/24") + +timestamp=$(date) + +echo "$timestamp : Total duration of Pl4tform-Music: $totM minutes / $totH Hours / $totJ Days" >> ./MUSIC_music_duration_output.txt + +echo "$timestamp was done" diff --git a/scripts/update-music-playlist.sh b/scripts/update-music-playlist.sh new file mode 100644 index 0000000..e1d098c --- /dev/null +++ b/scripts/update-music-playlist.sh @@ -0,0 +1,3 @@ +#sudo rm /var/www/pl4tform.org/website/scripts/music.txt +find /var/www/nextcloud/data/radio_admin/files/radio_music_and_jingles/music -name "*.mp3" > /var/www/pl4tform.org/website/scripts/music.txt +echo "music playlist updated" diff --git a/testgrid.php b/testgrid.php new file mode 100644 index 0000000..7d0eb0a --- /dev/null +++ b/testgrid.php @@ -0,0 +1,737 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $conn->connect_error); + } + + // 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält + $sql1 = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype + FROM oc_filecache AS fc + WHERE fc.path LIKE '%files/archive/%' + ORDER BY fc.name DESC"; + + $result1 = $conn->query($sql1); + + + + // 2. Abfrage: Alle Mimetypes und ihre IDs + $sql2 = "SELECT id, mimetype FROM oc_mimetypes"; + $result2 = $conn->query($sql2); + + // 3. Abfrage: Alle Tags im System + $sql3 = "SELECT id, name FROM oc_systemtag"; + $result3 = $conn->query($sql3); + + // 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file') + $sql4 = "SELECT objectid, systemtagid + FROM oc_systemtag_object_mapping + WHERE objecttype = 'files'"; + + $result4 = $conn->query($sql4); + + // Alle Mimetypes in einem Array speichern + $mimetypes = []; + while ($row = $result2->fetch_assoc()) { + $mimetypes[$row['id']] = $row['mimetype']; + } + + // Alle Tags in einem Array speichern + $tags = []; + while ($row = $result3->fetch_assoc()) { + $tags[$row['id']] = $row['name']; + } + + // Tags mit Dateiinformationen verbinden + $fileTags = []; + while ($row = $result4->fetch_assoc()) { + $fileTags[$row['objectid']][] = $tags[$row['systemtagid']]; + } + +?> + + + + + + + + + + + + + + + + + + + +
+
+ + "; + echo "
" . $Parsedown->text($file_content) . "
"; + ?> + +
+ +
+ text($file_content); + $file_content_html = str_replace('src=".attachments.', 'class="" id="nextliveImg" onclick="focusItem(\''.$imgLink.'\')" src="ncdataaccueil/.attachments.', $file_content_html); + + echo "
$file_content_html
"; + ?> +
+ +
";?>
+ + + +
";?>
+ +
";?>
+ +
";?>
+ +
";?>
+ +
text($file_content); + ?> +
+ +
+ +
";?>
+ +
";?>
+ + + + +
+ + + + + + + + + + + +
+ +
+
close index [x]
+
+ +
+ +
+ + +
+ +
+ + + + + + + + + File Information + + + + + + + + "; + + + + + + + echo " + + + + + + + + + + + + + + + + "; + + + // Array zum Speichern der fileids + $fileids = array(); + + if ($result1->num_rows > 0) { + while ($row = $result1->fetch_assoc()) { + $file_id = $row['fileid']; + $file_name = $row['file_name']; + $file_size = $row['size']; + $file_size_in_mb = number_format($file_size / (1024 * 1024), 2); + $mimetype_id = $row['mimetype']; + $mimetype_name = isset($mimetypes[$mimetype_id]) ? $mimetypes[$mimetype_id] : 'Unknown'; + + + // Hole die Tags für diese Datei + $file_tags = isset($fileTags[$file_id]) ? implode(', ', $fileTags[$file_id]) : 'No Tags'; + + // Prüfen, ob der Dateiname mit einem Datum im gewünschten Format beginnt (DDMMYY-HHMM oder DDMMYY_HHMM) + if (!preg_match('/^\d{6}[-_]\d{4}/', $file_name)) { + continue; // Diese Datei überspringen, wenn der Dateiname nicht mit dem gewünschten Format beginnt + } + + $fileids[] = $row['fileid']; + + // TO NOT SHOW THE DESCRIPTION FILES !! + // if (str_contains($file_tags, 'Tags')) { + // continue; + // } + + include 'includes/item-title-split.php'; + + // Generiere die URL für die Datei + $file_url = "https://pl4tform.org/ncdata/{$file_name}"; + $file_url = str_replace(" ","%20",$file_url); + + $file_date = "$file_day.$file_month.$file_year"; + $file_time = "$file_hour:$file_minute"; + + $mimetype_name = explode('/', $mimetype_name)[0]; + + // Zeile in die Tabelle einfügen und Dateinamen als Link formatieren + // echo " + echo " + + + + + + + + + + + + + "; + } + } else { + echo ""; + } + + echo " +
File Name
$file_id$file_name$file_title$file_tags$file_date$file_time$mimetype_name$file_size_in_mb20$file_year$file_month"; + echo "mimetype: $mimetype_name, link: $file_url"; + // ACTIVER POUR QUE LES RECHERCHE PRENNENT AUSSI COMPTE DES CONTENUES DES FICHIER !!! ===>> problem avec les fichier de discription son parce qu'il ont le display = none + if (str_contains($mimetype_name, 'text') AND !str_contains($file_tags, 'No Tags')) { + $file_content = file_get_contents($file_url); + echo $file_content; + } + echo "
No data found
+ + "; + + $conn->close(); + ?> + + + + +
+ + + 0) { + // $random_fileid = $fileids[array_rand($fileids)]; + // } else {} + + $fileids_js_array = json_encode($fileids); + ?> + + + + + +
+ +
+
+
+
+
+
+
+ +
+ + + + + + + + + +
+
+
+
+
+
+
+ +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + diff --git a/url.php b/url.php new file mode 100644 index 0000000..e1f0ce2 --- /dev/null +++ b/url.php @@ -0,0 +1,6 @@ + \ No newline at end of file