One Hat Cyber Team
Your IP:
216.73.216.75
Server IP:
213.186.33.17
Server:
Linux webm007.cluster106.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Create File
|
Create Folder
Execute
Dir :
~
/
home
/
tcherkas
/
musiquerusse.fr
/
modules
/
mod_nmap
/
Edit File:
mod_nmap.php
<?php /** * Pro Magic Audio Player *This program is free software: you can redistribute it and/or modify it under the terms *of the GNU General Public License as published by the Free Software Foundation, *either version 3 of the License, or (at your option) any later version. * *This program is distributed in the hope that it will be useful, *but WITHOUT ANY WARRANTY; without even the implied warranty of *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *GNU General Public License for more details. * *You should have received a copy of the GNU General Public License *along with this program. If not, see <http://www.gnu.org/licenses/>. * *@author ProJoom *@copyright (C) 2008 - 2015 ProJoom *@link http://www.projoom.com/extensions/pro-magic-audio-player.html Official website **/ defined('_JEXEC') or die('Access denied!'); error_reporting(0); global $mainframe; $cache_flush = 'x254030384'; require_once (dirname(__file__) . '/helper.php'); $pj_hlp = new pj_pmap_hlp(); $document = JFactory::getDocument(); jimport('joomla.filesystem.file'); jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.path'); jimport( 'joomla.access.access' ); $sfxclass = $params->get('moduleclass_sfx'); $vscript = $params->get('vscript'); $nofl = $params->get('nofl'); $objalign = $params->get('objalign'); $nmapwidth = $params->get('nmapwidth'); $nmapheight = $params->get('nmapheight'); $nmaptyp = $params->get('nmaptyp'); $nmapstyle = $params->get('nmapstyle'); $nmapdir = $params->get('nmapdir'); $nmaptrim = $params->get('nmaptrim'); $nmaplay = $params->get('nmaplay'); $nmaprepeat = $params->get('nmaprepeat'); $nmapshuffle = $params->get('nmapshuffle'); $nmacomp = $params->get('nmacomp'); $nmalsthgt = $params->get('nmalsthgt'); $nmascrltit = $params->get('nmascrltit'); $nmapvolhgt = $params->get('nmapvolhgt'); $nmapplbwdt = $params->get('nmapplbwidth'); $nmapflyout = $params->get('nmapflyout'); $nmapdisptime = $params->get('nmapdisptime'); $nmapwintype = $params->get('nmapwintype'); $nmapvol = $params->get('nmapvol'); $defbg = $params->get('defbg'); $nmapbut = $params->get('nmapbut'); $nmaptitle = $params->get('nmaptitle'); $nmapwcor = $params->get('nmapwcor'); $nmapformat = $params->get('nmapformat'); $nmaprecurse = $params->get('nmaprecurse'); $nmapreclimit = $params->get('nmapreclimit'); $nmapid3 = $params->get('nmapid3'); $nmapsonginfo = $params->get('nmapsonginfo'); $nmapfenugrp = $params->get('nmapfenugrp'); $nmapfenugrp2 = $params->get('nmapfenugrp2'); $nmapfenugrp3 = $params->get('nmapfenugrp3'); $nmapfenup = $params->get('nmapfenup'); $nmapfenupdf = $params->get('nmapfenupdf'); $nmapfenupsf = $params->get('nmapfenupsf'); $nmapfenufl = $params->get('nmapfenufl'); $nmapesc = $params->get('nmapes'); $nmapestype = $params->get('nmapestype'); $pjurl = $params->get('pjurl'); if ($pjurl == '1') { $RURL = JURI::base(); } else { $RURL = JURI::base(true) . '/'; } $pj_hlp->init($RURL); $nofl = $pj_hlp->nofl($nofl); $nmaprfile = $params->get('nmaprfile'); if (!empty($nmaprfile)) { $nmaprfile = $RURL . $nmaprfile; } else { $nmaprfile = ""; } $debug_key = ""; $debug_key = JRequest::getVar('pj', '', 'get'); $nmapint = $params->get('nmapint'); $pbgc1 = $params->get('pbgc1'); $pbgc2 = $params->get('pbgc2'); $pbga = $params->get('pbga'); $pbgc3 = $params->get('pbgc3'); $pbgsc1 = $params->get('pbgsc1'); $pbgsc2 = $params->get('pbgsc2'); $pbgsa = $params->get('pbgsa'); $pbgsc3 = $params->get('pbgsc3'); $bbgc1 = $params->get('bbgc1'); $bbgc2 = $params->get('bbgc2'); $bbga = $params->get('bbga'); $bbgc3 = $params->get('bbgc3'); $bisc1 = $params->get('bisc1'); $bisc2 = $params->get('bisc2'); $bisa = $params->get('bisa'); $bisc3 = $params->get('bisc3'); $bbghc1 = $params->get('bbghc1'); $bbghc2 = $params->get('bbghc2'); $bbgha = $params->get('bbgha'); $bbghc3 = $params->get('bbghc3'); $bic1 = $params->get('bic1'); $bia = $params->get('bia'); $bich = $params->get('bich'); $bicha = $params->get('bicha'); $globaltextc = $params->get('globaltextc'); $sbgc1 = $params->get('sbgc1'); $sbgc2 = $params->get('sbgc2'); $sbga = $params->get('sbga'); $sfc1 = $params->get('sfc1'); $svc2 = $params->get('svc2'); $sfa = $params->get('sfa'); $sspc1 = $params->get('sspc1'); $sspc2 = $params->get('sspc2'); $sspa = $params->get('sspa'); $sbc1 = $params->get('sbc1'); $vbgc1 = $params->get('vbgc1'); $vbgc2 = $params->get('vbgc2'); $vbga = $params->get('vbga'); $vbgc3 = $params->get('vbgc3'); $vsbgc1 = $params->get('vsbgc1'); $vsbgc2 = $params->get('vsbgc2'); $vsfc1 = $params->get('vsfc1'); $vsfc2 = $params->get('vsfc2'); $lbgc1 = $params->get('lbgc1'); $lbgc2 = $params->get('lbgc2'); $lbga = $params->get('lbga'); $lbgc3 = $params->get('lbgc3'); $lsbc1 = $params->get('lsbc1'); $lsba = $params->get('lsba'); $lsbgc1 = $params->get('lsbgc1'); $lsbga = $params->get('lsbga'); $libg = $params->get('libg'); $libga = $params->get('libga'); $libgac = $params->get('libgac'); $libgaa = $params->get('libgaa'); $roundness = $params->get('roundness'); $nmapsetperms = $params->get('nmapsetperms'); $nmapfenupf = $params->get('nmapfenupf'); $nmapfenufo = $params->get('nmapfenufo'); $nmapfenufau = $params->get('nmapfenufau'); $nmapfilter = base64_encode($params->get('nmapfilter')); $pmapjspbg = $params->get('pmapjspbg'); $pmapjstbg = $params->get('pmapjstbg'); $pmapjstsz = $params->get('pmapjstsz'); $pmapjsttsz = $params->get('pmapjsttsz'); $pmapjq = $params->get('pmapjq'); $pmapjqv = $params->get('pmapjqv'); $loadscript = $params->get('loadscript'); $pmap5w = $params->get('pmap5w', '325px'); $pmap5ww = $params->get('pmap5ww', '174px'); $pmap5h = $params->get('pmap5h', $nmapheight . 'px'); $nmapamzs = $params->get('nmapamzs'); $nmapamzk = $params->get('nmapamzk'); $nmapamzsk = $params->get('nmapamzsk'); $nmapamzbck = $params->get('nmapamzbuck'); $nmapamzbcke = $params->get('nmapamzbuckend'); $nmapamzsmpo = $params->get('nmapamzsmpo'); $pmapedl = $params->get('pmapedl'); $key = "xCv"; $nmapid = rand(1, 99); if ($nmapsetperms == 1) { $pj_hlp->setperms(JPATH_BASE . "/modules/mod_nmap/audio/nmapl.php"); $pj_hlp->setperms(JPATH_BASE . "/modules/mod_nmap/audio/popup.php"); } if ($debug_key == "pmap") { echo $pj_hlp->debug('Pro Magic Audio Player', 'mod_nmap', 'no', $document); return; } $compat = $pj_hlp->mode($vscript, 'mod_nmap'); if ($nmapesc == '1') { if ($nmapestype == '1') { $nmapdira = $nmapdir; for ($x = 1; $x < 5; $x++) { $c_folder = $params->get('nmapfo' . $x); $c_st = $params->get('nmapsc' . $x); preg_match_all('/(?P<year>[0-9]{4})-(?P<month>[0-9]{1,2})-(?P<day>[0-9]{1,2})(\s(?P<hour>[0-9]{1,2})(\:(?P<minute>[0-9]{1,2}))?)?/i', $c_st, $c_starttime); $c_startstamp = mktime($c_starttime["hour"][0], $c_starttime["minute"][0], 0, $c_starttime["month"][0], $c_starttime["day"][0], $c_starttime["year"][0]); if ($c_folder != "") { $stof[$c_startstamp] = $c_folder; } } if (!empty($stof)) { ksort($stof); foreach ($stof as $ts => $fo) { if (time() > $ts && !empty($fo)) { $nmapdira = $fo; } } } } elseif ($nmapestype == '0') { $nmapdira = $nmapdir; for ($x = 1; $x < 5; $x++) { $c_folder = $params->get('nmapfo' . $x); $c_st = $params->get('nmapsc' . $x); preg_match_all('/(?P<year>[0-9]{4})-(?P<month>[0-9]{1,2})-(?P<day>[0-9]{1,2})(\s(?P<hour>[0-9]{1,2})(\:(?P<minute>[0-9]{1,2}))?)?/i', $c_st, $c_starttime); $c_startstamp = mktime($c_starttime["hour"][0], $c_starttime["minute"][0], 0, $c_starttime["month"][0], $c_starttime["day"][0], $c_starttime["year"][0]); if ($c_folder != "") { $stof[$c_startstamp] = $c_folder; } } if (!empty($stof)) { ksort($stof); foreach ($stof as $ts => $fo) { if (time() < $ts && !empty($fo)) { $nmapdira = $fo; break; } } } } } else { $nmapdira = $nmapdir; } $nmapdira = trim($nmapdira, '\\/'); $nmapdirb = '0'; $combined = $nmaptyp . "*" . $nmapamzs . "*" . $nmapamzk . "*" . $nmapamzsk . "*" . $nmapamzbck . "*" . $nmapamzbcke . "|" . $nmapwidth . "|" . $nmaplay . "|" . $nmapstyle . "|" . $nmapdira . "|" . $nmaprfile . "*" . $nmapint . "*" . $nmapvol . "*" . $nmapformat . "*" . $nmaprecurse . "*" . $nmapid3 . "*" . $nmapreclimit . "*" . $nmapsonginfo . "*" . $nmapfilter . "|" . $nmaptrim . "|" . $nmaprepeat . "|" . $nmapshuffle . "|" . $nmacomp . "|" . $nmalsthgt . "|" . $nmascrltit . "|" . $nmapvolhgt . "|" . $nmapplbwdt . "|" . $nmapflyout . "|" . $nmapdisptime . "|" . $nmapheight; if ($nmapstyle == "x") { $combined = $combined . "|" . $pbgc1 . "|" . $pbgc2 . "|" . $pbga . "|" . $pbgc3 . "|" . $pbgsc1 . "|" . $pbgsc2 . "|" . $pbgsa . "|" . $pbgsc3 . "|" . $bbgc1 . "|" . $bbgc2 . "|" . $bbga . "|" . $bbgc3 . "|" . $bisc1 . "|" . $bisc2 . "|" . $bisa . "|" . $bisc3 . "|" . $bbghc1 . "|" . $bbghc2 . "|" . $bbgha . "|" . $bbghc3 . "|" . $bic1 . "|" . $bia . "|" . $bich . "|" . $bicha . "|" . $globaltextc . "|" . $sbgc1 . "|" . $sbgc2 . "|" . $sbga . "|" . $sfc1 . "|" . $svc2 . "|" . $sfa . "|" . $sspc1 . "|" . $sspc2 . "|" . $sspa . "|" . $sbc1 . "|" . $sbc2 . "|" . $sbc3 . "|" . $vbgc1 . "|" . $vbgc2 . "|" . $vbga . "|" . $vbgc3 . "|" . $vsbgc1 . "|" . $vsbgc2 . "|" . $vsfc1 . "|" . $vsfc2 . "|" . $vsbc1 . "|" . $vsbc2 . "|" . $lbgc1 . "|" . $lbgc2 . "|" . $lbga . "|" . $lbgc3 . "|" . $lsbc1 . "|" . $lsba . "|" . $lsbgc1 . "|" . $lsbga . "|" . $libg . "|" . $libga . "|" . $libgac . "|" . $libgaa . "|" . $roundness . "|" . $nmapid; } else { $combined = $combined . "|" . $nmapid; } $combined = str_replace('#', '', $combined); $defbg = str_replace('#', '', $defbg); $string = $combined; $j = null; $hash = null; $key = sha1($key); $strLen = strlen($string); $keyLen = strlen($key); for ($i = 0; $i < $strLen; $i++) { $ordStr = ord(substr($string, $i, 1)); if ($j == $keyLen) { $j = 0; } $ordKey = ord(substr($key, $j, 1)); $j++; $hash .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36)); } $send = $hash; $xmlurl = $send; $playerurl = $RURL . "modules/mod_nmap/audio/nmaplayer.swf?id=$nmapid"; //align and expressinstall $plyid = 'pmap_' . $module->id . '_' . rand(1, 999); $divid = 'al' . $plyid; $onthefly = '#' . $divid . ' { text-align: ' . $objalign . '; }'; $document->addStyleDeclaration($onthefly); $expinst = $RURL . "modules/mod_nmap/audio/exp.swf"; // if (preg_match('/(iphone|ipad|ipod|android)/i', $_SERVER['HTTP_USER_AGENT']) || $params->get('html5') == '1') { if ($nmapwintype == 'popup' || $nmapwintype == 'html5pop') { $nmapwintype = 'html5pop'; } else { $nmapwintype = 'html5'; } } if ($nmapwintype == "normal" || $nmapwintype == "normalmixed") { if ($compat == 'yes') { $nmapsound .= '<div class="pmap' . $sfxclass . '" id="' . $divid . '"> <object style="outline:none;" type="application/x-shockwave-flash" id="' . $plyid . '" data="' . $playerurl . '" width="' . $nmapwidth . '" height="' . $nmapheight . '"> <param name="movie" value="' . $playerurl . '" /> <param name="base" value="' . $RURL . '" /> <param name="wmode" value="transparent" /> <param name="flashvars" value="uid=' . $xmlurl . '" /> <p>' . $nofl . '</p> </object></div>'; } else { $nmapsound .= '<div class="pmap' . $sfxclass . '" id="' . $divid . '"><div id="' . $plyid . '">' . $nofl . '</div> <script type="text/javascript"> var flashvars = { uid: "' . $xmlurl . '", align: "' . $objalign . '" }; var params = { base: "' . $RURL . '", wmode: "transparent" }; var attributes = { style: "outline:none;" }; swfobject.embedSWF("' . $playerurl . '", "' . $plyid . '", "' . $nmapwidth . '", "' . $nmapheight . '", "8.0.0", "' . $expinst . '", flashvars, params, attributes); </script></div>'; } } if ($nmapwintype == "popup" || $nmapwintype == "normalmixed") { if (empty($nmapptitle)) { $nmapptitle = 'Pro Magic Audio Player'; } $pmap_pop = 'nmapopup'; if ($nmapopt == '1') { $pmap_pop = 'nmapopup_' . rand(100, 999); } $url = strtr(base64_encode(addslashes(gzcompress(serialize($RURL), 9))), '+/=', '-_,'); $popurl = $RURL . "modules/mod_nmap/audio/popup.php?uid=" . $send . "&url=" . $url . "&plw=" . $nmapwidth . "&plh=" . $nmapheight . "&bgc=" . $defbg . "&tit=" . $nmaptitle; $buturl = $RURL . "modules/mod_nmap/audio/$nmapbut"; $popwidth = $nmapwidth + $nmapwcor; $popheight = $nmapheight + $nmapwcor; $nmapsound .= "<div id=\"".$divid."_pop\"><a href=\"JavaScript:void(0);\" onclick=\"nmapopup=window.open('$popurl','$pmap_pop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=$popwidth,height=$popheight,left=50,top=50'); return false;\"><img style=\"outline:none;\" src=\"$buturl\" border=\"0\" alt=\"Click\"/></a></div>"; } if ($nmapwintype == "html5" || $nmapwintype == "html5pop" || $nmapwintype == "html5mixed") { require_once (JPATH_BASE . '/modules/mod_nmap/audio/nmapl.php'); $getID3 = new getID3; if ($nmaprecurse == 1) { $recursivity = true; if ($nmapreclimit != 0) { $recursivity = $nmapreclimit; } } if ($nmapamzs == 1) { $mode = 'amazon'; } elseif (preg_match('/(https|http):\/\/www\.dropbox\.com/i', $nmapdira)) { $mode = 'dropbox'; } elseif (preg_match('/http:/i', $nmapdira)) { $allfilesnopath = file_get_contents($nmapdira . "?rec=" . (int)$nmaprecurse . "&reclim=" . $nmapreclimit . "&nform=" . $nmapformat . "&nsinfo=" . $nmapsonginfo . "&nshuffle=" . $nmapshuffle . "&nh5=1"); $allfilesnopath = unserialize($allfilesnopath); $mode = 'remote'; } elseif (is_dir($nmapdira)) { $oggfilesnopath = JFolder::files($nmapdira, 'ogg', $recursivity, true); $mp3filesnopath = JFolder::files($nmapdira, 'mp3', $recursivity, true); $sfmode = false; $mode = 'local'; } elseif (preg_match('/\.mp3$/i', $nmapdira) && file_exists($nmapdira)) { $nmapdirovr = dirname($nmapdira); $oggfilesnopath = JFolder::files($nmapdirovr, 'ogg', $recursivity, true); $mp3filesnopath = array($nmapdira); $sfmode = true; $mode = 'local'; } $user = &JFactory::getUser(); $user_id = $user->get('id'); if ($mode == 'local' && $pmapedl == '1') { $ext_jsp = 'downLoader: "' . $RURL . 'modules/mod_nmap/audio/html5/downloader.php",'; $popextjsp = true; } elseif ($mode == 'local' && $pmapedl == '2' && $user_id !== 0) { $ext_jsp = 'downLoader: "' . $RURL . 'modules/mod_nmap/audio/html5/downloader.php",'; $popextjsp = true; } elseif ($mode == 'dropbox' && $pmapedl == '1') { $ext_jsp = 'fstype: "dropx",'; $popextjsp = true; } elseif ($mode == 'dropbox' && $pmapedl == '2' && $user_id !== 0) { $ext_jsp = 'fstype: "dropx",'; $popextjsp = true; } else { $popextjsp = false; } if ($nmapwintype != 'html5pop') { if ($pmapjq == 'yes') { if ($GLOBALS['iosjq'] != "active") { $document->addScript("https://ajax.googleapis.com/ajax/libs/jquery/" . $pmapjqv . "/jquery.min.js"); $GLOBALS['iosjq'] = "active"; } } if ($GLOBALS['nmapiosjs'] != "active") { $document->addStyleSheet($RURL . "modules/mod_nmap/audio/html5/css/pmap.css"); if ($loadscript == '0') { $document->addScript("https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.js"); $document->addScript($RURL . "modules/mod_nmap/audio/html5/jsengine.js"); } else { $jsebody .= '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.js"></script>'; $jsebody .= '<script type="text/javascript" src="' . $RURL . 'modules/mod_nmap/audio/html5/jsengine.js"></script>' . "\n"; } $GLOBALS['nmapiosjs'] = "active"; } if ($loadscript == '0') { $document->addScriptDeclaration(' var $PMAPJSE = jQuery.noConflict(); $PMAPJSE(document).ready(function() { $PMAPJSE(\'#' . $divid . '\').pjpmap(myPlaylist_' . $module->id . ', { autoPlay:' . $nmaplay . ', repeatPlay:' . (($nmaprepeat == 1) ? 'true' : 'false') . ', ' . $ext_jsp . ' jPlayer:{ swfPath:\'' . JURI::base() . 'modules/mod_nmap/audio/html5/\' } }, "pmap_' . $module->id . '"); $PMAPJSE(\'#playlist-pmap_' . $module->id . '\').slimScroll({ height: \'' . $pmap5h . '\', color: \'#fff\', size: \'' . $nmapplbwdt . 'px\' }); });'); } else { $jsebody .= ' <script type="text/javascript"> var $PMAPJSE = jQuery.noConflict(); $PMAPJSE(document).ready(function() { $PMAPJSE(\'#' . $divid . '\').pjpmap(myPlaylist_' . $module->id . ', { autoPlay:' . $nmaplay . ', repeatPlay:' . (($nmaprepeat == 1) ? 'true' : 'false') . ', ' . $ext_jsp . ' jPlayer:{ swfPath:\'' . JURI::base() . 'modules/mod_nmap/audio/html5/\' } }, "pmap_' . $module->id . '"); $PMAPJSE(\'#playlist-pmap_' . $module->id . '\').slimScroll({ height: \'' . $pmap5h . '\', color: \'#fff\', size: \'' . $nmapplbwdt . 'px\' }); }); </script>'; echo $jsebody; } $jseplbg = '.pjpmap-pmap_' . $module->id . '{ width:' . $pmap5w . '; background: none repeat scroll 0 0 ' . $pmapjspbg . ';} .tracks-pmap_' . $module->id . ' { font-size: ' . $pmapjstsz . 'px; color:' . $pmapjstbg . ';} .pjpmap .track-info { font-size : ' . $pmapjsttsz . 'px; } .pjpmap .progress-wrapper{width:' . $pmap5ww . ';}'; $document->addStyleDeclaration($jseplbg); echo '<div id="' . $divid . '"></div>'; } if ($mode == 'local') { foreach ($oggfilesnopath as $oggfilenp) { $oggfiles[] = str_replace('\\', '/', JURI::base() . $oggfilenp); } foreach ($mp3filesnopath as $mp3filenp) { $mp3files[] = str_replace('\\', '/', JURI::base() . $mp3filenp); } $mpjs = "var myPlaylist_$module->id = ["; if (!empty($mp3files)) { foreach ($mp3files as $mp3file) { $file = $mp3file; $oggctpt = str_replace('.mp3', '.ogg', $file); $ThisFileInfo = $getID3->analyze(str_replace(JURI::base(), JPATH_BASE . '/', $file)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; $filearray = titlebuild($nmapid3, $nmapsonginfo, str_replace(JURI::base(), JPATH_BASE . '/', $file), $nmaptrim); $artists[] = $filearray['artists']; $titles[] = $filearray['titles']; $albums[] = $filearray['albums']; $sortarray[] = str_replace(JURI::base(), JPATH_BASE . '/', $file); if (preg_match('/ - /', $filearray['filetitle'])) { $titleparts = explode(" - ", $filearray['filetitle']); $artist = $titleparts[0]; $title = $titleparts[1]; } else { $title = $filearray['filetitle']; $artist = ""; } if (is_file(str_replace(JURI::base(), JPATH_BASE . '/', $oggctpt))) { $oggctpt = str_replace('\\', '/', $oggctpt); $ridx = array_search($oggctpt, $oggfiles); if ($ridx !== false) { unset($oggfiles[$ridx]); unset($ridx); } $mpar[] = "{ mp3:'" . utf8_encode(addslashes($file)) . "', oga:'" . utf8_encode(addslashes($oggctpt)) . "', title:'" . $pj_hlp->strenc($title) . "', artist:'" . $pj_hlp->strenc($artist) . "', duration:'" . $time . "' }"; } else { $mpar[] = "{ mp3:'" . utf8_encode(addslashes($file)) . "', title:'" . $pj_hlp->strenc($title) . "', artist:'" . $pj_hlp->strenc($artist) . "', duration:'" . $time . "' }"; } } } if (!$sfmode) { if (!empty($oggfiles)) { foreach ($oggfiles as $oggfile) { $ThisFileInfo = $getID3->analyze(str_replace(JURI::base(), JPATH_BASE . '/', $oggfile)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; $filearray = titlebuild($nmapid3, $nmapsonginfo, str_replace(JURI::base(), JPATH_BASE . '/', $oggfile), $nmaptrim); $artists[] = $filearray['artists']; $titles[] = $filearray['titles']; $albums[] = $filearray['albums']; $sortarray[] = str_replace(JURI::base(), JPATH_BASE . '/', $oggfile); if (preg_match('/ - /', $filearray['filetitle'])) { $titleparts = explode(" - ", $filearray['filetitle']); $artist = $titleparts[0]; $title = $titleparts[1]; } else { $title = $filearray['filetitle']; $artist = ""; } $mpar[] = "{ oga:'" . utf8_encode(addslashes($oggfile)) . "', title:'" . $pj_hlp->strenc($title) . "', artist:'" . $pj_hlp->strenc($artist) . "', duration:'" . $time . "' }"; } } } if (!empty($mpar)) { $mpar = nsort($nmapshuffle, $mpar, $sortarray, $artists, $titles, $albums); if (!empty($nmapint) && !empty($nmaprfile)) { $ThisFileInfo = $getID3->analyze(str_replace($RURL, JPATH_BASE . '/', $nmaprfile)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; if (isset($ThisFileInfo['comments']['title'][0])) { $title = $ThisFileInfo['comments']['title'][0]; } if (isset($ThisFileInfo['comments']['artist'][0])) { $artist = $ThisFileInfo['comments']['artist'][0]; } if (empty($title) || empty($artist)) { $title = basename($nmaprfile, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; } $i = 0; } foreach ($mpar as $mparkey => $mparentry) { if (!empty($nmapint) && !empty($nmaprfile)) { if (($i % $nmapint) == 0 && $i != 0) { $mparf[basename($nmaprfile) . $i] = "{ mp3:'" . utf8_encode(addslashes($nmaprfile)) . "', title:'" . $pj_hlp->strenc($title) . "', artist:'" . $pj_hlp->strenc($artist) . "', duration:'" . $time . "' }"; } $i++; } $mparf[$mparkey] = $mparentry; } $mpjs .= implode(', ', $mparf); } $mpjs .= "];"; } elseif ($mode == 'amazon') { if (!empty($nmapamzk) && !empty($nmapamzsk)) { require_once (JPATH_BASE . '/modules/mod_nmap/elements/S3.php'); if ($nmapamzbcke == "s3.amazonaws.com") { $nmaps3 = new S3APJ(trim($nmapamzk), trim($nmapamzsk)); } else { $nmaps3 = new S3APJ(trim($nmapamzk), trim($nmapamzsk), true, $nmapamzbcke); } if (preg_match('/\.mp3$/i', $nmapdira)) { $amz_sf_f = "https://$nmapamzbck.$nmapamzbcke/" . $nmapdira; $title = basename($amz_sf_f, '.mp3'); $title = basename($amz_sf_f, '.MP3'); $artist = ""; $mpar[] = "{ mp3:'" . utf8_encode(addslashes($amz_sf_f)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'N/A' }"; } else { if (preg_match('/(\.mp3|\.ogg)$/i', $nmapdira)) { $nmapdira = str_replace('\\', '/', dirname($nmapdira)); } $buckcontents = $nmaps3->getBucket($nmapamzbck, $nmapdira); if (!empty($buckcontents)) { foreach ($buckcontents as $amzfile) { $amzfname = $amzfile['name']; $furl = "https://$nmapamzbck.$nmapamzbcke/" . $amzfname; if (preg_match("/\.mp3$/i", $furl)) { $buckmp3[] = $furl; } elseif (preg_match("/\.ogg$/i", $furl)) { $buckogg[] = $furl; } } if ((!empty($buckmp3) && !empty($buckogg)) || (!empty($buckmp3) && $nmapamzsmpo == 1)) { foreach ($buckmp3 as $bmp3) { $bogg = str_replace('.mp3', '.ogg', $bmp3); $bogg = str_replace('.MP3', '.OGG', $bogg); if (array_search($bogg, $buckogg) !== false) { $title = basename($bmp3, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; $mpar[basename($bmp3)] = "{ mp3:'" . utf8_encode(addslashes($bmp3)) . "', oga:'" . utf8_encode(addslashes($bogg)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'N/A' }"; } elseif ($nmapamzsmpo == 1) { $title = basename($bmp3, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; $mpar[basename($bmp3)] = "{ mp3:'" . utf8_encode(addslashes($bmp3)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'N/A' }"; } } } } } $mpjs = "var myPlaylist_$module->id = ["; if (!empty($mpar)) { switch ($nmapshuffle) { case '0': { uksort($mpar, array($pj_hlp, 'scbk')); break; } case '1': { shuffle($mpar); break; } case '2': { uksort($mpar, array($pj_hlp, 'rscbk')); break; } } if (!empty($nmapint) && !empty($nmaprfile)) { $ThisFileInfo = $getID3->analyze(str_replace($RURL, JPATH_BASE . '/', $nmaprfile)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; if (isset($ThisFileInfo['comments']['title'][0])) { $title = $ThisFileInfo['comments']['title'][0]; } if (isset($ThisFileInfo['comments']['artist'][0])) { $artist = $ThisFileInfo['comments']['artist'][0]; } if (empty($title) || empty($artist)) { $title = basename($nmaprfile, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; } $i = 0; } foreach ($mpar as $mparkey => $mparentry) { if (!empty($nmapint) && !empty($nmaprfile)) { if (($i % $nmapint) == 0 && $i != 0) { $mparf[basename($nmaprfile) . $i] = "{ mp3:'" . utf8_encode(addslashes($nmaprfile)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'" . $time . "' }"; } $i++; } $mparf[$mparkey] = $mparentry; } $mpjs .= implode(', ', $mparf); } $mpjs .= "];"; } } elseif ($mode == 'dropbox') { $nmapdira = str_replace('?dl=0', '', $nmapdira); if (preg_match('/\.mp3$/i', $nmapdira)) { $mpar[] = "{ mp3 : '" . utf8_encode(addslashes($nmapdira . "?dl=1")) . "', title : '" . htmlentities(urldecode(basename($nmapdira)), ENT_QUOTES) . "', artist : '', duration : 'N/A' }"; } else { if (function_exists('curl_version')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $nmapdira); curl_setopt($ch, CURLOPT_REFERER, $nmapdira); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $dbpage_dump = curl_exec($ch); curl_close($ch); } else { $dbpage_dump = @file_get_contents($nmapdira); } if (!empty($dbpage_dump)) { $dbmp3s = array(); $dboggs = array(); preg_match_all('/<a data-media-index=".*?" href="(?P<files>.*)\?dl=0"/U', $dbpage_dump, $files); foreach ($files['files'] as $file) { if (preg_match('/\.mp3/i', $file)) { $dbmp3s[] = $file; } elseif (preg_match('/\.ogg/i', $file)) { $dboggs[] = $file; } } if ((!empty($dbmp3s) && !empty($dboggs)) || (!empty($dbmp3s) && $nmapamzsmpo == 1)) { foreach ($dbmp3s as $dbmp3) { $dbmp3 = str_replace('?dl=0', '', $dbmp3); $dbogg = str_replace('.mp3', '.ogg', $dbmp3); $dbogg = str_replace('.MP3', '.OGG', $dbogg); if (array_search($dbogg, $dboggs) !== false) { $title = basename($dbmp3, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; $mpar[basename($dbmp3)] = "{ mp3:'" . utf8_encode(addslashes($dbmp3 . "?dl=1")) . "', oga:'" . utf8_encode(addslashes($dbogg . "?dl=1")) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'N/A' }"; } elseif ($nmapamzsmpo == 1) { $title = basename($dbmp3, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; $mpar[basename($dbmp3)] = "{ mp3:'" . utf8_encode(addslashes($dbmp3 . "?dl=1")) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'N/A' }"; } } } } else { $mpar[] = "{ mp3:'" . addslashes("ERROR.mp3") . "', title:'cURL or OpenSSL libraries must be installed!', artist:'Error!', duration:'N/A' }"; } } $mpjs = "var myPlaylist_$module->id = ["; if (!empty($mpar)) { switch ($nmapshuffle) { case '0': { uksort($mpar, array($pj_hlp, 'scbk')); break; } case '1': { shuffle($mpar); break; } case '2': { uksort($mpar, array($pj_hlp, 'rscbk')); break; } } if (!empty($nmapint) && !empty($nmaprfile)) { $ThisFileInfo = $getID3->analyze(str_replace($RURL, JPATH_BASE . '/', $nmaprfile)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; if (isset($ThisFileInfo['comments']['title'][0])) { $title = $ThisFileInfo['comments']['title'][0]; } if (isset($ThisFileInfo['comments']['artist'][0])) { $artist = $ThisFileInfo['comments']['artist'][0]; } if (empty($title) || empty($artist)) { $title = basename($nmaprfile, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; } $i = 0; } foreach ($mpar as $mparkey => $mparentry) { if (!empty($nmapint) && !empty($nmaprfile)) { if (($i % $nmapint) == 0 && $i != 0) { $mparf[basename($nmaprfile) . $i] = "{ mp3:'" . utf8_encode(addslashes($nmaprfile)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'" . $time . "' }"; } $i++; } $mparf[$mparkey] = $mparentry; } $mpjs .= implode(', ', $mparf); } $mpjs .= "];"; } elseif ($mode == 'remote') { foreach ($allfilesnopath as $afnp) { if (preg_match('/ - /', $afnp['title'])) { $titleparts = explode(" - ", $afnp['title']); $artist = $titleparts[0]; $title = $titleparts[1]; } else { $title = $afnp['title']; $artist = ""; } $oggrfile = str_replace('.mp3', '.ogg', $afnp['file']); $oggrfile = str_replace('.MP3', '.MP3', $oggrfile); $mpar[basename($afnp['file'])] = "{ mp3:'" . utf8_encode(addslashes($afnp['file'])) . "', oga:'" . utf8_encode(addslashes($oggrfile)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'" . $afnp['time'] . "' }"; } $mpjs = "var myPlaylist_$module->id = ["; if (!empty($mpar)) { switch ($nmapshuffle) { case '0': { uksort($mpar, array($pj_hlp, 'scbk')); break; } case '1': { shuffle($mpar); break; } case '2': { uksort($mpar, array($pj_hlp, 'rscbk')); break; } } if (!empty($nmapint) && !empty($nmaprfile)) { $ThisFileInfo = $getID3->analyze(str_replace($RURL, JPATH_BASE . '/', $nmaprfile)); getid3_lib::CopyTagsToComments($ThisFileInfo); $minutes = (@$ThisFileInfo['playtime_seconds'] < 60) ? '0' : floor(@$ThisFileInfo['playtime_seconds'] / 60); $seconds = round(@$ThisFileInfo['playtime_seconds'] % 60); $seconds = ($seconds < 10) ? '0' . $seconds : $seconds; $time = $minutes . ':' . $seconds; if (isset($ThisFileInfo['comments']['title'][0])) { $title = $ThisFileInfo['comments']['title'][0]; } if (isset($ThisFileInfo['comments']['artist'][0])) { $artist = $ThisFileInfo['comments']['artist'][0]; } if (empty($title) || empty($artist)) { $title = basename($nmaprfile, '.mp3'); $title = basename($title, '.MP3'); $artist = ""; } $i = 0; } foreach ($mpar as $mparkey => $mparentry) { if (!empty($nmapint) && !empty($nmaprfile)) { if (($i % $nmapint) == 0 && $i != 0) { $mparf[basename($nmaprfile) . $i] = "{ mp3:'" . utf8_encode(addslashes($nmaprfile)) . "', title:'" . htmlentities(urldecode($title), ENT_QUOTES) . "', artist:'" . htmlentities(urldecode($artist), ENT_QUOTES) . "', duration:'" . $time . "' }"; } $i++; } $mparf[$mparkey] = $mparentry; } $mpjs .= implode(', ', $mparf); } $mpjs .= "];"; } if ($nmapwintype != 'html5pop') { $document->addScriptDeclaration($mpjs); } if ($nmapwintype == 'html5pop' || $nmapwintype == "html5mixed") { $pmap_pop = 'nmapopup'; if (empty($nmapptitle)) { $nmapptitle = 'Pro Magic Audio Player'; } if ($nmapopt == '1') { $pmap_pop = 'nmapopup_' . rand(100, 999); } $buturl = $RURL . "modules/mod_nmap/audio/$nmapbut"; $popwidth = $nmapwidth + $nmapwcor; $popheight = $nmapheight + $nmapwcor; $popbuff = '<!DOCTYPE html> <html> <head> <title>' . $nmaptitle . '</title> <base href="' . $RURL . '" /> <link rel="stylesheet" href="' . $RURL . 'modules/mod_nmap/audio/html5/css/pmap.css" type="text/css" /> <script type="text/javascript" src="https://code.jquery.com/jquery-1.8.1.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.js"></script> <script type="text/javascript" src="' . $RURL . 'modules/mod_nmap/audio/html5/jsengine.js"></script> <style type="text/css"> .pjpmap-pmap_' . $module->id . '{ width:' . $pmap5w . '; background: none repeat scroll 0 0 ' . $pmapjspbg . ' ; } .tracks-pmap_' . $module->id . '{ color:' . $pmapjstbg . '; } .pjpmap .progress-wrapper { width:' . $pmap5ww . '; } #' . $divid . '{ text-align:' . $objalign . '; } </style> <script type="text/javascript"> var $PMAPJSE = jQuery.noConflict(); $PMAPJSE(document).ready(function() { window.innerWidth = ' . $popwidth . '; window.innerHeight = ' . $popheight . '; $PMAPJSE("#' . $divid . '").pjpmap(myPlaylist_' . $module->id . ', { autoPlay:' . $nmaplay . ', repeatPlay:' . (($nmaprepeat == 1) ? "true" : "false") . ', ' . $ext_jsp . ' jPlayer:{ swfPath:"' . JURI::base() . 'modules/mod_nmap/audio/html5/" } }, "pmap_' . $module->id . '"); $PMAPJSE("#playlist-pmap_' . $module->id . '").slimScroll({ height: "' . $pmap5h . '", color: "#fff", size: "' . $nmapplbwdt . 'px" }); }); ' . $mpjs . ' </script> </head> <body bgcolor="#' . $defbg . '"> <div id="' . $divid . '"></div> </body> </html> '; if (!@JFile::write(JPATH_BASE . '/cache/mod_nmap/pmap_' . $module->id . '.html', $popbuff)) { $scontent = array("RURL" => $RURL, "playlist" => $mpjs, "id" => $module->id, "plugin" => false, "title" => $nmaptitle, "pmap5w" => $pmap5w, "pmapjspbg" => $pmapjspbg, "pmapjstbg" => $pmapjstbg, "pmap5ww" => $pmap5ww, "divid" => $divid, "objalign" => $objalign, "popwidth" => $popwidth, "popheight" => $popheight, "nmaplay" => $nmaplay, "nmaprepeat" => $nmaprepeat, "pmap5h" => $pmap5h, "nmapplbwdt" => $nmapplbwdt, "defbg" => $defbg, "popextjsp" => $popextjsp); $scontent = base64_encode(serialize($scontent)); $h5popjs = " function sendWindowContent_" . $module->id . "(){ var form = document.createElement('form'); form.method = 'POST'; form.action = '" . $RURL . "modules/mod_nmap/audio/popuphtml5.php'; form.target = '$pmap_pop'; var body = document.getElementsByTagName('body')[0]; body.appendChild(form); var sconel = document.createElement('input'); sconel.type = 'hidden'; sconel.name = 'senddata'; sconel.value = '" . $scontent . "'; form.appendChild(sconel); window.open('','$pmap_pop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=$popwidth,height=$popheight,left=50,top=50'); form.submit(); body.removeChild(form); } "; $document->addScriptDeclaration($h5popjs); $nmapsound .= "<div id=\"".$divid."_pop\"> <a href=\"JavaScript:void(0);\" onclick=\"sendWindowContent_" . $module->id . "();\"><img style=\"outline:none;\" src=\"$buturl\" border=\"0\" alt=\"Click\"/></a> </div>"; } else { $nmapsound .= "<div id=\"".$divid."_pop\"><a href=\"JavaScript:void(0);\" onclick=\"nmapopup=window.open('" . $RURL . "cache/mod_nmap/pmap_" . $module->id . ".html?cb=" . time() . "','$pmap_pop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=$popwidth,height=$popheight,left=50,top=50'); return false;\"><img style=\"outline:none;\" src=\"$buturl\" border=\"0\" alt=\"Click\"/></a></div>"; } } } $upurl = $RURL . "modules/mod_nmap/elements/fp.php?url=" . strtr(base64_encode(addslashes(gzcompress(serialize($RURL), 9))), '+/=', '-_,') . "&modid=" . $module->id; $upbut = $RURL . "modules/mod_nmap/elements/fenup.png"; $fenup = "<div align=\"$objalign\"><a href=\"javascript:void(0);\" onclick=\"nmapopup=window.open('$upurl','nmapfenup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=300,left=150,top=150'); return false;\"><img style=\"outline:none;\" src=\"$upbut\" border=\"0\" alt=\"Click\"/></a></div>"; if ($nmapfenup == '1') { $fenupxml = '<?xml version="1.0" encoding="utf-8"?>' . "\n"; if ($nmapfenupsf == '1') { $nmapfenupsf = 'true'; } else { $nmapfenupsf = 'false'; } if (empty($nmapfenupf)) { $nmapfenupf = '0'; } if ($nmapfenufo == '1') { $nmapfenupdf .= ':o'; } if ($nmapfenufau == '1') { $nmapfenupdf .= ':au'; } $nmapfenupf = str_replace(' ', '', $nmapfenupf); $fenupxml .= '<settings><defaultFolder>' . $nmapfenupdf . '</defaultFolder> <mainColor>0x000000</mainColor> <browseColor>0x2E2E2E</browseColor> <uploadColor>0x2E2E2E</uploadColor> <itemColor>0xFF0000</itemColor> <userSetFolder>' . $nmapfenupsf . '</userSetFolder> <basePath>' . base64_encode(JPATH_BASE) . '</basePath> <limitFolders>' . base64_encode($nmapfenupf) . '</limitFolders> <filetypes><label>Supported Audio (*.mp3, *.MP3, *.ogg, *.OGG)</label><type>*.mp3;*.MP3,*.ogg;*.OGG</type></filetypes></settings>'; JFile::write(JPATH_BASE . "/modules/mod_nmap/elements/fenup_" . $module->id . ".xml", $fenupxml); $user = JFactory::getUser(); $user_grps = JAccess::getGroupsByUser($user_id, false); $ingroups = false; $canchange = false; if ($user_id !== 0 && in_array($nmapfenugrp, $user_grps)){ $canchange = true; $ingroups = true; } elseif ($user_id !== 0 && in_array($nmapfenugrp2, $user_grps)){ $ingroups = true; } elseif ($user_id !== 0 && in_array($nmapfenugrp2, $user_grps)){ $ingroups = true; } if ($ingroups) { $document->addScriptDeclaration(' function fensubmit' . $module->id . '(mode){ var fenform = document.forms["feform' . $module->id . '"]; var checkboxes = document.getElementsByName("mp3s' . $module->id . '[]"); var filled = false; for (var i=0, n=checkboxes.length;i<n;i++) { if (checkboxes[i].checked){ filled = true; break; } } if (mode != undefined && filled) { fenform.fentask' . $module->id . '.value = mode; fenform.submit(); } }'); if ((isset($_POST['fentask' . $module->id]) && !empty($_POST['fentask' . $module->id])) && isset($_POST['mp3s' . $module->id])) { $mp3sd = $_POST['mp3s' . $module->id]; foreach ($mp3sd as $mp3d) { if ($_POST['fentask' . $module->id] == 'delete') { JFile::delete($mp3d); } else { if (preg_match('/(ogg|ggo|mp3|3pm)$/i', $mp3d)) { $mp3dpath = pathinfo($mp3d); JFile::move($mp3d, $mp3dpath['dirname'] . '/' . $mp3dpath['filename'] . '.' . strrev($mp3dpath['extension'])); } } } unset($_POST['mp3s' . $module->id]); unset($_POST['fentask' . $module->id]); $site = JApplication::getInstance('site'); $site->redirect(JURI::current()); } if ($nmapfenufau == 1) { if ($canchange) { $ext_inp = '<input type="button" value="Delete Selected" onclick="fensubmit' . $module->id . '(\'delete\')"/><input type="button" value="Un/Authorize" onclick="fensubmit' . $module->id . '(\'uauth\')"/>'; } else { $ext_inp = ''; } } else { $ext_inp = '<input type="button" value="Delete Selected" onclick="fensubmit' . $module->id . '(\'delete\')"/>'; } $nmapsound = '<center><form action="' . JURI::current() . '" method="post" name="feform' . $module->id . '"> <table align="' . $objalign . '" border="0"> <tbody> <tr> <td>' . $nmapsound . '</td> <td align="left" valign="top">' . $fenup . '</td> </tr>'; if ($nmapfenufl) { $nmapfenupdf = str_replace(':o', '', $nmapfenupdf); $nmapfenupdf = str_replace(':au', '', $nmapfenupdf); $nmapsound .= '<tr> <td><b>Showing files from: </b><font color="#ff0000">' . $nmapfenupdf . '</font></td> <td>' . $ext_inp . '</td> </tr>'; $mp3s = $pj_hlp->mp3_getfiles(JPATH_BASE . '/' . $nmapfenupdf, true, true); if (!empty($mp3s)) { foreach ($mp3s as $mp3) { $nmapsound .= '<tr><td align="left" ' . ((preg_match('/(3pm|ggo)$/', $mp3)) ? 'bgcolor="#FF0B0B"' : '') . ' valign="top">' . str_replace(JPATH_BASE . '/' . $nmapfenupdf . '/', "", $mp3) . '</td><td align="center" valign="top"><input type="checkbox" name="mp3s' . $module->id . '[]" value="' . $mp3 . '" /></td></tr>'; } } } $nmapsound .= '</tbody></table><input type="hidden" name="fentask' . $module->id . '" id="fentask' . $module->id . '" value=""/></form></center>'; } } echo $nmapsound;
Simpan